Table of Contents

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
object
SubscriptionStatistics
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

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.

public SubscriptionStatisticsSnapshot Take()

Returns

SubscriptionStatisticsSnapshot

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

security Security

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

securities IEnumerable<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

security Security

TrackUnsubscribeRequest(Security)

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

public void TrackUnsubscribeRequest(Security security)

Parameters

security Security

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

securities IEnumerable<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

security Security