Class SubscriptionStatistics
- Namespace
- ATAS.DataFeedsCore
- Assembly
- ATAS.DataFeedsCore.dll
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).
Added in ATAS 8.0.15.
public sealed class SubscriptionStatistics
- Inheritance
-
objectSubscriptionStatistics
- Extension Methods
Remarks
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.
Constructors
SubscriptionStatistics()
public SubscriptionStatistics()
Methods
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.
public void Reset()
Snapshot()
Reads every value at once.
public SubscriptionStatisticsSnapshot Snapshot()
Returns
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.
public SubscriptionStatisticsSnapshot Take()
Returns
TrackRejectedOptionLookup()
An option series or chain lookup was refused by the connector and never reached the broker.
public void TrackRejectedOptionLookup()
TrackRejectedOptionSubscribe()
An option subscribe request was refused by the connector and never reached the broker.
public void TrackRejectedOptionSubscribe()
TrackSubscribeRequest(Security)
A subscribe request for a single security was sent to the broker.
public void TrackSubscribeRequest(Security security)
Parameters
securitySecurity
TrackSubscribeRequests(IEnumerable<Security>)
A subscribe request was sent to the broker for a batch of securities; every security in the batch counts as one request.
public void TrackSubscribeRequests(IEnumerable<Security> securities)
Parameters
securitiesIEnumerable<Security>
TrackSubscribed(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.
public void TrackSubscribed(Security security)
Parameters
securitySecurity
TrackUnsubscribeRequest(Security)
An unsubscribe request for a single security was sent to the broker.
public void TrackUnsubscribeRequest(Security security)
Parameters
securitySecurity
TrackUnsubscribeRequests(IEnumerable<Security>)
An unsubscribe request was sent to the broker for a batch of securities; every security in the batch counts as one request.
public void TrackUnsubscribeRequests(IEnumerable<Security> securities)
Parameters
securitiesIEnumerable<Security>
TrackUnsubscribed(Security)
No active subscription is left for the security. Repeated calls for the same security are ignored.
public void TrackUnsubscribed(Security security)
Parameters
securitySecurity