scout_apm v0.3.1 ScoutApm.MetricSet

A way to absorb & combine metrics into a single set, keeping track of min/max/count, etc.

While this is just a map underneath, treat it like an opaque data type.

Summary

Types

options()
options() :: %{collapse_all: boolean, compare_desc: boolean, max_types: non_neg_integer}
t()
t() :: %ScoutApm.MetricSet{data: map, options: options, types: MapSet.t}

Functions

absorb(metric_set, metric)

Add this metric to this metric set.

As a safety valve in the agent, this skips adding if we’ve reached the limit of unique ‘type’ values in this set. Since ‘type’ is something like ‘Ecto’ or ‘Controller’, it’s very unlikely that this safety valve ever gets hit in normal practice, but instead is designed to protect people from accidentally varying their custom instrumentation types.

absorb_all(metric_set, metrics)
absorb_all(t, [ScoutApm.Internal.Metric.t]) :: t
merge(set1, set2)
merge(t, t) :: t
new()
new(options)
new(map) :: t
to_list(metric_set)