Investigate Application Data in Honeycomb

Honeycomb is designed to let you explore your systems in novel ways and find problems faster. Here’s a quick overview of ways to learn about and explore your data.

Before You Begin 

Before you can explore your data, you should have already added instrumentation to your application, run it, and interacted with it by making a few requests. Making requests to your service will generate telemetry data and send it to Honeycomb where it will appear in the Honeycomb UI within seconds.

View Events 

Start by exploring with the raw data from your applications in Honeycomb.

  1. From the left sidebar, go to New Query.
  2. Select Run Query to run an empty query.
An animated gif where after a blank new query is run, the user selects the Events tab to show the rows of available raw data.

Events data from your application is displayed in a table. Take a moment to notice the fields that are included and how events are laid out.

Group By and Filter 

Choose a field and group by it to get a more granular view. In this example, we will use http.status_code.

  1. In GROUP BY, enter http.status_code. Select Run Query. You will see events grouped by codes like 200 or 404, depending on your application.

  2. Next to one of the rows, select the ellipsis icon, then select Show only events in this group. You will see all events that contain that value, charted over time.

    An animated gif where the user selects the ellipsis icon for the field and then selects the Group By http.status_code option, and the screen changes to display the results.

View, group by, and filter your Events to highlight the basic shape of your data and the fields available for analysis.

Tip
To see a richer view, make sure you customize your instrumentation.

View a Sample Trace 

Traces are visual diagrams of all the events that occur in a single operation as it traverses an application. They are made up of the structured events (seen above) that you send, and tied together by a Trace ID. Traces help you find the source of errors in a system, identify the slowest processes, and break down the user experience in great detail.

  1. Select the Traces tab. Below the chart, you will see up to 10 of the slowest traces.
  2. Select the Trace ID to view that trace.
An animated gif where after selecting the Traces tab, the user selects an individual trace ID to see its Trace Detail View.

This view is called the trace waterfall. It shows the spans within the trace, how long each one took, which contain errors, and additional metadata. Tracing is a powerful way to find performance problems and understand how data flows through a large system. Learn more about traces.

Query and Visualize 

Now that you have taken a tour of your data, query it to answer a question about your system.

For example: How many events contain a certain error? What is the average latency and distribution of those events?

  1. From the left sidebar, navigate to New Query.
  2. In the VISUALIZE clause, add: COUNT AVG(duration_ms) HEATMAP(duration_ms)
  1. Select Run Query.
An animated gif where the user updates the Visualize clause to include Count, Avg(duration_ms), and Heatmap(duration_ms), selects Run Query, and views the results.

You will see a stack of charts: a count of events, an average latency for those events, and a heatmap of latency.

Zoom into the chart. Click and drag around an area you would like to see. Click the magnifying glass icon to zoom.

Look for patterns and outliers. As you add instrumentation, your charts get enriched with more data.

Tip
Querying and visualizing your data is a core practice for flexible exploration in Honeycomb. Many developers investigate using an iterative process called the core analysis loop.

Detect Anomalies 

Using the heatmap of duration_ms, analyze outliers in your data with the BubbleUp feature.

  1. Drag to select an area on the heatmap with some data that looks a little different from the rest.
  2. Choose Detect Anomalies (BubbleUp).
An animated gif where the user selects the BubbleUp tab, selects a range within the visualized data to use the BubbleUp feature, and examines the Dimensions results that appear below the visualized data.

The small charts that appear below analyze your selected events by each available dimension and measure.

BubbleUp is a unique Honeycomb approach that intelligently surfaces useful signals in your data. Visually identify what stands out and deep dive into your data. BubbleUp enables you to quickly drill into high-cardinality data like userID, loan type, system request–any attribute that is important to your business.