A dashboard is composed of widgets arranged on a canvas. There are three types of widgets available:

Group Widget

The group widget is used to group related widgets together. It is useful for organizing charts and other widgets. Widgets that are grouped can be moved together as a single entity.

Chart Widget

The chart widget is used to display any sort of data. After you add a chart widget you can configure it through the Chart Builder.

A chart is comprised of 7 key elements:

  1. The metric type. This is the underlying data that will be queried. It is either metric or trace

  2. The chart type. This defines the visualisation. Either a bar or line chart.

  3. The metric name. This is the name of the metric that will be displayed. This is only relevant for metric charts.

  4. Filters. Filters consist of a number of key value pairs. This will restrict the queried data to only data points matching the filters. Each filter is ANDed with every other filter. Individual filters can be ORed together by inserting || between each value.

  5. Aggregation. This is the operation to apply to the data. For example, if you want to sum the data you would select sum. The available aggregations for metrics are:

    • sum
    • avg
    • min
    • max

    The available aggregations for traces are:

    • count
    • request size
    • response size
    • total size
    • p50 latency
    • p90 latency
    • p95 latency
    • p99 latency
  6. Groups. This is a list of keys that will be used to group the data.

  7. Functions. Functions are mathematical operations that can be applied to the data. For example, if you want to calculate the monotonic difference of the data you would select monotonic_diff. The available functions are:

    • monotonic_diff - The difference between the current value and the previous value in the timeseries. If the difference is negative, it will be clamped at 0.
    • value_diff - The difference between the current value and the previous value in the timeseries.
    • custom_math_expression - An arbitrary math expression applied to the time series. The timeseries is passed as the parameter a to the expression. For example, if you want to divide the data by 2 you would select a / 2.

Markdown Widget

The markdown widget is used to display arbitrary markdown. For example if you have a dashboard corresponding to a run book for a particular type of incident you can use the markdown widget to display the run book and keep it up to date with the actual dashboard. The markdown widget supports any markdown that is compatible with the CommonMark format. A cheat sheet can be found here