NAME

IO::Async::Metrics - report metrics about IO::Async to Metrics::Any

DESCRIPTION

This module contains the implementation of metrics-reporting code from IO::Async to provide information about its operation into Metrics::Any.

METRICS

The following metrics are reported:

io_async_forks

A counter giving the number of times that fork(2) has been called by the IO::Async::Loop.

io_async_notifiers

A gauge giving the number of IO::Async::Notifiers currently registered with the Loop.

io_async_processing

A time distribution giving the amount of time spent processing IO events. This time does not include the time spent blocking on the underlying kernel system call to wait for IO events, but only the time spent in userland afterwards to handle them.

io_async_resolver_lookups

A labelled counter giving the number of attempted lookups by the IO::Async::Resolver.

This metric has one label, type, containing the type of lookup; e.g. getaddrinfo.

io_async_resolver_failures

A labelled counter giving the number of Resolver lookups that failed. This is labelled as for io_async_resolver_lookups.

io_async_stream_read

A counter giving the number of bytes read by IO::Async::Stream instances. Note that for SSL connections, this will only be able to count bytes of plaintext, not ciphertext, and thus will be a slight under-estimate in this case.

io_async_stream_written

A counter giving the number of bytes written by Stream instances. Note again for SSL connections this will only be able to count bytes of plaintext.

AUTHOR

Paul Evans <leonerd@leonerd.org.uk>