Create charts, add and manage queries, and customize the chart.
Wavefront charts allow you to examine what visualize metrics, create alerts, and more!
  • Create a chart and fine-tune the data it displays using filters and functions.
  • Customize chart appearance.
  • Use chart variables, set the time window, create alerts, and much more!
click here for the classic doc

Create a Chart

You can create a chart from a dashboard or from the task bar.

Create a Chart from a Dashboard

  1. Edit a dashboard or select Dashboards > Create Dashboard from the task bar to create a new one.
  2. Drag the metrics or chart type widget onto the canvas
  3. Select metrics, filters, and functions and click Save in the top right.
create dashboard

Create a Chart from the Task Bar

  1. Select Dashboards > Create Chart.
  2. (Optional) In the top left, specify a chart name.
  3. Select a metric and an optional filter and function.
  4. In the top right, click Save and specify the dashboard.

create chart

Fine-Tune Chart Metrics from the Data Tab

From the Data tab, every chart lets you fine-tune the metrics that come in and apply filters and functions.

Note: Your user preferences and the last used UI determine whether the Data tab shows Chart Builder or the more advanced Query Editor by default.

Chart Builder

Wavefront Chart Builder lets you

  • Create a chart by selecting metrics or a chart type.
  • Select one or more metrics directly or start with an integration.
  • Specify filters and functions, e.g., to aggregate multiple time series.

In the image below, we selected a metric, narrowed down the source, and we’re just selecting a function.

v2 chart builder

Query Editor

Instead of using Chart Builder, you can click the toggle and explicitly enter Wavefront Query Language expressions into the query field.

Note: After you switch, to Query Editor, you cannot return to Query Builder.

We can get the metric we selected above with the following query.

max(ts(~sample.network.bytes.recv, source="app-12" or source="app-16"))

Many Wavefront users start with Chart Builder as the default, and set their default to Query Editor for more fine-grained control (including chart variables) later.

Hide, Clone, or Delete Queries

You can easily hide, clone, or delete queries from the Data tab.

  • To clone a query, click the Clone icon. A copy of the query appears below the query itself.
  • To delete a query, click the Delete icon. We don't prompt for confirmation.
  • To hide or redisplay a query, click the Hide/Show icon.
Save your changes.
hide query

Customize How the Chart Looks

All users can set the chart time window and isolate sources and series without editing the chart.

Users with Dashboard permissions can make many other changes such as selecting the chart type or customizing the axes and colors. Here are some tasks you can perform. In many cases, they’re possible only for certain chart types.

Note: Making changes to the UI, for example, changing the units, only affects the UI:

  • Does not change the actual data values
  • Does not change the results of queries made with the API.
  • Does not change constants used in queries, including thresholds

Change the Legend

For many chart types, we render the lines or points for different time series in different colors. A legend explains which color maps to which time series. You have many options to make the legend display easy to find and understand.

Hover Legend Fixed Legend
hover legend fixed legend
For hover legends you can:
  • Disable the legend.
  • Limit the number of point tags or specify point tags to show in the legend.
  • Press Shift-P to pin the legend. You can move the pinned legend
For fixed legends you can:
  • Change where the legend displays.
  • Add more information to the legend (Mean, Median, etc.)
  • Show only the top or bottom N series, by value.
  • Show only the top or bottom N series, by median, mean, sum, etc.

For details, see the Chart Reference.

Include Metrics That Stopped Reporting Over 4 Weeks Ago

For optimal rendering of displayed results, Wavefront does not include metrics metrics that stopped reporting over 4 weeks ago (obsolete metrics) in charts. If you’re interested in including those metrics in a chart, it’s easy to do.

To include obsolete metrics

  1. Open the chart for edit.
  2. Select the Advanced tab and click Include Obsolete Metrics.

Use a Logarithmic Y Axis for Skewed Data

Sometimes charts have a few outliers that make it hard to make out the main part of a chart. For example, assume you have 10 standard servers and 2 large servers in your environment, and you monitor the CPU. With a linear scale, the large values for the large servers bunch together the lines for the standard servers.

To change the Y axis from linear to logarithmic:

  1. Open the chart for edit.
  2. Select the Axis tab and select Logarithmic.

Filter Out Lines with Min and Max

To filter out some lines, you specify a minimum or maximum. By default, Wavefront adjusts the Y axis to show all information. The following screenshot shows the automatic Y axis on the left and a Y axis of 75 on the right to filter out all lines from the development environment.

min hides lines

Use ICE/Binary Prefixes in Y Axis and Legends

You can control how units display in the Y axis. Changes affect only the display of data.

Note: Which changes make sense depends entirely on the data you’re looking at. For example, if your chart shows a percentage, changing the units changes the label, but does not change the units themselves. If your chart shows, for example, GB of memory or Gigabytes per second, then changes can result in a clearer display.

By default, charts use SI unit prefixes, but you can change that.

  • SI unit prefixes (k, M, G, T, P, E, Z, Y) increment by a factor of 1000 and are used by default.
  • IEC/Binary prefixes (Ki, Mi, Gi, Ti, Pi, Ei, Zi, Yi) increment by a factor of 1024.

To display axes and legends with IEC/Binary unit prefixes:

  1. Open the chart for edit.
  2. Select Unit > IEC/Binary and pick the unit from the pulldown menu.

Going forward, a data point with value 1024 x 1024 = 1,048,576 displays as 1.000Mi instead of 1.049M.

Here’s how two charts might look:

SI and IEC Binary

Use Dynamic Units to Optimize the Display

Dynamic units adjust the scaling prefixes and units assigned to displayed data to favor clearer display. When enabled, dynamic units result change how Wavefront displays the data. The change depends on the type of metric and the corresponding unit.

SI or ICE/Binary Dynamic Units

When an axis is labeled with a unit that starts with one of the SI or IEC/Binary prefixes, the display logic:

  1. First normalizes the data value with the labeled prefix.
  2. Then assigns a new prefix and adjusting the unit.

For example, if an axis is labeled MPPS (Mega PPS, or 1 million PPS), and the underlying data has a value of 2000, the displayed value with Dynamic units enabled is 2.000B PPS and not 2.000k MPPS.

Options to show the underlying raw data are not affected - hold the Shift key to see the legend and the actual value.

Time Dynamic Units When an axis is labeled with a unit that exactly matches one of the time units, (ys, zs, as, fs, ps, ns, us, ms, s, min, hr, day, wk, mo, yr), the display logic keeps the magnitute as small as possible:

  1. First we normalize the underlying data to seconds.
  2. Then we display the data:
    • If the normalized data magnitude is < 60, we use units ys through s
    • If the magnitude is > 60, then we scale the data using a larger time unit.

For example:

Data Axis Label Display
60,000 ms (milliseconds) 1.000 min
60,000 s (seconds) 16.67 hr
60,000 us (microseconds) 60.00 ms

Chart Resolution

Note: The following explanation for chart resolution relies on screen shots and examples from the v1 UI. The information about the horizontal scale and bucket size is not currently available in v2.

Wavefront accepts and stores data at up to 1 second resolution. Wavefront charts display that granularity only for small time windows on high-resolution displays. In most cases, Wavefront groups data points into time buckets and maps the buckets to display points.

Chart resolution is the bucket time interval. It displays in the Horizontal Scale field in the lower-left corner of a chart.

resolution

The chart above has 240 point buckets and the resolution of each bucket is 30 sec. If a source is sending 1 point per second, each bucket summarizes 30 points. On the other hand, if the source is sending 1 point every minute, no summarization occurs. If you choose the Count summarization method you can see how many points are in each bucket.

Factors That Affect Chart Resolution

Chart resolution is determined by:

  • The chart time window
  • The resolution of the display on which you view the chart.

Consider the following chart time window and display resolution examples, and the bucket size they typically have:

10 minute time window + 1280px display = ~1 second buckets (best resolution)
8 day time window + 3840px display = ~30 minute buckets (second best resolution)
8 day time window + 1280px display = ~60 minute buckets (third best resolution)

Larger time windows and lower display resolutions result in lower chart resolution.

Chart Resolution Example

Here is a series of charts with increasing time window for the same display resolution (1280px).

  • When the time window increases from 10 minutes to 2 hours (12 fold), the bucket size increases from 1 sec to 12 sec and the number of buckets remains the same.
  • In contrast, when the time window increases from 2 to 6 hours (3 fold), the bucket intervals increase from 12 to 60 sec (5 fold) and the number of buckets is reduced proportionately: 600 * 3/5 = 360.

    • 10-minute window: 600 point buckets across, with ~1 sec buckets

      10 m resolution

    • 2-hour window: 600 point buckets across, with ~12 sec buckets

      2h resolution

    • 6-hour window: 360 point buckets across, with ~60 sec buckets.

      6h resolution

The align() Function and Resolution

The align() function lets you specify the size of the buckets—45 minute, 2 hour, 1 day, etc.—into which the points are grouped. However, the supported chart resolution is the most granular view you can get. Therefore, for the 1-week time window + 3840px screen example, specifying align(15m,...) does not result in 15 minute buckets being displayed on the screen because the ~30 minute buckets are already associated with the chart. If you were to use the align() function, Wavefront would first align the values into 15 minute buckets, and then take two aligned values and summarize those based on the Summarize By method.

Do More!