question

Sebastian K. avatar image
Sebastian K. asked ·

Conditions related to session timeout in Dynatrace

Hello,

I have some question from client to clarify. In general, RUM Sessions are timeouted after 30 mins of inactivity, 200 user actions or after executing dtrum.endSession(). I’m talking about concurrent sessions count, not about licensing case here.

Our client sees some differences (6-10%) between RUM users count and their measures on Database (for example). The question is if there are any extra criteria that does not exist in documentation that may be reason of session timeout. Can we change default behavior somehow? Client needs this measure to be more accurate.

Sebastian

RUM
10 |2000000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 50.0 MiB each and 250.0 MiB total.

1 Answer

Julius L. avatar image
Julius L. answered ·

One of the reasons I can think of are sessions where RUM JS is not even injected (typically when users are running ad blockers). Your difference (6%-10%) is low and might be a result of different measurements (Dynatrace vs application itself).

Can you instead measure of service requests that would indicate for example a successful login? (that will result in a session).

6 comments Share
10 |2000000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 50.0 MiB each and 250.0 MiB total.

We see more sessions that there are on client tools :) In general number of login requests isn’t good measure because we don’t see how many users are still online and active.

Sebastian

0 Likes 0 · ·

Ok :-)

This can be explained for example by cookie settings for Dynatrace application. Cookie placement settings in Dynatrace for an application may result in truncating the sessions (dtCookie overwritten when user visits another application monitored by Dynatrace). But this depends on the application settings and how your apps are structured and which domain they are available under.

0 Likes 0 · ·

If I remember our case correctly, the application itself had multiple sub domains.
such as www.abc.com, partner.abc.com, login.abc.com.

With the default setting, the dtCookie is placed to abc.com domain. In our case we have set up different cookie placement for different applications and left the default domain placement on the domain for the master application.

If a user visited in one session two applications, order the dtCookie could be overwritten and a new session in Dynatrace was initiated.

Luckily for us this was easy to identify since we have seen a lot of sessions with a single action. By examining the Set-Cookie headers I was able to identify the cause.

Might not be your case - but you can easily get into the same situation.

0 Likes 0 · ·

Thx Julius for your tips :) I think best option for us will be using dtrum.endSession(). In general I see as well disproportion between active users measure and built in tile "Live user activity". Active users seems to be little bit more accurate than measure used in mentioned tile. I'm curious about how this is count in both ways.

Sebastian

0 Likes 0 · ·

Well, if you have the option to add DTRUM API calls to your application, it will make the session data definitely more precise. But with dtrum.endSession() be careful where you put it, you might end up with much more sessions than expected.

I still think most of RUM measurements are somehow just an "approximation" of the real state since anything can happen (network congestion, ad blockers, old browsers, javascript errors, ...). Especially if you don't have the control over browsers your users have.

0 Likes 0 · ·

I'm not counting for 100% of accuracy. But when we have 6000 live sessions in DT and 3000 real live sessions, client is starting asking questions. I understand that this is not counting real users, but active sessions. This is not working as good as google analytics for example but such feature would be nice to have ;)

Sebastian

0 Likes 0 · ·