-
Notifications
You must be signed in to change notification settings - Fork 10
Description
Problems:
- Session signals are not appearing in console and do not appear to be sent when watching network calls
- Session ID is null for all outgoing signals
More info:
According to the documentation, SessionTrackingSignalProvider will provide session tracking if the provider is not overridden. I have not seen any signals related to sessions appearing in our Recent Signals (mainly looking for TelemetryDeck.Session.started). With sendNewSessionBeganSignal set to true, these are still not appearing in the console for our app that's using the kotlin sdk – they are appearing for the app using the swift sdk.
When using a network proxy to monitor the outgoing requests, I see sessionID as null in the outgoing signals. My understanding was that if this is not provided by us, the library should be creating a random one and attaching it to the outgoing signals.
Similarly, there are no debug logs related to starting the session (with show debug logs set to true).
Things I've tried:
I've tried changing our instantiation and startup. We specifically call TelemetryDeck.start because we are adding some prefix and parameter providers as well as setting testMode based on our environments—not just debug vs release—and removing all of this and just using the Manifest instantiation seems to have no effect on whether or not sessions are tracking like we'd expect.
I've also set breakpoints in the TelemetryDeck sdk code to understand it a little more and noticed that SessionTrackingSignalProvider observes the lifecycle but handleOnForeground is only getting called in the synchronized onStart but the app has already started by the point that the provider starts observing the process lifecycle. Because of this, I suspect that providerState is continually null/empty. I'm not sure if there's something I'm missing here.
Related but not important:
It would be nice to have sendNewSessionBeganSignal default to true, similar to swift sdk.