Customer @yair_mashmor found on com.apigee.kernel.MicroKernel process one opaque service (Web service) while other service (Web request service) is fully monitored.
Thanks for you input in advance
Solved! Go to Solution.
@Yosi_Neuman opaque means Dynatrace detected the service from client-side only. Based on the destination hostname/ip address and port it is able to "bind" the opaque service to the process and hosts where it is processed.
Most likely the reason for that is that the technology itself is not supported hence Dynatrace does not create the "entry point" and it is not able to trace requests. Also if the process is not yet restarted or there are some instrumentation issues.
AFAIK technology is set per process and not service. In this case on the very same process there is one service with deep monitoring enabled while other service is marked as opaque. Hence its look for me not an issue of not supported technology but one of Other reasons services may be classified as opaque and the question is where can we find (in SA ?!) what is the reason for this service to be mark as opaque.
Thanks for your inputs.
I don't know the Apigee technology, but there still can be event HTTP services which are implemented in a way unknown to Dynatrace. For example WSO2 API Gateway behaves still the same way.
If there are many of requests to the port you can use Method Hotspot to find the classes and methods. You can define a custom service which will help you to track it from the process itself. But without custom instrumentation (using either opentelemetry or OneAgent SDK) or having Dynatrace to support this particular service implementation, your traces won't connect.
Thanks @Julius_Loman for the further explanations.
But for me the question about how can we find what is the reason for this service to be mark as opaque is still unanswered 🙄
@Yosi_Neuman the reason is - it's not detected on the server side 😀 But I guess you want a more detailed answer why - so you need to dig into the application to find out how requests to that port are processed and find if Dynatrace has out-of-box instrumentation support for that. Sorry, it's not that simple. Method hotspots on the process group can help you find that package/method information.
I would first to try a restart as Julius recommended above. Also, I think you will most likley need a custom service.
Custom service won't help, since the traces won't be connected. You might have traces staring at the apigee process, but definitely the client side calls won't be connected.
Good point then you will probably need OneAgent SDK for trace stitching.