Wavefront charts allow you to examine data, create alerts, and more!
Create a Chart
You can create a chart from a dashboard or from the task bar.
Create a Chart from a Dashboard
Create a Chart from the Task Bar
- Select Dashboards > Create Chart.
- (Optional) In the top left, specify a chart name.
- Select a metric and an optional filter and function.
- In the top right, click Save and specify the dashboard.
Fine-Tune Chart Metrics from the Data Tab
From the Data tab, fine-tune the metrics that are displayed in the chart by customizing the query and applying filters and functions.
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.
We can get the metric we selected above with the following query.
max(ts(~sample.db.queries.duration, source="db-1" OR source="db-5"))
Many Wavefront users start with Chart Builder as the default, and set their default to Query Editor later for more fine-grained control (including chart variables).
Hide, Clone, or Delete Queries
You can easily hide, clone, or delete queries from the Data tab.
Customize How the Chart Looks
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.
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
Wavefront renders the lines or points for different time series in different colors. A legend explains which color maps to which time series. You can change the legend to help users find the information they need, as follows:
For hover legends you can:
For fixed legends you can:
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 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
- Open the chart for edit.
- 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:
- Open the chart for edit.
- 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.
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.
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. For details on SI units, see Wikipedia or a similar source.
- 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:
- Open the chart for edit.
- Select the Axis tab.
- For all applicable options (e.g. Min and Max), 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
Here’s how two charts might look:
Use Dynamic Units to Optimize the Display
Dynamic units adjust the scaling prefixes and units and result in a clearer display. 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:
- First normalizes the data value with the labeled prefix.
- 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
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 magnitude as small as possible:
- First Wavefront normalizes the underlying data to seconds.
- Then we display the data:
- If the normalized magnitude is < 60 results, the result is units ys through s.
- If the normalized magnitude is > 60, Wavefront scales the data using a larger time unit.
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.
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
2-hour window: 600 point buckets across, with ~12 sec buckets
6-hour window: 360 point buckets across, with ~60 sec buckets.
The align() Function and Resolution
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 first aligns the values to 15 minute buckets, and then takes two aligned values and summarize those based on the Summarize By method.
Improve Display Speed with the Sampling Option
Wavefront is very fast, but sometimes it’s not necessary for the user to wait for thousands of series to be rendered. Starting with release 2019.38, you can limit the number of time series to 100 for new charts.
To affect all dashboards, turn on the Sampling default in your preferences from the gear icon.
If the Sampling preference is On:
- The maximum number of time series that’s displayed during chart creation or edit is 100.
- You’re prompted whether you’d like to turn off the limitation, as shown in the following screenshot.
- Turn off Sampling removes the limit for the current chart.
- Always off removes the limit for all charts.
To temporarily change the sampling behavior for a chart, use the Sampling toggle in the top right. You cannot save this change (or other changes in this Task bar).