Metrics#

Type

Name

Labels

Comments

Counter

roq_counter

Gateway specific.

Histogram

roq_inter_process_latency

  • sender

  • receiver

receive_time - source_send_time

  • server

  • client

Histogram

roq_latency

  • source

  • connection

  • function

Gateway specific. Typically measuring transport level ping/pong latency as ping and protocol level heartbeat latency as heartbeat.

  • gateway

Histogram

roq_profile

  • source

  • function

Function profiling

  • server

  • client

  • bridge

Counter

roq_clients

  • source

  • event

Counts number of client events, e.g. connect and disconnect.

  • server

Histogram

roq_events

  • source

Profile incoming events.

  • server

  • bridge

Counter

roq_exceptions

  • source

Counts client requests rejected by the gateway.

  • server

Histogram

roq_heartbeat_latency

  • sender

  • receiver

(receive_time - origin_create_time) / 2

  • server

Counter

roq_process

  • source

  • name

Process information, e.g. start_time.

  • server

Histogram

roq_round_trip_latency

  • sender

  • receiver

now - origin_create_time. Measures internal round-trip latency (market data event received to order request being sent), aka. tick-to-trade.

  • server

Counter

roq_updated

  • source

  • connection

  • state

Counts number of state changes for a connection. States may include e.g. disconnected, connecting, … ready.

Counter

roq_event_log

  • source

  • category

  • name

Counts activity, e.g. consumed_bytes and produced_bytes.

  • server

Histogram

roq_market_data_latency

  • source

  • function

receive_time_utc - exchange_time_utc

  • server

  • client

Histogram

roq_request_latency

  • source

  • function

Measures request round-trip latency, i.e. request send time to ack receive time. The function label is used to enumerate origin of the response, e.g. gateway or exchange.

  • server

  • bridge

Histogram

roq_journal_latency

  • source

now - origin_create_time. Measures round-trip latency between gateway and roq-journal.

  • server

Histogram

roq_end_to_end_latency

  • source

sending_time - origin_create_time. Note! Sending time is measured after outbound message from bridge.

  • bridge

Gauge

roq_rate_limiter

  • source

  • function

  • period

Exchange rate limiter usage (pass-through, i.e. no attempt to normalize).

  • gateway

Notes#

  • The source label has the name of the component (usually the --name flag). Used when measuring something at the component level, e.g. function profiling.

  • The sender and receiver labels are also names of components. Used when measuring something happening between two components, e.g. heartbeat.

  • The category label is used with event-logs to enumerate public and private data streams.

  • The name label is typically used with category to identify a measurement point.

  • The event label is used to indicate a specific event.

  • Histograms used for profiling anything internal to the process use the following buckets (in nanoseconds)

    • 500, 1000, 2000, 5000, 10000, 20000

  • Histograms used for profiling anything external to the process use the following buckets (in nanoseconds)

    • 10000, 100000, 1000000, 10000000, 100000000, 1000000000