View Source TelemetryMetricsTelegraf.Writer behaviour (telemetry_metrics_telegraf v0.4.0)

TelemetryMetricsTelegraf writer specification.

Example

Define an adapter:

defmodule PutsAdapter do
  @behaviour TelemetryMetricsTelegraf.Writer

  @impl true
  def init(device \ :stdio) do
    device
  end

  @impl true
  def write(measurement_name, tags, fields, device) do
    IO.puts(device, Enum.join([measurement_name, inspect(tags), inspect(fields), " "]))
  end
end

Configure TelemetryMetricsTelegraf to use it:

TelemetryMetricsTelegraf.start_link(metrics: AppTelemetry.metrics(), adapter: {PutsAdapter, :stderr})

Link to this section Summary

Link to this section Types

Specs

t() :: module()

Specs

writer_opts() :: any()

Link to this section Callbacks

Specs

init(writer_opts()) :: writer_opts()
Link to this callback

write(measurement_name, tags, values, writer_opts)

View Source

Specs

write(
  measurement_name :: String.t(),
  tags :: map(),
  values :: map(),
  writer_opts()
) :: any()