PartyNetworkStatistic

Types of statistics that can be retrieved for a network.

Syntax

enum class PartyNetworkStatistic    
{  
    AverageRelayServerRoundTripLatencyInMilliseconds = 0,  
    SentProtocolPackets = 1,  
    SentProtocolBytes = 2,  
    RetriedProtocolPackets = 3,  
    RetriedProtocolBytes = 4,  
    DroppedProtocolPackets = 5,  
    ReceivedProtocolPackets = 6,  
    ReceivedProtocolBytes = 7,  
    CurrentlyQueuedSendMessages = 8,  
    CurrentlyQueuedSendMessageBytes = 9,  
    CurrentlyActiveSendMessages = 10,  
    CurrentlyActiveSendMessageBytes = 11,  
    TimedOutSendMessages = 12,  
    TimedOutSendMessageBytes = 13,  
    CanceledSendMessages = 14,  
    CanceledSendMessageBytes = 15,  
}  

Constants

Constant Description
AverageRelayServerRoundTripLatencyInMilliseconds The current moving average round trip latency ("ping time") in milliseconds to the network's cloud relay server.

This latency represents a moving average of the time it currently takes for this local device to send a message and receive a response from the transparent cloud relay server.

You can also determine a particular local endpoint's average round trip latency to another endpoint in the network by using PartyLocalEndpoint::GetEndpointStatistics() to retrieve the PartyEndpointStatistic::AverageDeviceRoundTripLatencyInMilliseconds statistic.
SentProtocolPackets The total number of internal protocol packets ever transmitted to remote devices as part of this network.

This statistic represents the total number of internal protocol packets transmitted by the local device for any network reason. It includes packets generated as a result of PartyLocalEndpoint::SendMessage() calls but doesn't necessarily have a one-to-one correspondence with them because multiple small messages may be coalesced together into a single packet, or a large message may be fragmented into multiple packets depending on configuration and environmental factors. Further, packets may be used to carry chat or other internal library functionality (e.g., API operation support messages, protocol acknowledgements or retries) on behalf of the application without an explicit PartyLocalEndpoint::SendMessage() call.

This statistic does not include any packets generated for HTTP web client operations that are used internally by the Party library for some aspects of authentication, management transactions, speech-to-text transcription, and text-to-speech synthesis.
SentProtocolBytes The total number of internal protocol bytes ever transmitted to remote devices as part of this network.

This statistic represents the total number of bytes in internal protocol packets transmitted by the local device for any network reason. This size includes PartyLocalEndpoint::SendMessage() payloads but also their internal protocol overhead, as well as any chat or other internal library functionality needed (e.g., API operation support messages, protocol acknowledgements or retries) on behalf of the application without an explicit PartyLocalEndpoint::SendMessage() call.

The reported value does not include the packet overhead for Internet protocols (e.g., UDP, IP) or that of lower level media over which the Party library internal protocol operates.

This statistic does not include the sizes of any packets generated for HTTP web client operations that are used internally by the Party library for some aspects of authentication, management transactions, speech-to-text transcription, and text-to-speech synthesis.
RetriedProtocolPackets The total number of internal protocol packets ever re-transmitted to remote devices as part of this network.

This statistic represents the total number of internal protocol packet retransmissions by the local device due to apparent environmental loss of an earlier attempt. The Party library will only retry lost packets that contain application messages sent with PartySendMessageOptions::GuaranteedDelivery or internal library messages with similar delivery requirements.

This statistic does not include any retries of packets generated for HTTP web client operations that are used internally by the Party library for some aspects of authentication, management transactions, speech-to-text transcription, and text-to-speech synthesis.
RetriedProtocolBytes The total number of internal protocol bytes ever re-transmitted to remote devices as part of this network.

This statistic represents the total number of bytes in internal protocol packet retransmissions by the local device due to apparent environmental loss of an earlier attempt. This size includes payloads of application messages sent with PartySendMessageOptions::GuaranteedDelivery or internal library messages with similar delivery requirements.

The reported value does not include the retried packet overhead for Internet protocols (e.g., UDP, IP) or that of lower level media over which the Party library internal protocol operates.

This statistic does not include the sizes of any retried packets generated for HTTP web client operations that are used internally by the Party library for some aspects of authentication, management transactions, speech-to-text transcription, and text-to-speech synthesis.
DroppedProtocolPackets The total number of internal protocol packets to remote devices in this network that are believed to have been dropped.



This statistic represents the total number of internal protocol packet transmissions by the local device that were attempted but appeared to suffer environmental loss. They may or may not have been retried (see RetriedProtocolPackets).

This statistic does not include any dropped packets that were generated for HTTP web client operations used internally by the Party library for some aspects of authentication, management transactions, speech-to-text transcription, and text-to-speech synthesis.
ReceivedProtocolPackets The total number of internal protocol packets ever received from remote devices as part of this network.

This statistic represents the total number of internal protocol packets received by the local device for any network reason, which does not have a one-to-one correspondence with PartyEndpointMessageReceivedStateChanges. Multiple small messages may be coalesced together into a single packet, or a large message may be fragmented into multiple packets depending on configuration and environmental factors. Further, packets may be used to carry chat or other internal library functionality (e.g., API operation support messages, protocol acknowledgements or retries) on behalf of the application without an explicit PartyLocalEndpoint::SendMessage() call.

This statistic does not include any packets received as part of HTTP web client operations that are used internally by the Party library for some aspects of authentication, management transactions, speech-to-text transcription, and text-to-speech synthesis.
ReceivedProtocolBytes The total number of internal protocol bytes ever received from remote devices as part of this network.

This statistic represents the total number of bytes in internal protocol packets received by the local device for any network reason. This size includes PartyEndpointMessageReceivedStateChange payloads but also their internal protocol overhead, as well as any chat or other internal library functionality needed (e.g., API operation support messages, protocol acknowledgements or retries).

The reported value does not include the packet overhead for Internet protocols (e.g., UDP, IP) or that of lower level media over which the Party library internal protocol operates.

This statistic does not include the sizes of any packets received as part of HTTP web client operations that are used internally by the Party library for some aspects of authentication, management transactions, speech-to-text transcription, and text-to-speech synthesis.
CurrentlyQueuedSendMessages The number of messages currently queued by PartyLocalEndpoint::SendMessage() but not yet transmitted from all local endpoints to all remote endpoints in the network.



For efficiency, only a single message is queued by PartyLocalEndpoint::SendMessage() when sending to multiple target endpoints at once via the transparent cloud relay server. Such messages will only be counted a single time rather than multiplied per target endpoint.
CurrentlyQueuedSendMessageBytes The number of bytes of data in messages currently queued by PartyLocalEndpoint::SendMessage() but not yet transmitted from all local endpoints to all remote endpoints in the network.

For efficiency, only a single message is queued by PartyLocalEndpoint::SendMessage() when sending to multiple target endpoints at once via the transparent cloud relay server. Such messages' bytes will only be counted a single time rather than multiplied per target endpoint.
CurrentlyActiveSendMessages The number of PartyLocalEndpoint::SendMessage() messages from all local endpoints to all remote endpoints in the network that are currently being transmitted or still have more local state changes to be processed.

A message is considered "active" as soon as its first byte has been placed in a packet that is being transmitted. It remains active until transmission completes and the local PartyDataBuffersReturnedStateChange for it (if applicable) has been returned to PartyManager::FinishProcessingStateChanges().

For efficiency, only a single message is queued by PartyLocalEndpoint::SendMessage() when sending to multiple target endpoints at once via the transparent cloud relay server. Such messages will only be counted a single time rather than multiplied per target endpoint.
CurrentlyActiveSendMessageBytes The number of bytes of data in PartyLocalEndpoint::SendMessage() messages from all local endpoints to all remote endpoints in the network that are currently being transmitted or still have more local state changes to be processed.

A message is considered "active" as soon as its first byte has been placed in a packet that is being transmitted. It remains active until transmission completes and the local PartyDataBuffersReturnedStateChange for it (if applicable) has been returned to PartyManager::FinishProcessingStateChanges().

For efficiency, only a single message is queued by PartyLocalEndpoint::SendMessage() when sending to multiple target endpoints at once via the transparent cloud relay server. Such messages' bytes will only be counted a single time rather than multiplied per target endpoint.
TimedOutSendMessages The total number of PartyLocalEndpoint::SendMessage() messages from all local endpoints to all remote endpoints in the network that were ever discarded for exceeding their send queue timeouts without being transmitted.

A message's send queue timeout is specified using PartySendMessageQueuingConfiguration::timeoutInMillseconds when calling PartyLocalEndpoint::SendMessage().

For efficiency, only a single message is queued by PartyLocalEndpoint::SendMessage() when sending to multiple target endpoints at once via the transparent cloud relay server. Such messages will only be counted a single time rather than multiplied per target endpoint.
TimedOutSendMessageBytes The total number of bytes of data in PartyLocalEndpoint::SendMessage() messages from all local endpoints to all remote endpoints in the network that were ever discarded for exceeding their send queue timeouts without being transmitted.

A message's send queue timeout is specified using PartySendMessageQueuingConfiguration::timeoutInMillseconds when calling PartyLocalEndpoint::SendMessage().

For efficiency, only a single message is queued by PartyLocalEndpoint::SendMessage() when sending to multiple target endpoints at once via the transparent cloud relay server. Such messages' bytes will only be counted a single time rather than multiplied per target endpoint.
CanceledSendMessages The total number of PartyLocalEndpoint::SendMessage() messages from all local endpoints to all remote endpoints in the network that were ever canceled.

Messages are canceled before being transmitted by the application calling PartyLocalEndpoint::CancelMessages() with a matching filter expression.

For efficiency, only a single message is queued by PartyLocalEndpoint::SendMessage() when sending to multiple target endpoints at once via the transparent cloud relay server. Such messages will only be counted a single time rather than multiplied per target endpoint.
CanceledSendMessageBytes The total number of bytes of data in PartyLocalEndpoint::SendMessage() messages from all local endpoints to all remote endpoints in the network that were ever canceled.

Messages are canceled before being transmitted by the application calling PartyLocalEndpoint::CancelMessages() with a matching filter expression.

For efficiency, only a single message is queued by PartyLocalEndpoint::SendMessage() when sending to multiple target endpoints at once via the transparent cloud relay server. Such messages' bytes will only be counted a single time rather than multiplied per target endpoint.

Requirements

Header: Party.h

See also

Party members
PartyEndpointStatistic
PartySendMessageOptions
PartyNetwork::GetNetworkStatistics
PartyLocalEndpoint::SendMessage
PartyLocalEndpoint::GetEndpointStatistics