06 May 2025 02:19 PM
1 – Unique (VIP) users for web application as user tagging with cookie or javascript ?
2 - Application Logic Issue (Response Status 400 & Error Message)
Solved! Go to Solution.
06 May 2025 03:42 PM - edited 06 May 2025 03:43 PM
Hi @Adi_10
I hope I can help with what I understood from the questions
1 – Unique (VIP) users for web application as user tagging with cookie or javascript ?
There are several ways to capture the UserTag depending on the website. They all complement each other, since the UserTag will ultimately be unique, and you can implement different configurations to capture the UserTag without any problem (I believe a maximum of 20 configurations).
More information : https://docs.dynatrace.com/docs/shortlink/user-tagging
If you want to implement "VIP User" , I Recommend you use User properties in the User Session
2 - Application Logic Issue (Response Status 400 & Error Message)
From the FrontEnd:
Since you have control over the logging code, you could send a Report Error to the application with the information from the "Error Message" log when 4XX cases occur and associate it with a UserAction.
By default, Report Errors affect the appendix, which will generate an alert.
However, you can also exploit the Report Error value from USQL to display it in Dashboards and/or consider creating a metric and then an alert.
Front the BackEnd:You can ingest all or just the cases with some 4xx details from the Dynatrace log, and then structure or enhance the information with DQL.
Finally, create an alert for this log information (event extraction from OpenPipeline or Settings/Log Monitoring/Events extraction).
More Information: https://docs.dynatrace.com/docs/shortlink/log-management-and-analytics
This means installing OneAgent, extensions, logs, application monitoring (frontend), setting up custom alerts, extensions, etc. The more you monitor with Dynatrace, the more information it will have to automatically identify the root cause.
From the FrontEnd:
If you have already instrumented the application, Dynatrace will detect the "Web Request" to that "Google" provider and can provide you with relevant information if any endpoint calling that provider experiences issues.
From the BackEnd:
Dynatrace captures the traffic of your application's calls to this external service, providing response times, errors, and volumetrics in a Full Stack monitoring. If those calls to this destination fail, Dynatrace will detect it by default, or you can create a Metric Event if you require further customization.
06 May 2025 07:10 PM - edited 06 May 2025 07:38 PM
Hi @PierreGutierrez ,
i have recently added CSS selector and it's working perfectly fine with getting user by user mail id.
Also, many of my application do not show username or mail id after login to application,
They only show user profile Icon for logout.
For this case I am going to need JavaScript variable, and the Server-side Request attribute
Could you please enlighten on this?
Thank u so much 🙂
08 May 2025 10:11 PM
Hi @Adi_10
Great! I'm glad it's working for you now.
Dynatrace has the ability to capture the UserID at different points in the application and in different ways for the scenario you mention.
Answering your questions:
Javascript :
1. Identify the variable or code in the JavaScript where the userTag is located. (Example: currentUser.tag)
2. Configure "currentUser.tag" in Dynatrace
Dynatrace will evaluate this variable in the context of the user's browser. When it detects that currentUser.id has a defined value, it will automatically assign it as the session's User Tag.
Server-side Request attribute
Dynatrace will use a Request Attribute to define the UserTag. This means that a value captured from the Backend (Service) will be used as the UserTag.
1. Configure a Request Attribute (Make sure it has one of the "Server-side" options).
2. Once this is done, the Request Attribute option will appear in the User Tag section of the Web Application.
More Information: https://docs.dynatrace.com/docs/shortlink/user-tagging#add-a-user-tag-rule
I hope it's helpful 💪