a metrics backend for swift-metrics that uses the statsd protocol, and can be used to integrate applications with observability solutions that support statsd
including:
create an instance of the StatsdClient
and boostrap the MertricsSystem
in your application's main:
let statsdClient = try StatsdClient(host: host, port: port)
MetricsSystem.bootstrap(statsdClient)
see https://github.com/apple/swift-metrics#selecting-a-metrics-backend-implementation-applications-only
remeber to also shutdown the client before you application terminates:
statsdClient.shutdown()
the statsd client uses swift-nio to establish a UDP connection to the statsd server
metrics types are mapped as follwoing:
- Counter -> Counter
- Gauge -> Gauge
- Recorder -> Histogram
- Timer -> Timer
Please see SECURITY.md for details on the security process.
Do not hesitate to get in touch as well, over on https://forums.swift.org/c/server