Honeycomb’s BubbleUp feature detects anomalies and explains how a subset of data differs from other data. With BubbleUp, you visually select a set of data points from a heatmap, compare it to the remaining data, and then investigate this comparison with visual charts. Values that contrast provide answers or additional fields to explore.
Use BubbleUp to identify:
Choose your method of accessing BubbleUp:
In Query Builder, VISUALIZE a Heatmap with HEATMAP(<variable>)
.
Select Run Query.
This creates a heatmap below the Query Builder.Identify data that stands apart from other data. BubbleUp works based on a selection you make in a heatmap.
In the heatmap, draw a box around the data to define the selection. A menu appears.
Choose Detect Anomalies (BubbleUp)
View the BubbleUp charts below the heatmap. This creates a comparison between the selection and the area not selected, or the baseline. These comparisons are represented as charts.
In a query, VISUALIZE clauses generate line charts, except for VISUALIZE HEATMAP(<variable>)
.
In Query Builder, create a query with at least one VISUALIZE clause and one GROUP BY clause.
Select Run Query. This query creates at least one visualization below the Query Builder. Each result, or line on the chart, represents a grouped field.
In any non-Heatmap chart, identify data to investigate further.
Select the result, or line, to investigate further. A menu appears.
Choose Detect Anomalies (BubbleUp) The ability to view and select this menu option requires two or more results, or lines on the chart.
This action performs a BubbleUp query that graphs the selected result's value in yellow and all the other values (the baseline) in blue.View the BubbleUp charts below the visualization(s). This creates a comparison between the selection and all other results, or the baseline. These comparisons are represented as charts.
In Query Builder, GROUP BY a value and select Run Query.
Within Overview, view a summary of grouped fields below any VISUALIZE displays.
Hover over the row representing a grouped field and select the grouped field’s ellipsis (…) menu.
An Actions menu appears.Select BubbleUp: Compare <value>
to all other events in the Actions menu.
This action performs a BubbleUp query that graphs the selected row’s value in yellow and all the other values, the baseline, in blue.
View the BubbleUp charts below the graph.
These charts represent the selection compared to the baseline across all of the fields.
A dataset or environment has many fields. BubbleUp represents each field with a chart.
The charts divide into two groups:
Each chart categorizes the data into two groups:
The title of the chart is the name of the field.
In the upper right corner, the two donut charts display a ratio of how often the field is found in the data. A field and its values may not be populated in a dataset or environment.
Hover over the title and donut charts to display a tooltip with the full field name and a percentage of how often the field appears in the Selection (yellow) and Baseline (blue).
The bar chart displays each value in bar form, which represents its frequency in the Selection or in the Baseline. The height of each bar is proportional to the number of times the value occurs in the results of the query. The bar chart displays a maximum of seventy-five values, a subset of both Selection and Baseline values.
Hover over the bar for a value, to display a tooltip with its full value name and a percentage of how often the value appears in the Selection and Baseline.
A field may contain largely unique values.
These are sometimes referred to as nominal data.
The tooltips for nominal columns show the exact number of occurrences instead of a percentage in the Selection or the Baseline.
For example, events that capture a span in a trace maintain a unique ID for the span in the trace.span_id
column.
Click on a value, or a pair of bars, to display an action menu to take further actions. For charts in the Dimensions section, this actions menu appears:
<field> = <value>
and re-runs the query.<field> != <value>
and re-runs the query.For charts in the Measures section, this actions menu appears:
<field> < <value>
and re-runs the query.<field> > <value>
and re-runs the query.Use BubbleUp Permalinks to share BubbleUp results with others.
Create a BubbleUp result.
Copy the URL link in your web browser.
Share the URL with other users to view the same BubbleUp result.
Filter your BubbleUp results with keywords to find specific fields and their charts faster.
In the example below, the word “trace” in BubbleUp Filter search box results in four results with field names that start with “trace”.
An operations team responsible for API performance receives an alert that their system is handling some requests slowly.
With Honeycomb, the investigating user generates a HEATMAP visualization that shows the statistical distribution of duration_ms
of an application’s requests over the selected time period.
The investigating user discovers a group of events with a high duration_ms
.
With BubbleUp, the user draws a box on the heatmap to define the selection.
The selection, depicted below, defines an area ranging two hours on the x-axis and from near 800ms to 1400ms on the y-axis.
With the selection made, BubbleUp renders charts for each field below the heatmap. The user notes several fields with similar and different values.
The fields app.platform
and app.build_id
have fairly similar proportions.
The bars for each value are very close in height.
The fields app.user_id
, app.endpoint
, and name
have very different proportions.
The bars for some of the values in these fields have drastically different heights compared to the bars for the other values in these fields.
The user hovers over the tallest selection bar in the app.endpoint
chart.
The user finds that the /api/v2/tickets/export
endpoint is responsible for the slow requests.
From this information, the team explores the endpoint’s implementation and its external dependencies for issues during that time frame.
The user formulates new queries to explore the external instrumentation.
Define a selection of data that is separate from the remaining data. BubbleUp works best when the data in the selection contrasts the data in the baseline. It is far more difficult to tell how a dataset is different when the selection is inside the main cluster of data, as in the following screenshot:
Define a smaller time range to find data separated from the baseline. Bigger time ranges may display greater variance across the data. An isolated time range helps reduce unrelated variation in your data that accumulate over time.
Add a filter, or WHERE clause to your query to explore the selected data further. A field’s action menu quickly provides these filters. Other times, it can be valuable to pursue a breakdown to understand better how fields vary from each other.