cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Enable tracing for Java between services

cameronduff
Contributor

Hi,

We are using Dynatrace to monitor several Java Springboot microservices. Out of the box it doesn't look like Dynatrace offers deep level analysis on our Java Springboot services (even after enabling deep monitoring). Ideally, we'd like to use Dynatrace to view the path a request takes between our services (including Database requests to our MongoDBs).

Some of our services have code-level analysis on tracing (these are being picked up as Apache Tomcat) however it seems to stop once one of our Java services are called. Any ideas on how to enable tracing between our Java services (and ideally deep monitoring as well)?

Thanks 🙂

8 REPLIES 8

Yosi_Neuman
DynaMight Leader
DynaMight Leader

Hi @cameronduff 

Can you check if the spring capabilities in your environment are set on ?

 Yosi_Neuman_0-1672831278053.png

HTH

Yos

dynatrace certificated professional - dynatrace master partner - Matrix Soft Ware Division - Israel

Thanks for the reply, yes Java Spring Integration is enabled already.

I would check which technology is running on the springboot side that is receiving the messages from the Tomcat and check if it supported and its capability is set on.

If that will not work open a support ticket so someone from support can help you with visibility into your environment  

Yos

dynatrace certificated professional - dynatrace master partner - Matrix Soft Ware Division - Israel

Thanks, yeah it's turned on, I've gone through the diagnostic files and it looks like the OneAgent is unable to find the jar path and therefore can't inject into the JVM.

If your technology stack is supported, then raise a support ticket to investigate why OneAgent is failing to inject in the JVM. Otherwise, you will only see the opaque service data as on your screenshot below (FYI - this is captured from the calling side only).

Certified Dynatrace Master | Alanata a.s., Slovakia, Dynatrace Master Partner

Thanks Julius, I'll raise a support ticket.

tibebe_m_digafe
Advisor

Hi, 

It may be related to service detection: web service request vs web service. In my specific case, the springboot controllers were getting detected as "web services" and had to have a rule to detect as 'web service requests".

https://www.dynatrace.com/support/help/how-to-use-dynatrace/services/service-detection-and-naming

Config API : /service/detectionRules/FULL_WEB_SERVICE

Sample request body

{
  "type": "FULL_WEB_SERVICE",
  "name": "controllers-service-xyz-rule",
  "description": "Rule for xxxxx",
  "enabled": true,
  "detectAsWebRequestService": true,
  "managementZones": [
    "MZ01"
  ],
  "conditions": [
    {
      "attributeType": "WEBSERVICE_NAME",
      "compareOperations": [
        {
           "type": "STRING_CONTAINS",
           "invert": "false",
           "ignoreCase": "true",
           "values": [
               "Controller1",
               "Controller2",
               "Controller3"
            ]
        }
      ]
    }
  ]
}

Thanks. Tibebe

Hi Tibebe,

Thanks for the response. Unfortunately both services (one with and one without deep monitoring) are being picked up as web request services!