Telemetry.Metrics reporter for Prometheus and StatsD (including Datadog).
Peep has some important differences from libraries like
TelemetryMetricsPrometheus.Core and TelemetryMetricsStatsd:
:mtu setting.To use it, start a reporter with start_link/1, providing a keyword list of
options (see Peep.Options for the schema against which options are validated).
import Telemetry.Metrics
Peep.start_link(
name: MyPeep,
metrics: [
counter("http.request.count"),
sum("http.request.payload_size"),
last_value("vm.memory.total")
]
)
or put it under a supervisor:
import Telemetry.Metrics
children = [
{Peep, [
name: MyPeep,
metrics: [
counter("http.request.count"),
sum("http.request.payload_size"),
last_value("vm.memory.total")
]
]}
]
Supervisor.start_link(children, ...)
By default, Peep does not emit StatsD data. It can be enabled by passing in
configuration with the statsd keyword. Peep's StatsD reporting supports Unix
Domain Sockets.
Currently, there's no implementation of 'summary' metrics. Since histograms are relatively inexpensive in Peep, we suggest you use 'distribution' metrics instead.
Peep package can be installed by adding peep to your list of dependencies in mix.exs:
def deps do
[
{:peep, "~> 4.0"}
]
end
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/peep.
Elixir
100.0%
Telemetry.Metrics reporter for Prometheus and StatsD (including Datadog).
Peep has some important differences from libraries like
TelemetryMetricsPrometheus.Core and TelemetryMetricsStatsd:
:mtu setting.To use it, start a reporter with start_link/1, providing a keyword list of
options (see Peep.Options for the schema against which options are validated).
import Telemetry.Metrics
Peep.start_link(
name: MyPeep,
metrics: [
counter("http.request.count"),
sum("http.request.payload_size"),
last_value("vm.memory.total")
]
)
or put it under a supervisor:
import Telemetry.Metrics
children = [
{Peep, [
name: MyPeep,
metrics: [
counter("http.request.count"),
sum("http.request.payload_size"),
last_value("vm.memory.total")
]
]}
]
Supervisor.start_link(children, ...)
By default, Peep does not emit StatsD data. It can be enabled by passing in
configuration with the statsd keyword. Peep's StatsD reporting supports Unix
Domain Sockets.
Currently, there's no implementation of 'summary' metrics. Since histograms are relatively inexpensive in Peep, we suggest you use 'distribution' metrics instead.
Peep package can be installed by adding peep to your list of dependencies in mix.exs:
def deps do
[
{:peep, "~> 4.0"}
]
end
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/peep.
Elixir
100.0%