Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

Get familiar with MetricBase APIs

Experiment with MetricBase APIs using Data Explorer that is part of the MetricBase Demo application. Data Explorer uses the data installed with the MetricBase Demo application.

Before you begin

Role required: clotho_admin

About this task

Data Explorer is a playground where you can see and edit example scripts that visualize data included with the MetricBase Demo application. The example scripts use the MetricBase JavaScript APIs. For information on the MetricBase JavaScript APIs, see Client, Data, DataBuilder, Transformer, TransformPart, TransformResult.

Note that the now/v1/clotho/transform/topic API endpoint is reserved for internal use only.

Example scripts use either:

  • Transforms, which use the Transformer method.
  • Machine Language, trained models that predict expected behavior. All the scripts without "Transform" in their title use Machine Language.

Procedure

  1. Navigate to All > MetricBase Demo > Data Explorer.

    The Data Explorer displays.

Image omitted: data-explorer.png
Data Explorer UI
When you run a script, the data visualization appears under **Data Explorer Script Result Display**.
  1. Select one of the sample scripts to run in the Example Script menu.
Image omitted: data-explorer-buttons.png
Steps to run a script
  1. Click Load Example.

  2. Click Run.

    The script displays the data visualization under Data Explorer Script Result Display.

  3. Change the values or statements in the script or write an entirely new script and click Run.

    Note: If you want to save the changes you made in the script, click Save.

  4. Under Server Output, look at the server's response that might include error information.

Example

Example scriptDefinition and visualization
Simple TransformUses the transformer API to display a single time-series metric, the average speed of the drones: `transformer.metric('mb_demo_mt_speed').avg`\(\).
Image omitted: data-explorer-average-speed.png
Simple transform using average
Simple Transform with GroupingUses the transformer API to display a group of time-series metrics, the average altitude of the fleet of the drones:
transformer.groupBy("fleet").metric("mb_demo_mt_altitude").
      avg().label('avg - %g:fleet:')
Image omitted: data-explorer-simple-xform-grouping.png
Grouping transform
Normal ModelModels normal data, which approximates a bell-shaped or Gaussian curve for distributed values.
Linear ModelCreates a line to summarize the current data and predict future values. This example, about the remaining charge in drone batteries, graphs both the trained model values and the average of the values.
var builder = new sn_clotho.Transformer(drones);
var fit = builder.metric("mb_demo_nt_rem_battery").resample(100).
          fit({model:"linear"}).label("Fitted");
builder.metric("nb_demp_mt_rem_battery").avg().label("Original")
Image omitted: data-explorer-linear-model.png
Linear model
Seasonal Trend Decomposition ModelUses a seasonal trend model so that data can be subtracted to reveal non-seasonal trends. This model is similar in purpose to the Holt Winters model but arrives at the result using different algorithms.
var builder = new sn_clotho.Transformer(drones);
var metric = "nb_demo_mt_rem_battery";
var fit = builder.metric(metric).fit({model:"STL",periodicity:"PT2H", 
          innerCycles:1, outerCycles:10})
Image omitted: data-explor-seasonal-trend-decomp.png
Seasonal correction to trend
Holt Winters ModelUses the Holt Winters, seasonal trend model so that data can be subtracted to reveal non-seasonal trends. This model is similar in purpose to the Seasonal Trend Decomposition model but arrives at the result using different algorithms.
ARIMA ModelThe most general class of models for predicting time-series data that has no trend, meaning all the data has the same value or the values fluctuate sinusoidally around the mean.
Deviation ModelUses chisquare model to show the differences between the real data and the model's prediction.
var metric = "nb_demo_mt_rem_battery";
builder.metric(metric).deviation(model, "chiSquare");
Image omitted: data-explor-chisquare-deviation.png
Deviation model

Parent Topic:Working with MetricBase demo data