lib/cozy_telemetry/poller.ex
defmodule CozyTelemetry.Poller do
@moduledoc """
The application that fetches measurements periodically.
"""
alias CozyTelemetry.Spec
@doc """
Builds a child specifications.
"""
def child_spec(init_arg) do
measurements = Spec.load_measurements(init_arg)
init_arg
|> Keyword.get(:poller, [])
|> generate_child_spec(measurements)
end
defp generate_child_spec(opts, measurements) do
opts = Keyword.put(opts, :measurements, measurements)
:telemetry_poller.child_spec(opts)
end
end