Metrics Overview | Honeycomb

Metrics Overview

Metrics are well suited to giving a picture of the general health of a host or resource. Honeycomb can consume and display metrics in addition to tracing and telemetry data.

These instructions will walk you through working with metric data in Honeycomb.

  1. Send metric data to Honeycomb
  2. Query your metric data
  3. Correlate metric queries with additional data to enhance your insights

Step 1: Send Metric Data To Honeycomb 

There are several ways to send metric data to Honeycomb. In general, we recommend that you send metric data to its own dataset.

Step 2: Query Your Metric Data 

You can query metrics just like any other data in Honeycomb. Metric resources and attributes are simply stored as fields and can be used in WHERE and GROUP BY clauses to plot specific timeseries. Learn more about writing queries for metrics data.

Because metric data arrives at known, regular intervals, you may find that your metrics graphs have a spiky appearance where after each metric, the line graph drops to zero before plotting the next point. Some people prefer a continuous line graph, without the drops to zero, because it is easier to identify trends in the data. There are two ways to achieve this continuous line graph:

  1. Set a default granularity on the metrics dataset.
  2. Enable the “Omit Missing Values” Graph Setting on the query. To do this:
    1. Above the Metrics graph on the Query page, on the right hand side, click the Graph Settings dropdown
    2. Select the “Omit Missing Values” option
    3. The graph will refresh and should be a continuous line

Step 3: Correlate Your Metric Data with Additional Telemetry Data to Enhance your Insights 

You gain tremendous insight when you view infrastructure metrics for your systems alongside query results from non-metrics datasets. For instance, a system running out of memory, CPU, or network resources might be the reason for an out-of-compliance SLO or an alerting trigger, and seeing the graph of the problem alongside graphs of relevant system resources could confirm or deny this kind of hypothesis.

To correlate your metric data, you define a Honeycomb Board of the relevant metric queries you want to see in relation to other data. For example, let us say you have a dataset that contains traces of all the requests processed by your backend services. When investigating a problem, you may want to see system memory, CPU, and disk utilization in conjunction with the backend services tracing data.

To configure Metrics Correlations:

  1. Set up a public Board that contains the metric queries of interest. To create a board, run a query on your metrics dataset–for example, RATE_MAX(system.filesystem.usage)–and save it to a board.
  2. In the dataset where you would like to correlate metrics, go to the Dataset Settings. Under the Metrics tab → Default Metrics, use the drop down to select the board you created.
  3. Finally, run a query on that dataset and click the Metrics tab. You will see the results of your query and the metrics from your board in the same view.

Learn more about how to write queries for metrics and Metrics Correlations.

Metrics Event Volume 

Honeycomb stores metrics in events, and it combines as many metrics into a single event as possible. Every captured data point is stored as a value in an event whose timestamp represents the time of capture. All attributes that uniquely identify the metric’s timeseries are included on the event. Events that contain metrics are most effective (and cost-effective) when many data points for the same resource, same attributes, and same timestamp arrive together. Learn about factors that affect metrics event volume and how to manage it.

Did you find what you were looking for?