Create dashboards, add charts, customize dashboard layout, and troubleshoot dashboards.

Wavefront dashboards allow you organize and customize the information about your environment. For example:

  • Organize charts into sections.
  • Perform global operations such as setting the dashboard time window.
  • Use dashboard variables.

Examine Data with Dashboards and Charts explains how to set dashboard preferences, set the dashboard time window, isolate sources and series, and more.

Video

Users with Dashboards permissions can create a new dashboard with one or multiple charts from metrics, a chart type, or an integration.

Create a Dashboard

You have several options for creating a dashboard:

  • Select Dashboards > Create Dashboard, drag in the Data or New Chart widget, and follow the wizard to create a single-chart or multi-chart dashboard.
  • Select Dashboards > Create Dashboard, drag in the Templates widget, and select an integration, then pick the dashboards and charts you’d like to include.
  • Select Dashboards > All Dashboards and click Create Dashboard
  • Select Browse > Metrics and click Create Dashboard.

Create a Dashboard from Metrics Data or Charts

It’s easy to create a dashboard from metrics data or by selecting a chart.

To create a dashboard:
  1. Select Dashboards > Create Dashboard from the taskbar.
  2. Drag the Data or New Chart widget to the canvas
  3. Select metrics, filters, and functions now or later.
  4. In the top right, click Save and specify a name and URL for the dashboard.
    • The Name field supports letters, numbers, characters, and spaces.
    • The URL field supports letters, numbers, underscores, and dashes.
create a dashboard by selecting data or creating a chart

Create a Dashboard from Integration Templates

With release 2019.46, you can create a dashboard by specifying an integration dashboard as a template.

To create a dashboard:
  1. Select Dashboards > Create Dashboard from the taskbar.
  2. Drag the Integration Templates widget to the canvas.
  3. Select first the source integration, then the dashboard you want as a template, and then one or more charts from that dashboard.
  4. In the top right, click Save and specify a name and URL for the dashboard.
    • The Name field supports letters, numbers, characters, and spaces.
    • The URL field supports letters, numbers, underscores, and dashes.
create a dashboard from a template

Create a Dashboard from a Tracing Template

The Wavefront service dashboard includes a set of charts to monitor the trace data sent by each service in your application. You can use the service dashboard as a template to create your dashboard and then customize the charts for your environment.

To create a dashboard:
  1. Select Dashboards > Create Dashboard from the taskbar.
  2. Drag the Tracing Templates widget to the canvas.
  3. Select the charts to import and click Import Charts.
  4. In the top right, click Save and specify a name and URL for the dashboard.
    • The Name field supports letters, numbers, characters, and spaces.
    • The URL field supports letters, numbers, underscores, and dashes.
  5. To view data that is specific to an application and service, use the application and service dropdowns.
create a dashboard from a tracing template

Take a look at the cool actions you can do using these charts:

Edit or Clone a Dashboard

The dashboard menu allows you to create a dashboard, edit a dashboard, clone a dashboard, and look at the dashboard version history.

  • When you clone a dashboard, you copy the dashboard. If you want to customize one of the Wavefront read-only dashboards, such as integration dashboards, just clone the dashboard and edit the clone.
  • The dashboard version history tracks each saved version and includes the user who saved the version. The result is an audit trail for the dashboard.
To edit a dashboard:
  1. Click the ellipsis icon in the top right of the dashboard and select Edit.
  2. Make changes to the dashboard in edit mode.
  3. Save the dashboard.
edit a dashboard
To clone a dashboard:
  1. Click the ellipsis icon in the top right of the dashboard and select Clone.
  2. Accept the suggested URL and dashboard name or specify new ones. Do not include https:// in the URL string.
  3. Save the cloned dashboard.
clone a dashboard

Examine Metrics in Dashboard View Mode

All users can examine metrics, set the time window, and make temporary changes to dashboards. See Examine Data for details.

annotated screenshot with the activities below that users can do with a dashboard

Here are some examples of what all users can do:

  • Set the dashboard time window
  • Find a dashboard section
  • Filter with global filters or dashboard variables
  • Find a dashboard
  • Isolate sources or series
  • Fine-tune the time window

Make Changes to a Dashboard in Edit Mode

When you create a dashboard or when you edit a dashboard, the dashboard is in Edit mode. In Edit mode, you can make several changes at a time, then save all changes to dashboard layout or to charts.

A system dashboard has a lock icon next to the name. lock icon next to tutorial dashboard

Here are some actions you can perform in a dashboard.

dashboard in edit mode

Add a Chart Using Drag and Drop

  1. Drag and drop widgets to the dashboard canvas.
  2. (Optional) Select metrics, filters, and functions.
  3. Scroll up and click Save
add chart wizard

Clone, Delete, or Edit a Chart

Editing a chart is different in View mode and in Edit mode:

  • With a dashboard in View mode, click the chart title to edit a chart.
  • With a dashboard in Edit mode, use the icons on any chart.
  1. Place the cursor inside a chart.
  2. Click one of the icons and follow the prompts.
clone a chart

Add or Edit Dashboard Variables

With the dashboard in Edit mode:
  1. Scroll up to the Variables bar.
  2. Click the Edit icon next to a variable to edit the variable.
  3. Click the Add button to add a variable.
select variables

Change Dashboard Layout

With the dashboard in Edit mode:
  • Rearrange charts within section or across sections (12 charts per row maximum). The grid determines what's possible.
  • Click the canvas to add a section.
  • Delete or move a section using the icons on the right of the section bar.
add a section

Add a New or Cloned Chart

When you create a chart using Dashboards > Create Chart, you’re prompted to save it to a dashboard. When you edit a chart, you can save to the current dashboard, or save a clone to a different dashboard.

  1. With the dashboard in View mode, create or edit a chart.
  2. Click the v icon next to the Save button and make a choice:
    • To save to an existing dashboard, start typing the name of the dashboard, select the dashboard, and click Insert.
    • To save to a new dashboard, click Save to New Dashboard, enter the dashboard name and URL, and click Create. Specify only the URL string and do not include https://.
  3. When the target dashboard opens in Edit mode, click and drag the chart to the location of your choice and click Save at the top.
save to dashboard

Undo and Revert Undo Operations

You can undo dashboard changes.

  1. Edit the dashboard and make one or more changes.
  2. Click the icons to undo and to redo the operations.
Undo and redo icons

Set Dashboard Display Preferences

For each dashboard, you can customize display preferences.

To set the dashboard display preferences:
  1. Navigate to a dashboard and click the ellipsis icon in the top right corner of the dashboard.
  2. Select Edit.
  3. Click Settings.
  4. Make selections in the dialog:
    • Set the default time window. You can later override the time window.
    • Hide the variables for the dashboard by default. Users can still show the variables bar using the show or hide variable icon icon.
    • Display the Events on charts using the Show Events dropdown.
      For more information on the options listed in the Show Events dropdown, see Specify an Events() Query for a Dashboard.
  5. Click Accept, and click Save
set dashboard prefs

Edit the Dashboard JSON

Most users create and edit dashboards by using the Wavefront UI or automate the process with the Wavefront REST API. But at times, it’s convenient to edit the dashboard JSON directly from the UI and see results immediately.

  1. To put the dashboard in Edit mode, click the ellipsis icon, select Edit, and then click JSON.
  2. Consider selecting Code from the drop-down menu. Code view supports adding information.
  3. Consider a select all/copy/paste into a JSON editor for full validation.
  4. Add condition information, as shown in the example below, paste the revised content back into the dashboard editor, and click Accept
Switch from Tree view to Code view

Conditional Dashboard Sections

You can make dashboard sections conditional by using the JSON editor. If a dashboard has conditional sections:

  • Each section is shown only if the condition is met, and invisible in the Jump To menu and the dashboard.
  • If the condition is met:
    • The Jump To menu shows a number to indicate how many conditional sections are displayed. Default color is grey.
    • A customizable tooltip indicates that the section is conditional.
    • The number and tooltip also display next to the conditional section.

The following JSON snippets shows dashboard attributes and dashboard sections to use for conditional sections.

Customize Dashboard Attributes

 dashboardAttributes: {
   // Text to replace the "Jump To" label on the dashboard view page.
   // This property is optional.
   jumpToLabel: string
   // When section conditions are met, a count badge is rendered to the right of the "Jump To"
   // dropdown control.  The default badge style is SMOKE.  Users can customize this style by setting
   // the badge color here.  Valid values are SEVERE, WARN, INFO, SUCCESS, and SMOKE.
   // This property is optional.
   conditionBadgeColor: string
 }

Customize Dashboard Sections to Be Conditional

 sections: [
   {
     name: string  // Section name, if not specified, the text "Untitled" is shown in the section header
     rows: array   // Array of visual components in this section
     // This property is optional.  If specified, then query is required.
     sectionFilter: {
       // Query to run to determine if the section should be shown.  The section is shown if the last
       // value in the time series is non-zero.
       query: string
       // Text to show as tooltip when users mouse over the condition check-circle icon.
       // If not specified, then the query is shown as the tooltip.
       // This property is optional.
       description: string
       // Time in seconds to add to start time for condition query.  By default, condition query uses
       // the dashboard time window, but you can use this property to increase the time window of the
       // condition query.
       // This property is optional.
       leadingTimeWindowSec: integer
     }
   }
 ]

Example: Add Conditional Sections

This somewhat contrived example:

  • Uses a condition that’s always true for the Proxy Troubleshooting section.
  • Uses the SEVERE color to show conditional sections are included.
  • Specifies the tooltip in the description field.

Here’s the snippet that:

  • Changes the label from Jump To to New Label, a good way to make sure things are working while experimenting.
  • Sets the color for the condition badge, a small circle with the number of conditions inside. If the condition is met, the badge is shown on the Jump To menu and on next to the conditional section.
{
  "name": "Example Dashboard",
  ...
  "dashboardAttributes": {
    "jumpToLabel": "New Label",
    "conditionBadgeColor": "SEVERE"
  }
  ...
}

Here’s the section filter that conditionally shows the Proxy Troubleshooting section. This example uses a query that is always true (1 > 0), and includes the tooltip text Condition for this section was met.

"sections": [
  {
    "name": "Proxy Troubleshooting",
    ...
    "sectionFilter": {
        "query": "1 > 0",
        "description": "Condition for this section was met"
    }
    ...
  }
  ...
]

After you’ve saved these changes:

The Jump To menu uses the NEW LABEL text and shows 1 to indicate there's one conditional section, in red (SEVERE). Jump to menu with highlighted number and Proxy Troubleshooting highlighted. Hover text alerts the user that the section is conditional - you can change the text as appropriate. Hover text indicates condition has been met.

Ensure Optimal Dashboard Performance

Wavefront can ingest and process very large amounts of data – and if you’re smart about the data shape and the queries in your charts, dashboard performance is good. By following a few simple guidelines, you can ensure optimal dashboard performance.

  • Specify a time parameter with missing data functions.

    Use missing data functions with a specific time parameter. Missing data functions such as default(), last() and next() handle gaps or delays in metrics. If you don’t explicitly specify a time window and delay time, Wavefront applies the default value for every second and for gaps up to 28 days. This impacts performance of the query and the dashboard. 

    • Faster: default([<timeWindow>,] [<delayTime>,] <defaultValue>, <tsExpression>)
    • Slower: default(0, <tsExpression>)  
  • Use filters to be as specific as possible in queries   Be as specific in your queries as possible, for better information and faster results. Filtering functions are useful to narrow down the query space. For example, if a query filters metrics by source, the query returns faster because Wavefront knows which metrics to fetch.

    • Faster: ts(user.metric, source="db-1" and env="prod") has the relevant information Wavefront needs.
    • Slower: ts(user.metric and not env="dev") is more expensive. With and not Waverfront has to search through everything matching user.metric which does not have anenv=prod tag.

    Filter in the base query instead of using an advanced filtering function.  

    • Faster: sum(ts(user.metric, source=app-1)))
    • Slower: retainSeries(sum(ts(user.metric)), source=app-1))
  • Avoid wildcards in queries when possible

    Wildcards in queries can result in many time series on a chart, which can be confusing and affect performance. If wildcards make sense for your use case, use delimiters, and don’t use a wildcard at the beginning of a query.

    • Faster: Use delimiters around wildcards. ts(‘abc.*.xyz’) is faster than ts(“abc*xyz”)
    • Slower: Don’t use a wildcard at the beginning of a query ts("*abc.xyz")
  • Avoid interpolation when aggregating or working with multiple time series

    When you use aggregation functions, Wavefront estimates values between reported points to get an aggregation that’s as accurate as possible. That process is called interpolation. It can be computationally expensive, and dashboards can take a long time to load. You can improve performance with these options.

    • Use the align() function to first align the metrics to exactly the same points in time and then use aggregation functions, for example sum(align(1m, <tsExpression>))  
    • Use raw aggregation functions such as rawsum() instead of sum() Raw aggregation functions do not interpolate values.
  • Set the default time window of a dashboard to match your needs

    By default, Wavefront uses a 2-hour time window for dashboards. You might need to see more data, for example, zoom out to see 12 hours or even a week or more. However, a larger time window means that more metrics have to be fetched from the backend, and eventually, performance suffers.

    • If you’re interested in past data, don’t zoom out but specify the time window you need.
    • Consider using time functions in your queries to see exactly what you need.  
  • Display only the events you need   Querying metrics and querying events are different tasks. However, by default each chart displays all source events and system events as black points or stars at the bottom of each chart. Those events queries affect dashboard performance.

    Here’s what you can do:

    • Select an individual chart, click the Format tab, and deselect Display Source Events.
    • Adjust events for the whole dashboard by using the Show Events dropdown in the top right.

    See Control Event Overlays for details and screenshots.

  • Avoid using expensive queries in dynamic dashboard variables   Dynamic dashboard variables are used to display a list of possible values to the end user. The values are computed by a query.

    If the query for the dynamic dashboard variable is complex, it slows down the dashboard loading. Keep queries simple, and consider using a derived metric which uses a query that has already been executed and stored.  

Troubleshooting

The Customer Success team prepared these KB articles to troubleshoot problems with dashboards.