FastMM documentation
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
Loading...
Searching...
No Matches
fastmm::venues::VenueStatus Struct Reference

Snapshot for the stats line; every field is a plain counter so it can be copied out from the control thread (the venue publishes it through a Seqlocked). More...

#include <fastmm/venues/venue.hpp>

Public Attributes

ChannelState md = ChannelState::Down
 
ChannelState user = ChannelState::Down
 
ChannelState order = ChannelState::Down
 
std::uint32_t books_synced = 0
 
std::uint32_t books_total = 0
 
std::uint64_t md_messages = 0
 
std::uint64_t md_malformed = 0
 
std::uint64_t md_dropped = 0
 ring overflow
 
std::uint64_t resyncs = 0
 
std::uint64_t orders_sent = 0
 
std::uint64_t cancels_sent = 0
 
std::uint64_t replaces_sent = 0
 
std::uint64_t order_events = 0
 
std::uint64_t order_send_failures = 0
 
std::uint64_t shadows = 0
 order shadows held: orders working, in flight, or not yet swept
 
std::uint64_t shadows_swept
 order shadows a reconciliation proved dead (lost terminal events)
 
std::uint64_t shadows_refused = 0
 orders not sent: no room for a shadow (OrderTableFull)
 
std::uint64_t rest_requests = 0
 
std::uint64_t rest_errors = 0
 
std::uint64_t rate_limit_cooldowns = 0
 
std::uint64_t refused_weight = 0
 Orders and replaces the connector's rate limiter refused (VenueRateLimit, never sent), by the limit that refused them (RateLimiter::check): the IP's request weight, the order-count windows of up to 10 s, up to a minute and longer (the day), and a pause (429, 418).
 
std::uint64_t refused_orders_10s = 0
 
std::uint64_t refused_orders_1m = 0
 
std::uint64_t refused_orders_1d = 0
 
std::uint64_t refused_paused = 0
 
std::int64_t clock_offset_ms = 0
 venue - local
 
std::uint64_t reconnects = 0
 
std::uint64_t executions_fetched = 0
 trade-history rows replayed into the order sink
 
std::uint64_t execution_queries = 0
 
std::uint64_t execution_query_errors = 0
 a reconciliation that could not be made exact
 
std::uint64_t funding_fetched = 0
 funding payments replayed from the venue
 
std::int64_t last_md_rx_ns = 0
 reactor clock
 
WireLatencyStats wire_tick_to_trade
 Network-thread order latency (wire_latency.hpp), cumulative for the session.
 
WireLatencyStats order_encode
 JSON encoding + signing.
 
WireLatencyStats order_send
 WebSocket write / REST request call.
 
WireLatencyWindow wire_1m
 the same three over the last minute (60-70 s)
 
WireLatencyWindow wire_1h
 and over the last hour (60-70 min)
 
VenueFeedStatus feed
 multicast venues only
 

Detailed Description

Snapshot for the stats line; every field is a plain counter so it can be copied out from the control thread (the venue publishes it through a Seqlocked).

Member Data Documentation

◆ md

ChannelState fastmm::venues::VenueStatus::md = ChannelState::Down

◆ user

ChannelState fastmm::venues::VenueStatus::user = ChannelState::Down

◆ order

ChannelState fastmm::venues::VenueStatus::order = ChannelState::Down

◆ books_synced

std::uint32_t fastmm::venues::VenueStatus::books_synced = 0

◆ books_total

std::uint32_t fastmm::venues::VenueStatus::books_total = 0

◆ md_messages

std::uint64_t fastmm::venues::VenueStatus::md_messages = 0

◆ md_malformed

std::uint64_t fastmm::venues::VenueStatus::md_malformed = 0

◆ md_dropped

std::uint64_t fastmm::venues::VenueStatus::md_dropped = 0

ring overflow

◆ resyncs

std::uint64_t fastmm::venues::VenueStatus::resyncs = 0

◆ orders_sent

std::uint64_t fastmm::venues::VenueStatus::orders_sent = 0

◆ cancels_sent

std::uint64_t fastmm::venues::VenueStatus::cancels_sent = 0

◆ replaces_sent

std::uint64_t fastmm::venues::VenueStatus::replaces_sent = 0

◆ order_events

std::uint64_t fastmm::venues::VenueStatus::order_events = 0

◆ order_send_failures

std::uint64_t fastmm::venues::VenueStatus::order_send_failures = 0

◆ shadows

std::uint64_t fastmm::venues::VenueStatus::shadows = 0

order shadows held: orders working, in flight, or not yet swept

◆ shadows_swept

std::uint64_t fastmm::venues::VenueStatus::shadows_swept
Initial value:
=
0

order shadows a reconciliation proved dead (lost terminal events)

◆ shadows_refused

std::uint64_t fastmm::venues::VenueStatus::shadows_refused = 0

orders not sent: no room for a shadow (OrderTableFull)

◆ rest_requests

std::uint64_t fastmm::venues::VenueStatus::rest_requests = 0

◆ rest_errors

std::uint64_t fastmm::venues::VenueStatus::rest_errors = 0

◆ rate_limit_cooldowns

std::uint64_t fastmm::venues::VenueStatus::rate_limit_cooldowns = 0

◆ refused_weight

std::uint64_t fastmm::venues::VenueStatus::refused_weight = 0

Orders and replaces the connector's rate limiter refused (VenueRateLimit, never sent), by the limit that refused them (RateLimiter::check): the IP's request weight, the order-count windows of up to 10 s, up to a minute and longer (the day), and a pause (429, 418).

◆ refused_orders_10s

std::uint64_t fastmm::venues::VenueStatus::refused_orders_10s = 0

◆ refused_orders_1m

std::uint64_t fastmm::venues::VenueStatus::refused_orders_1m = 0

◆ refused_orders_1d

std::uint64_t fastmm::venues::VenueStatus::refused_orders_1d = 0

◆ refused_paused

std::uint64_t fastmm::venues::VenueStatus::refused_paused = 0

◆ clock_offset_ms

std::int64_t fastmm::venues::VenueStatus::clock_offset_ms = 0

venue - local

◆ reconnects

std::uint64_t fastmm::venues::VenueStatus::reconnects = 0

◆ executions_fetched

std::uint64_t fastmm::venues::VenueStatus::executions_fetched = 0

trade-history rows replayed into the order sink

◆ execution_queries

std::uint64_t fastmm::venues::VenueStatus::execution_queries = 0

◆ execution_query_errors

std::uint64_t fastmm::venues::VenueStatus::execution_query_errors = 0

a reconciliation that could not be made exact

◆ funding_fetched

std::uint64_t fastmm::venues::VenueStatus::funding_fetched = 0

funding payments replayed from the venue

◆ last_md_rx_ns

std::int64_t fastmm::venues::VenueStatus::last_md_rx_ns = 0

reactor clock

◆ wire_tick_to_trade

WireLatencyStats fastmm::venues::VenueStatus::wire_tick_to_trade

Network-thread order latency (wire_latency.hpp), cumulative for the session.

The ns percentiles need a calibration source (Venue::set_tsc_calibration_source); counts do not. inbound receive (t0_cycles) -> send call returned

◆ order_encode

WireLatencyStats fastmm::venues::VenueStatus::order_encode

JSON encoding + signing.

◆ order_send

WireLatencyStats fastmm::venues::VenueStatus::order_send

WebSocket write / REST request call.

◆ wire_1m

WireLatencyWindow fastmm::venues::VenueStatus::wire_1m

the same three over the last minute (60-70 s)

◆ wire_1h

WireLatencyWindow fastmm::venues::VenueStatus::wire_1h

and over the last hour (60-70 min)

◆ feed

VenueFeedStatus fastmm::venues::VenueStatus::feed

multicast venues only