24 Mar 2020 01:09 PM - last edited on 10 Jun 2021 04:55 AM by MaciejNeumann
We have an application, say "XYZ" which is now running as spring boot app in our environment. We quickly realized that we hit a roadblock with dynatrace when we migrate off Websphere.
We managed to do the following:
One outstanding issue that is a deal breaker for us is that dynatrace is creating a service for each controller within the spring boot app (see screenshot below).
The main issue with that is certain things like “pure path” (which is the heart of debugging for an application) doesn’t work very well. You can’t see purepath for entire app. You have to go service by service. So, only way to find your request is to know which controller it came from. If anyone knows if this is possible please let me know. Support told me it is not.
I have been on support with dynatrace going in circles for a couple of days. It looks like it is possible to fix via defining detection rules but there are no screens to do this. This must be done via API calls to dynatrace https://www.dynatrace.com/support/help/extend-dynatrace/dynatrace-api/configuration-api/application-...
Solved! Go to Solution.
You could merge the different services using the API. However I would not recommend that, dynatrace is splitting them for a reason, and for springboot it acutally works quite well based on the controller annotations.
With the fine grained services you get fine grained baselines, so dynatrace can tell you exactly where a issue is in case of a problem.
You still get the full end-to-end view via the service flow and PurePath. Just drill into the PurePath view from the first service that was called. An example:
Serviceflow from an application with many services:
Example PurePath spanning multiple services:
This is exactly what we were looking for. The only issue is that on our end we can't see "filter by user action".
However, the app is indeed aware of user actions:
I think in your screenshot every call starts from apache http server. In our case http server is on another physical host that doesn't have license for dynatrace. So our flow is a bit different.
That shouldn't make a difference. I can't think of a reason currently why the User Action Filter would be missing.
If you open a Service Backtrace from one of the service, can you see the user actions it is calles from? e.g.:
Have you set up Dynatrace using OneAgent or AppMon? I've setup Dynatrace using OneAgent and our boot application is running within a Docker Container on AWS/Kubernetes. Dynatrace is not recognizing the boot application as an application, but it only shows it as a service and with it being reported as a Service only I do not get deep insights like you have above of the REST API Service Flow breakdown. How do I get my String boot app to be recognized as an Application in Dynatrace with all the REST Service flows?
You should have the Service Flow no matter if there is an application recognized or not. You can open the service flow from any service, and it will show all the services that are called by the selected service.