sentry-docs icon indicating copy to clipboard operation
sentry-docs copied to clipboard

unknown Meaning for React Native transaction.status

Open sdzhong opened this issue 3 years ago • 10 comments

Core or SDK?

Platform/SDK

Which part? Which one?

https://docs.sentry.io/platforms/react-native/performance/

Description

The transaction.status defaults to unknown and it means there were no problems. There are no details in the docs for this and "unknown" sounds very ambiguous & confusing.

Suggested Solution

Define the different values of transaction.status (like unknown) in the docs.

sdzhong avatar Feb 04 '22 00:02 sdzhong

Routing to @getsentry/team-mobile for triage. ⏲️

getsentry-release avatar Feb 04 '22 14:02 getsentry-release

Not sure if this is helpful, but @lobsterkatie mentioned this sentence is in the performance metrics documentation: Sentry treats transactions with a status other than “ok,” “cancelled,” and “unknown” as failures.

But this is in the table on this page in the developer docs linked from the section the sentence above is in: unknown or unknown_error | An unknown error raised by APIs that don't return enough error information

imatwawana avatar Feb 04 '22 14:02 imatwawana

This issue has gone three weeks without activity. In another week, I will close it.

But! If you comment or otherwise update it, I will reset the clock, and if you label it Status: Backlog or Status: In Progress, I will leave it alone ... forever!


"A weed is but an unloved flower." ― Ella Wheeler Wilcox 🥀

github-actions[bot] avatar Feb 25 '22 18:02 github-actions[bot]

We'd need to double-check if the SDK finishes its automatic transactions with a valid status or none, which would cause the unknown if not set at all, if that's the case, we'd not need to do anything in the docs.

marandaneto avatar Feb 26 '22 07:02 marandaneto

@marandaneto, is it sensible to have React Native transactions default to "ok" instead of "unknown"?

sdzhong avatar Mar 04 '22 16:03 sdzhong

@marandaneto, is it sensible to have React Native transactions default to "ok" instead of "unknown"?

Yes, actually, it should, please raise an issue on https://github.com/getsentry/sentry-react-native

marandaneto avatar Mar 05 '22 08:03 marandaneto

@imatwawana can we clarify that on the docs? we'd need to elaborate that unknown isn't actually a bad thing, it just does not have a status, but right now this is not written in the docs clearly and makes it confusing.

marandaneto avatar Mar 18 '22 12:03 marandaneto

@imatwawana can we clarify that on the docs? we'd need to elaborate that unknown isn't actually a bad thing, it just does not have a status, but right now this is not written in the docs clearly and makes it confusing.

We do already say in the metrics docs on the product side that unknown isn't a failure, so I assume you mean somewhere in the React Native docs? Where specifically in the docs does this need to be clarified? In the Verify section here or somewhere else: https://docs.sentry.io/platforms/react-native/performance/

imatwawana avatar Mar 22 '22 13:03 imatwawana

@imatwawana I believe this should be somewhere available for all SDKs, because https://docs.sentry.io/product/performance/metrics/#failure-rate is in the product docs and a bit hidden, I believe most users go directly to the SDK platform and start setting the performance feature up and get confused with the status, it's not React Native only.

We can also ask input from @sdzhong :)

marandaneto avatar Mar 22 '22 14:03 marandaneto

@sdzhong - when in the process did you hit this snag of not understanding the transaction.status? I ask so I have a sense of where this information would live.

imatwawana avatar Mar 25 '22 15:03 imatwawana

when in the process did you hit this snag of not understanding the transaction.status?

When using the Sentry UI > Performance > Transaction Summary > Event Details, seeing "unknown" there makes me think Sentry is missing instrumentation image

Note: The screenshot is from React (not React Native as mentioned in the original ticket). "unknown" status seems to be the default for multiple SDKs.

sdzhong avatar Jan 30 '24 18:01 sdzhong

@imatwawana I believe this should be somewhere available for all SDKs, because https://docs.sentry.io/product/performance/metrics/#failure-rate is in the product docs and a bit hidden, I believe most users go directly to the SDK platform and start setting the performance feature up and get confused with the status, it's not React Native only.

We can also ask input from @sdzhong :)

I agree with this. Or the SDKs should not default to unknown.

sdzhong avatar Jan 30 '24 18:01 sdzhong

@marandaneto, is it sensible to have React Native transactions default to "ok" instead of "unknown"?

Yes, actually, it should, please raise an issue on https://github.com/getsentry/sentry-react-native

Hey @marandaneto, I'm revisiting this GitHub Issue. Happy to create the GitHub Issue for React Native if it's still relevant (it's been 2 years since the initial discussion). Let me know if I should go ahead with that. Thank you!

sdzhong avatar Jan 30 '24 18:01 sdzhong

@sdzhong sorry I am no longer part of the Sentry staff. cc @krystofwoldrich

marandaneto avatar Jan 31 '24 07:01 marandaneto

Routing to @getsentry/product-owners-performance for triage ⏲️

getsantry[bot] avatar Feb 01 '24 00:02 getsantry[bot]

transaction.status has always been a problem for the frontend, and yes unknown seems wrong for a frontend, I'm guessing native is basing it off the same decisions as the js sdk, which needs to be fixed. We can look into fixing this to be closer to otel, but this is an sdk concern. The frontend usually hides "unknown" for frontend at the moment since this is considered tech debt.

I'd move this discussion to our js sdk repo, since it's still open for v8 discussion.

k-fish avatar Feb 01 '24 18:02 k-fish