24 Feb 2020 03:05 PM
I have a .Net application that runs directly on users PCs, and communicates directly with stored procedures in a Database. It does not invoke any service on a Dynatrace monitored host. The users PCs of course don't have OneAgents installed.
I'm pretty sure that I cannot use the OneAgent SDK, as no OneAgent is running on the client PC.
But I should be able to use OpenKit to get the sessions. In this case though, I wouldn't be able to trace database requests out of the box, as the OneAgent SDK does, eventually having to do it manually as a childAction, as described in:
Any insight if this is the best approach? Has anyone done this rootActionName / childActionName differentiation and can tell how it shows on the waterfalls?
Solved! Go to Solution.
24 Feb 2020 05:09 PM
Definitely the OpenKit is suited for your case. OneAgent SDK is only for the situations you have OneAent running on the host, which is typically not the case of an end user PC.
Since you are calling the database directly, there is currently not a better solution in two tier applications. You can also push additional metadata to your user actions that will solve
The best way is try the OpenKit samples in your environment to try it out. There are samples included, so you can easily start.
For example the waterfall from the action including a child action, taken from example (from openkit-java) looks like this (the child action is the sleeping activity in this example):
When using openkit, the user actions should focus on user interactions with the applications. I'd suggest your individual calls to the database to be child actions.
25 Feb 2020 02:37 PM
Július,
In the PIC that you show, do you have an idea if the Network Requests were obtained through IWebRequestTracer? I ask this because I was not able to find the page where this image is referenced.
25 Feb 2020 03:17 PM
This image was taken from my tenant after running the example from openkit-java:
https://github.com/Dynatrace/openkit-java/blob/release/1.4/samples/SimpleSample.java
Network requests are obtained via the IWebRequestTracer. You can trace only web requests (connections to URLs). So for other connection types, you need just to encapsulate them as a child actions.
25 Feb 2020 04:38 PM
Great! Looks pretty clear. Thanks!