Metrics

Custom Metrics for WASM Functions

The Metrics capability provides WASM function developers the ability to create user-defined metrics exposed as part of the Tarmac /metrics end-point. This capability supports the three predominant metrics types, Counters, Gauges, & Histograms.

Counter

The Counter function will give users the ability to create a custom counter metric. When called, this function will increment the counter by one.

_, err := wapc.HostCall("tarmac", "metrics", "counter", MetricsCounterJSON)

Interface Details

Namespace
Capability
Function
Input
Output

tarmac

metrics

counter

MetricsCounter

nil

Example JSON

This callback uses JSON messages as input and output to facilitate communications between WASM functions and the Tarmac host.

MetricsCounter

{
	"name": "custom_metric_name"
}

Gauge

The Gauge function will give users the ability to create a custom gauge metric. When called, this function will either increment or decrement the gauge by one.

_, err := wapc.HostCall("tarmac", "metrics", "gauge", MetricsGaugeJSON)

Interface Details

Namespace
Capability
Function
Input
Output

tarmac

metrics

gauge

MetricsGauge

nil

Example JSON

This callback uses JSON messages as input and output to facilitate communications between WASM functions and the Tarmac host.

MetricsCounter

{
	"name": "custom_metric_name",
	"action": "inc"
}

Valid actions are inc (Increment) and dec (Decrement).

Histogram

The Histogram function will give users the ability to create a custom histogram metric. When called, this function will observe the provided value and summarize the metric results.

_, err := wapc.HostCall("tarmac", "metrics", "histogram", MetricsHistogramJSON)

Interface Details

Namespace
Capability
Function
Input
Output

tarmac

metrics

histogram

MetricsHistogram

nil

Example JSON

This callback uses JSON messages as input and output to facilitate communications between WASM functions and the Tarmac host.

MetricsCounter

{
	"name": "custom_metric_name",
	"value": 0.0001
}

Last updated