Dynatrace PurePath 4 seamlessly integrates OpenTracing data emitted by auto- and custom-instrumentation of Java source code. This eliminates blind spots and provides observability for heterogeneous microservice architectures.
Cloud-native technologies and microservice architectures have shifted technical complexity from the source code of services to the interconnections between services. For example, to address challenges like asynchronous communications or security and isolation in microservice architectures, organizations often introduce third-party libraries and frameworks like Hazelcast IMDG. However, such heterogeneity of interconnected software services can lead to visibility gaps in end-to-end traces, which create blind spots and make it difficult for organizations to keep their software services running and their customers happy.
Dynatrace is fully committed to the OpenTelemetry community and to the seamless integration of OpenTelemetry data, including ingestion of custom metrics, into the Dynatrace open analytics platform. We also want to provide best-in-class end-to-end observability insights to our customers who rely on third-party libraries and frameworks that are equipped with OpenTracing pre-instrumentation.
Therefore, we’re happy to announce support for OpenTracing data that’s emitted by auto- and custom-instrumentation of Java source code with Dynatrace PurePath 4, our distributed tracing and code-level analysis technology. OneAgent enriches OpenTracing data with additional information, for example, trace-level data like method hotspots and CPU analysis, and enables full end-to-end view of transactions in hybrid deployments where not all services have OpenTracing enabled.
Observability for heterogeneous cloud-native technologies is key
Let’s consider the business challenges of an online shop that is powered by a microservice architecture where several instances of each microservice run, including the shopping cart service, to ensure the highest possible availability. To address potentially high numbers of requests during online shopping events like Singles Day or Black Friday, it’s crucial that this online shop have a memory storage strategy that allows for speed, scaling, and resilience of all microservices, especially the shopping cart service. To address these types of challenges, organizations typically introduce third-party libraries and frameworks like Hazelcast IMDG.
Since “hope is not a strategy” when it comes to running software services, you need to eliminate bad monitoring and instead establish an observability strategy for your services, as well as for involved third-party libraries and frameworks, that provides actionable answers instead of just more data.
Announcing seamless integration of OpenTracing data into Dynatrace PurePath 4
Dynatrace provides information on every request, through every single microservice or serverless function, ultimately eliminating existing blind spots or visibility gaps in end-to-end traces. Support of W3C Trace Context ensures end-to-end visibility, even when services from other teams (which may be monitored with other solutions) are called in the middle of transactions.
The seamless integration of OpenTracing traces that are emitted by third party libraries and frameworks like Hazelcast into PurePath 4 enables powerful analytics, including:
- Out-of-the-box service hotspot analysis
- Deep-code execution details
- Always-on profiling in transaction context
On top of that, no manual configuration is required for tapping into OpenTracing pre-instrumentation and using captured trace data for the elimination of blind spots. Dynatrace OneAgent, our continuous auto-discovery and auto-instrumentation technology, instruments the OpenTracing API (more specifically, the OpenTracing GlobalTracer component) and ensures seamless integration of OpenTracing trace data into PurePath 4.
With Dynatrace OneAgent you also benefit from support for traffic routing and traffic control. OneAgent implements network zones to create traffic routing rules and limit cross data-center traffic. Dynatrace OneAgent also has built-in Adaptive Traffic Management to ensure high-fidelity data capture while keeping network traffic low.
Upgrade OpenTracing instrumentation with high-fidelity data provided by OneAgent
We’ve set up a sample Java application that integrates Hazelcast to demonstrate the seamless integration of OpenTracing trace data into Dynatrace PurePath 4. The sample, a Spring app powered by two Hazelcast client instances, allows for the manipulation of a map of key-value pairs. These put and get commands are called by CronJobs every minute. The sample app relies on two Hazelcast cluster nodes. The complete setup runs as Kubernetes pods.
We’ve instrumented the sample application using OpenTracing GlobalTracer and we’ve enhanced HazelcastInstance with TracingHazelcastInstance as shown in the code snippets below.
public Tracer initTracer() {
return GlobalTracer.get();
}
HazelcastInstance hazelcastInstance;
public HazelcastInstance getTracingHazelcast() {
if (hazelcastInstance instanceof TracingHazelcastInstance) {
return hazelcastInstance;
}
hazelcastInstance = new TracingHazelcastInstance(
HazelcastClient.newHazelcastClient(),
false);
return hazelcastInstance;
}
ConcurrentMap<String, String> map = getTracingHazelcast().getMap("map");
map.put(key, value);
Once OneAgent OpenTracing support for Java is enabled (at Settings > Server-side service monitoring > Deep monitoring), OpenTracing span data captured by OneAgent is seamlessly integrated into PurePath 4. You get code-level insights into application code without code changes.
Note: This capability is limited to OpenTracing version 0.33.0 and requires OneAgent version 1.205 and Dynatrace version 1.207.
Additionally, you benefit from topological details that are related to the service at hand. For instance, you can easily investigate and navigate to the process or host where the application is running and you’ll be notified of any related problems by our Davis® AI causation engine. Dynatrace OneAgent also collects additional metadata, including span attributes, while ensuring the protection of sensitive data. You can easily control the visibility of personal data with Dynatrace data-privacy masking capabilities.
These Dynatrace capabilities, among others, enable enterprises to deliver superior user experience and resolve problems rapidly.
Try it out today
Are you new to Dynatrace? Start your free trial today—tame blind spots and visibility gaps with end-to-end observability with seamless integration of OpenTracing data.
Already a Dynatrace customer? You can start benefiting from the seamless integration of OpenTracing Java into PurePath today!
Your feedback is highly appreciated
Don’t hesitate to reach out to us with your thoughts about our latest extensions to PurePath 4 as well as the seamless integration of OpenTracing data. Please share your feedback with us at Dynatrace Community.
What’s next?
Stay tuned for upcoming announcements around OpenTracing and OpenTelemetry. For example, we’re broadening our OpenTracing capabilities toward leveraging span attributes within Dynatrace for the analysis of problematic requests.
Furthermore, the marvelous druids of the Dynatrace Go team are currently finishing up OneAgent support for for the capture of OpenTelemetry trace data. This will unlock extended end-to-end traceability for OpenTelemetry pre- and custom-instrumentation.
In the meantime, learn how you can unlock the full power of Davis for your OpenTelemetry metrics to ensure enterprise-grade observability at scale.
Looking for answers?
Start a new discussion or ask for help in our Q&A forum.
Go to forum