Instruments.StatsReporter behaviour (Instruments v2.4.0)

A behavoiur for reporters.

Reporters emit values back to the underlying reporting system. Out of the box, Instruments provides Instruments.Statix, Instruments.StatsReporter.Logger, and Instruments.StatsReporter.Nullreporters.

Link to this section Summary

Callbacks

Connect to the reporter. This function is called by the system prior to using the reporter, any connections should be established in this function.

Decrement a key by the specified value

Set the value of the key to the specified value

Include the value in the histogram defined by key

Increment a key by the specified value

Measure the execution time of the provided function and include it in the metric defined by key

Write the value into the set defined by key

Include the timing in the key

Link to this section Types

@type key() :: String.t()
Link to this type

stats_return()

@type stats_return() :: :ok | {:error, term()}

Link to this section Callbacks

@callback connect() :: :ok

Connect to the reporter. This function is called by the system prior to using the reporter, any connections should be established in this function.

Link to this callback

decrement(key, integer, keyword)

@callback decrement(key(), integer(), keyword()) :: stats_return()

Decrement a key by the specified value

Link to this callback

gauge(key, integer, keyword)

@callback gauge(key(), integer(), keyword()) :: stats_return()

Set the value of the key to the specified value

Link to this callback

histogram(key, integer, keyword)

@callback histogram(key(), integer(), keyword()) :: stats_return()

Include the value in the histogram defined by key

Link to this callback

increment(key, integer, keyword)

@callback increment(key(), integer(), keyword()) :: stats_return()

Increment a key by the specified value

Link to this callback

measure( key, keyword, function )

@callback measure(key(), keyword(), (-> any())) :: any()

Measure the execution time of the provided function and include it in the metric defined by key

Link to this callback

set(key, integer, keyword)

@callback set(key(), integer(), keyword()) :: stats_return()

Write the value into the set defined by key

Link to this callback

timing(key, integer, keyword)

@callback timing(key(), integer(), keyword()) :: stats_return()

Include the timing in the key