Abyss.Telemetry (Abyss v0.2.0)
View SourceThe following telemetry spans are emitted by abyss
[:abyss, :listener, *]
Represents a Abyss server listening to a port
This span is started by the following event:
[:abyss, :listener, :start]
Represents the start of the span
This event contains the following measurements:
monotonic_time
: The time of this event, in:native
units
This event contains the following metadata:
telemetry_span_context
: A unique identifier for this spanlocal_address
: The IP address that the listener is bound tolocal_port
: The port that the listener is bound totransport_module
: The transport module in usetransport_options
: Options passed to the transport module at startup
This span is ended by the following event:
[:abyss, :listener, :stop]
Represents the end of the span
This event contains the following measurements:
monotonic_time
: The time of this event, in:native
unitsduration
: The span duration, in:native
units
This event contains the following metadata:
telemetry_span_context
: A unique identifier for this spanlocal_address
: The IP address that the listener is bound tolocal_port
: The port that the listener is bound totransport_module
: The transport module in usetransport_options
: Options passed to the transport module at startup
[:abyss, :acceptor, *]
Represents a Abyss acceptor process listening for connections
This span is started by the following event:
[:abyss, :acceptor, :start]
Represents the start of the span
This event contains the following measurements:
monotonic_time
: The time of this event, in:native
units
This event contains the following metadata:
telemetry_span_context
: A unique identifier for this spanparent_telemetry_span_context
: The span context of the:listener
which created this acceptor
This span is ended by the following event:
[:abyss, :acceptor, :stop]
Represents the end of the span
This event contains the following measurements:
monotonic_time
: The time of this event, in:native
unitsduration
: The span duration, in:native
unitsconnections
: The number of client requests that the acceptor handled
This event contains the following metadata:
telemetry_span_context
: A unique identifier for this spanparent_telemetry_span_context
: The span context of the:listener
which created this acceptorerror
: The error that caused the span to end, if it ended in error
The following events may be emitted within this span:
[:abyss, :acceptor, :spawn_error]
Abyss was unable to spawn a process to handle a connection. This occurs when too many connections are in progress; you may want to look at increasing the
num_connections
configuration parameterThis event contains the following measurements:
monotonic_time
: The time of this event, in:native
units
This event contains the following metadata:
telemetry_span_context
: A unique identifier for this span
[:abyss, :acceptor, :econnaborted]
Abyss was unable to spawn a process to handle a connection since the remote end closed before we could accept it. This usually occurs when it takes too long for your server to start processing a connection; you may want to look at tuning OS-level TCP parameters or adding more server capacity.
This event contains the following measurements:
monotonic_time
: The time of this event, in:native
units
This event contains the following metadata:
telemetry_span_context
: A unique identifier for this span
[:abyss, :connection, *]
Represents Abyss handling a specific client request
This span is started by the following event:
[:abyss, :connection, :start]
Represents the start of the span
This event contains the following measurements:
monotonic_time
: The time of this event, in:native
units
This event contains the following metadata:
telemetry_span_context
: A unique identifier for this spanparent_telemetry_span_context
: The span context of the:acceptor
span which accepted this connectionremote_address
: The IP address of the connected clientremote_port
: The port of the connected client
This span is ended by the following event:
[:abyss, :connection, :stop]
Represents the end of the span
This event contains the following measurements:
monotonic_time
: The time of this event, in:native
unitsduration
: The span duration, in:native
unitssend_oct
: The number of octets sent on the connectionsend_cnt
: The number of packets sent on the connectionrecv_oct
: The number of octets received on the connectionrecv_cnt
: The number of packets received on the connection
This event contains the following metadata:
telemetry_span_context
: A unique identifier for this spanparent_telemetry_span_context
: The span context of the:acceptor
span which accepted this connectionremote_address
: The IP address of the connected clientremote_port
: The port of the connected clienterror
: The error that caused the span to end, if it ended in error
The following events may be emitted within this span:
[:abyss, :connection, :ready]
Abyss has completed setting up the client connection
This event contains the following measurements:
monotonic_time
: The time of this event, in:native
units
This event contains the following metadata:
telemetry_span_context
: A unique identifier for this span
[:abyss, :connection, :async_recv]
Abyss has asynchronously received data from the client
This event contains the following measurements:
data
: The data received from the client
This event contains the following metadata:
telemetry_span_context
: A unique identifier for this span
[:abyss, :connection, :recv]
Abyss has synchronously received data from the client
This event contains the following measurements:
data
: The data received from the client
This event contains the following metadata:
telemetry_span_context
: A unique identifier for this span
[:abyss, :connection, :recv_error]
Abyss encountered an error reading data from the client
This event contains the following measurements:
error
: A description of the error
This event contains the following metadata:
telemetry_span_context
: A unique identifier for this span
[:abyss, :connection, :send]
Abyss has sent data to the client
This event contains the following measurements:
data
: The data sent to the client
This event contains the following metadata:
telemetry_span_context
: A unique identifier for this span
[:abyss, :connection, :send_error]
Abyss encountered an error sending data to the client
This event contains the following measurements:
data
: The data that was being sent to the clienterror
: A description of the error
This event contains the following metadata:
telemetry_span_context
: A unique identifier for this span
[:abyss, :connection, :sendfile]
Abyss has sent a file to the client
This event contains the following measurements:
filename
: The filename containing data sent to the clientoffset
: The offset (in bytes) within the file sending started frombytes_written
: The number of bytes written
This event contains the following metadata:
telemetry_span_context
: A unique identifier for this span
[:abyss, :connection, :sendfile_error]
Abyss encountered an error sending a file to the client
This event contains the following measurements:
filename
: The filename containing data that was being sent to the clientoffset
: The offset (in bytes) within the file where sending started fromlength
: The number of bytes that were attempted to senderror
: A description of the error
This event contains the following metadata:
telemetry_span_context
: A unique identifier for this span
[:abyss, :connection, :socket_shutdown]
Abyss has shutdown the client connection
This event contains the following measurements:
monotonic_time
: The time of this event, in:native
unitsway
: The direction in which the socket was shut down
This event contains the following metadata:
telemetry_span_context
: A unique identifier for this span
Summary
Types
@type metadata() :: :telemetry.event_metadata()
@type span_name() :: :listener | :sender | :connection
Functions
@spec monotonic_time() :: integer()