Loading...
Searching...
No Matches
ATAS.DataFeedsCore.SubscriptionStatistics Class Reference

Market data subscription load of a single connector: how many instruments are subscribed at the moment (state, by SecType) and how many subscribe/unsubscribe requests actually reached the broker (flow, since the last Reset). Flow divided by state is the flood signature: a normal number of subscribed instruments with a huge number of requests for them means somebody re-subscribes in a loop (PLAT-5011). More...

Public Member Functions

void TrackSubscribed (Security security)
 The security has at least one active subscription. Repeated calls for the same security are ignored, so the state cannot drift when subscriptions are added concurrently.
 
void TrackUnsubscribed (Security security)
 No active subscription is left for the security. Repeated calls for the same security are ignored.
 
void TrackSubscribeRequest (Security security)
 A subscribe request for a single security was sent to the broker.
 
void TrackSubscribeRequests (IEnumerable< Security > securities)
 A subscribe request was sent to the broker for a batch of securities; every security in the batch counts as one request.
 
void TrackUnsubscribeRequest (Security security)
 An unsubscribe request for a single security was sent to the broker.
 
void TrackUnsubscribeRequests (IEnumerable< Security > securities)
 An unsubscribe request was sent to the broker for a batch of securities; every security in the batch counts as one request.
 
void TrackRejectedOptionSubscribe ()
 An option subscribe request was refused by the connector and never reached the broker.
 
void TrackRejectedOptionLookup ()
 An option series or chain lookup was refused by the connector and never reached the broker.
 
SubscriptionStatisticsSnapshot Snapshot ()
 Reads every value at once.
 
SubscriptionStatisticsSnapshot Take ()
 Reads every value and starts a new measurement period in one step: a request counted concurrently lands either in the returned snapshot or in the next period, never nowhere.
 
void Reset ()
 Starts a new measurement period: the request counters go to zero and every maximum starts from what is subscribed now. The current state itself is not touched.
 

Detailed Description

Market data subscription load of a single connector: how many instruments are subscribed at the moment (state, by SecType) and how many subscribe/unsubscribe requests actually reached the broker (flow, since the last Reset). Flow divided by state is the flood signature: a normal number of subscribed instruments with a huge number of requests for them means somebody re-subscribes in a loop (PLAT-5011).

The state is kept incrementally under a short lock instead of being recalculated from the connector subscription counter: on a flood the counter holds thousands of instruments and is mutated many times per second.

Member Function Documentation

◆ Reset()

void ATAS.DataFeedsCore.SubscriptionStatistics.Reset ( )

Starts a new measurement period: the request counters go to zero and every maximum starts from what is subscribed now. The current state itself is not touched.

◆ Snapshot()

SubscriptionStatisticsSnapshot ATAS.DataFeedsCore.SubscriptionStatistics.Snapshot ( )

Reads every value at once.

◆ Take()

SubscriptionStatisticsSnapshot ATAS.DataFeedsCore.SubscriptionStatistics.Take ( )

Reads every value and starts a new measurement period in one step: a request counted concurrently lands either in the returned snapshot or in the next period, never nowhere.

◆ TrackRejectedOptionLookup()

void ATAS.DataFeedsCore.SubscriptionStatistics.TrackRejectedOptionLookup ( )

An option series or chain lookup was refused by the connector and never reached the broker.

◆ TrackRejectedOptionSubscribe()

void ATAS.DataFeedsCore.SubscriptionStatistics.TrackRejectedOptionSubscribe ( )

An option subscribe request was refused by the connector and never reached the broker.

◆ TrackSubscribed()

void ATAS.DataFeedsCore.SubscriptionStatistics.TrackSubscribed ( Security  security)

The security has at least one active subscription. Repeated calls for the same security are ignored, so the state cannot drift when subscriptions are added concurrently.

◆ TrackSubscribeRequest()

void ATAS.DataFeedsCore.SubscriptionStatistics.TrackSubscribeRequest ( Security  security)

A subscribe request for a single security was sent to the broker.

◆ TrackSubscribeRequests()

void ATAS.DataFeedsCore.SubscriptionStatistics.TrackSubscribeRequests ( IEnumerable< Security >  securities)

A subscribe request was sent to the broker for a batch of securities; every security in the batch counts as one request.

◆ TrackUnsubscribed()

void ATAS.DataFeedsCore.SubscriptionStatistics.TrackUnsubscribed ( Security  security)

No active subscription is left for the security. Repeated calls for the same security are ignored.

◆ TrackUnsubscribeRequest()

void ATAS.DataFeedsCore.SubscriptionStatistics.TrackUnsubscribeRequest ( Security  security)

An unsubscribe request for a single security was sent to the broker.

◆ TrackUnsubscribeRequests()

void ATAS.DataFeedsCore.SubscriptionStatistics.TrackUnsubscribeRequests ( IEnumerable< Security >  securities)

An unsubscribe request was sent to the broker for a batch of securities; every security in the batch counts as one request.


The documentation for this class was generated from the following file: