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, 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.
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.
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.
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.
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|
|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 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.
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:
- Open the chart for edit.
- 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 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:
- 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 magnitute as small as possible:
- First we normalize the underlying data to seconds.
- 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.
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.
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 would first align the values into 15 minute buckets, and then take two aligned values and summarize those based on the Summarize By method.