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

NamespaceCapabilityFunctionInputOutput

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

NamespaceCapabilityFunctionInputOutput

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

NamespaceCapabilityFunctionInputOutput

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