-
Notifications
You must be signed in to change notification settings - Fork 20
Description
Hey, first of all - thanks for the open sourced SDK. We have encountered 2 challenges on which hopefully you could give us some clarity.
I understand these are generic questions since you don't see the actual implementation, I'm trying to pinpoint the issue. If you need more implementation details feel free to ask.
1. Span status
Please correct me if I'm wrong, but as far as I can see on one side on Android we are unable to set the EmbraceSpan status explicitly to Ok so all our spans on backend are received as either Error or Unset. On the other side, on iOS SDK spans have status code set to Ok automatically and are received on backend side with either status code Ok or Error.
If this is correct observation, is there any specific reason why there is missalignment in the two platform implementations? Can we somehow override status on Android side to have consistend mapping on the backend?
Will Android SDK ever send status Ok for some spans?
2. Span duration
- We are trying to measure a certain screen load time
- We start the span in the activity's
onCreatemethod - The span is started with
autoTerminationMode = AutoTerminationMode.ON_BACKGROUND(to be sure it's closed automatically) - We stop the span when either data is rendered on the screen, error is shown, or the activity's
onPauseis called (in case auto termination fails for some reason)
With this implementation, on the backend we see some outliers with spans (5-10 spans per week) lasting from couple of hours up to 8 hours (which is weird because users would have to be in the application doing nothing for couple of hours).
- Is there any known issue/limitation related to very long span durations reported by the Embrace SDK?
- Will auto termination ever fail?
- Does Embrace SDK somehow cache spans that are not sent in a session?
Any other additional info on the problem with long spans is appreciated.