With the latest Cluster Observability Operator 0.3.0 release, you can deploy a brand new Traces UI plug-in as part of the Red Hat OpenShift Container Platform web console experience. This is a great step forward as we continue to work on our mission to provide Observability as one. After releasing a Metrics UI and Logs UI, we enhance the overall Observability journey for our OpenShift users by providing the opportunity to visualize the third pillar of Observability: distributed tracing. This is a Developer Preview feature, as additional enhancements are currently being worked on.
The OpenShift distributed tracing platform is evolving. A few months back, we announced general availability of Tempo as part of the distributed tracing platform 3.0 release. While making this change, we decided to still ship the Jaeger UI as part of the Tempo operator installations due to its great ease of use and proven track record of helping many organizations in their journey to observe distributed systems. It’s also worth noting that we recently enabled the Monitor tab in the Jaeger console. This option enables visualization of span request count, duration, and error count (RED) metrics without further instrumenting your code, when combined with the Red Hat build of OpenTelemetry. In case you were wondering, all of this is also available in the recently announced lightweight Tempo monolithic deployment.
But we didn’t want to stop there. Now, by equipping users with the possibility to explore traces and spans directly in the OpenShift web console, we aim to make your experience even more enjoyable, as you can navigate metrics, logs, and traces under one console, thus being able to switch from one signal to another, based on the questions you may have, as well as leveraging additional analytics capabilities, including observability signal correlation for Red Hat OpenShift, which will support traces by the end of the year. Both the Jaeger UI deployed by the Tempo operator and the Traces UI plug-in in the OpenShift console will coexist while we work towards reaching feature parity.
Not yet sure on how Distributed Tracing can help you? Our blogs dedicated to the topic are a great starting point to embark on this journey.
Disclaimer
In the current Traces UI Developer Preview release, multi-tenancy is not yet supported. This means that in the current setup, there is no getaway when multi-tenancy is not enabled. Users can access the new Traces UI, but it will be open without any authentication.
Developer Preview: Everything you need to know
In this example, we are explaining how to install the Traces UI in OpenShift. Before that, users need to send traces to an existing distributed tracing platform (Tempo), optionally via the Red Hat build of OpenTelemetry by following the linked official instructions.
To be able to test the Developer Preview release of the Traces UI, OpenShift the next step is to install the Cluster Observability Operator. Take a look at the needed steps below. Through the operator, users can deploy a specific set of Observability UI plug-ins, including the relevant Traces UI plug-in. See Figure 1.
Next, you will need to create a UIPlugin, as displayed in Figure 2.
As you create the plug-in, make sure to name it "distributed-tracing" and select DistributedTracing as the type, as shown in Figure 3.
By following this step, this is what you can expect. The distributed tracing plug-in is now available and ready to be launched. See Figure 4.
By refreshing the UI, you will now see the magic: Observe -> Traces UI in the left hand menu is now available! As already mentioned, spans are queried from Tempo. Users can select different TempoStack
s by using the dropdown at the top.
The first visualization capability we are delivering this time is a scatter plot (or bubble chart). In this kind of representation, spans are represented as solid points (or bubbles) in which:
- The bubble size represents the size of the span.
- Colour represents status: blue means successful span, and red means that there is an error.
- The X-axis represents the timeline of when the spans were generated.
- Position in the Y-axis represents the duration of the spans.
All in all, current visualization features include the duration of traces over time, and a table including all key information you need, such as Trace ID, duration, Span count, Error count, and Start time. For more details, see Figure 5. To embed the Scatter Plot displayed below, Red Hat Observability has been contributing to Perses, an upstream project targeting observability visualization needs. Learn more about Perses in the section below.
Integrating Perses
Perses is an open source project focused on fulfilling Observability visualization needs. It aims to provide a powerful and flexible tool for creating and managing dashboards from various data sources, now including Prometheus and Tempo. Perses’ heart is its dashboards as code. It is also embeddable in NMP packages and it supports plug-ins, features that make it easier to embed dashboards in your own UI and platform. You can learn more about Perses, its origins and objectives, by watching this presentation.
Given the great set of benefits stemming from Perses, Red Hat Observability has made the decision to integrate it in the OpenShift web console. Take a look at this video to learn about the reasons why Perses was considered. Based on this context, the Observability group has been working upstream to create a datasource plug-in in Perses UI so that the OpenShift web console and the Observability UI plug-ins can consume traces from the Tempo API, thus enabling the use of the Perses backend.
Note that Traces UI users are not required to make use of a Perses operator. The UI includes Perses code, but for making use of the scatter plot and table, no Perses operator is required.
What’s next?
We are working on releasing a Technology Preview of the Traces UI, which will include a Gantt Chart—key for an optimal traces exploration. Specifically, when clicking on a specific trace, a Gantt Chart will be displayed for further analysis. Red Hat Observability is currently working upstream on a Perses-powered Gantt Chart to bring the best experience and functionality to our users via a centralized, flexible and configurable user interface powered by open source communities. See Figure 6.
We are looking forward to receiving your feedback and to releasing features that bring the most value to your user experience and data navigation. You can share your questions and recommendations with us using the Red Hat OpenShift feedback form. Stay tuned for more blogs and information!
Last updated: September 27, 2024