Open mbtodorov opened 2 weeks ago
Hi @mbtodorov,
Do the events (view events, action events, etc) after your call to setUserInfo
have the appropriate user information, but this information isn't being applied to the entire session?
I do think this is intended behavior, but I will look into whether there's a workaround or query you can do that will get you the information you need.
Do the events (view events, action events, etc) after your call to setUserInfo have the appropriate user information
Thats a good question, forgot to post a screenshot of that. The events themselves also dont have any user info attached.
I do think this is intended behavior, but I will look into whether there's a workaround or query you can do that will get you the information you need.
This will be much appreciated, thank you. I tried finding a way to force terminate the session and start a new one but couldnt find any method in the SDK.
Thats a good question, forgot to post a screenshot of that. The events themselves also dont have any user info attached.
I don't think that is correct. I will look into it.
I tried finding a way to force terminate the session and start a new one but couldnt find any method in the SDK.
There is a method you can use to stop a Datadog Session on the rum
member:
DatadogSdk.instance.rum?.stopSession();
This will stop the current session. The next user action (view change or call to addAction
) will start a new session.
@fuzzybinary thanks for the quick workaround. I am not sure how i missed that method.. I have just tested it and it works as a workaround - we can split the session in two, one part anonymous and one part authenticated. I am happy to close this issue with this.
However, let me know if you would perhaps like to keep it open, while you verify that not having the attributes attached even in the individual events is expected behaviour
I don't think that is correct. I will look into it.
Let's keep it open, as we agree the User information should be applied to all events after the call to setUserInfo
even if they aren't applied to the session itself.
Can you contact Datadog support to open an issue and point them to this Github issue? That will let us get a bit more information.
Thanks!
Describe the bug
For context, we have a flutter application with a standard JWT auth setup. We have configured to call
DatadogSdk.instance.setUserInfo
whenever we get the first access token for our session in order to distinguish anonymous vs user RUM sessions. This can either be:When doing analysis of our onboarding flow dropoff, we noticed that our user IDs are not attached to the first session of newly created accounts. Here is a screenshot:
So you can see that the upper half of that session is for an anonymous user who hasn't craeted an account yet. After the
tap on log_in button
we have a token so the app would've calledDatadogSdk.instance.setUserInfo
. However the session does not have any user attached to its attributesHere is what a session with a user looks like:
I am not sure what the expected behaviour here is? I would assume either the session gets split in two, or the user gets attributed to the anonymous events as well. But currently we are losing all data altogether, which makes it harder to measure onboarding flow drop off for those first user sessions, does that make sense?
If this is expected behaviour, is there a way to work around it? Perhaps some method in the SDK that restarts the session when the user has been identified?
Reproduction steps
Start a session as an anonymous user, and subsequently authenticate. Observe that the user attributes are not applied to the session
SDK logs
No response
Expected behavior
No response
Affected SDK versions
2.4.0, 2.5.0
Latest working SDK version
-
Did you confirm if the latest SDK version fixes the bug?
Yes
Flutter Version
3.19.6
Setup Type
Flutter Application
Device Information
seems to be device-agnostic. We've seen this happening on Android & iOS devices alike
Other relevant information
No response