> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PartyEndpointStatistic

> Types of statistics that can be retrieved for an endpoint.

Types of statistics that can be retrieved for an endpoint.

## Syntax

```cpp theme={null}
enum class PartyEndpointStatistic    
{  
    CurrentlyQueuedSendMessages = 0,  
    CurrentlyQueuedSendMessageBytes = 1,  
    CurrentlyActiveSendMessages = 2,  
    CurrentlyActiveSendMessageBytes = 3,  
    TimedOutSendMessages = 4,  
    TimedOutSendMessageBytes = 5,  
    CanceledSendMessages = 6,  
    CanceledSendMessageBytes = 7,  
    AverageDeviceRoundTripLatencyInMilliseconds = 8,  
}  
```

## Constants

| Constant                                    | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| CurrentlyQueuedSendMessages                 | The number of messages currently queued by [PartyLocalEndpoint::SendMessage()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalEndpoint/methods/partylocalendpoint_sendmessage) but not yet transmitted from the local endpoint to the specified target endpoints.<br /><br /> 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. If two or more of those endpoints are specified to [PartyLocalEndpoint::GetEndpointStatistics()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalEndpoint/methods/partylocalendpoint_getendpointstatistics) when querying for this statistic, the message 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()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalEndpoint/methods/partylocalendpoint_sendmessage) but not yet transmitted from the local endpoint to the specified target endpoints.<br /><br /> 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. If two or more of those endpoints are specified to [PartyLocalEndpoint::GetEndpointStatistics()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalEndpoint/methods/partylocalendpoint_getendpointstatistics) when querying for this statistic, the message bytes will only be counted a single time rather than multiplied per target endpoint.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| CurrentlyActiveSendMessages                 | The number of [PartyLocalEndpoint::SendMessage()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalEndpoint/methods/partylocalendpoint_sendmessage) messages from the local endpoint to the specified target endpoints that are currently being transmitted or still have more local state changes to be processed.<br /><br /> 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](/services/playfab/multiplayer/networking/reference/structs/partydatabuffersreturnedstatechange) for it (if applicable) has been returned to [PartyManager::FinishProcessingStateChanges()](/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_finishprocessingstatechanges). <br /><br /> For efficiency, only a single message is tracked per PartyLocalEndpoint::SendMessage() when sending to multiple target endpoints at once via the transparent cloud relay server. If two or more of those endpoints are specified to [PartyLocalEndpoint::GetEndpointStatistics()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalEndpoint/methods/partylocalendpoint_getendpointstatistics) when querying for this statistic, the message will only be counted a single time rather than multiplied per target endpoint.                                                                                                  |
| CurrentlyActiveSendMessageBytes             | The number of bytes of data in [PartyLocalEndpoint::SendMessage()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalEndpoint/methods/partylocalendpoint_sendmessage) messages from the local endpoint to the specified target endpoints that are currently being transmitted or still have more local state changes to be processed.<br /><br /> 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](/services/playfab/multiplayer/networking/reference/structs/partydatabuffersreturnedstatechange) for it (if applicable) has been returned to [PartyManager::FinishProcessingStateChanges()](/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_finishprocessingstatechanges). <br /><br /> For efficiency, only a single message is tracked per PartyLocalEndpoint::SendMessage() when sending to multiple target endpoints at once via the transparent cloud relay server. If two or more of those endpoints are specified to [PartyLocalEndpoint::GetEndpointStatistics()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalEndpoint/methods/partylocalendpoint_getendpointstatistics) when querying for this statistic, the message bytes will only be counted a single time rather than multiplied per target endpoint.                                                                           |
| TimedOutSendMessages                        | The total number of [PartyLocalEndpoint::SendMessage()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalEndpoint/methods/partylocalendpoint_sendmessage) messages from the local endpoint to the specified target endpoints that were ever discarded for exceeding their send queue timeouts without being transmitted.<br /><br /> A message's send queue timeout is specified using [PartySendMessageQueuingConfiguration::timeoutInMillseconds](/services/playfab/multiplayer/networking/reference/structs/partysendmessagequeuingconfiguration) when calling PartyLocalEndpoint::SendMessage(). <br /><br /> 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. If two or more of those endpoints are specified to [PartyLocalEndpoint::GetEndpointStatistics()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalEndpoint/methods/partylocalendpoint_getendpointstatistics) when querying for this statistic, the message will only be counted a single time rather than multiplied per target endpoint.   <br /><br /> When querying this statistic for all target endpoints by providing a zero-entry array to PartyLocalEndpoint::GetEndpointStatistics(), note that only endpoints that currently exist will be included. If an endpoint that had timed out messages gets destroyed between queries, this count might be perceived as "going backward".                        |
| TimedOutSendMessageBytes                    | The total number of bytes of data in [PartyLocalEndpoint::SendMessage()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalEndpoint/methods/partylocalendpoint_sendmessage) messages from the local endpoint to the specified target endpoints that were ever discarded for exceeding their send queue timeouts without being transmitted.<br /><br /> A message's send queue timeout is specified using [PartySendMessageQueuingConfiguration::timeoutInMillseconds](/services/playfab/multiplayer/networking/reference/structs/partysendmessagequeuingconfiguration) when calling PartyLocalEndpoint::SendMessage(). <br /><br /> 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. If two or more of those endpoints are specified to [PartyLocalEndpoint::GetEndpointStatistics()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalEndpoint/methods/partylocalendpoint_getendpointstatistics) when querying for this statistic, the message bytes will only be counted a single time rather than multiplied per target endpoint.   <br /><br /> When querying this statistic for all target endpoints by providing a zero-entry array to PartyLocalEndpoint::GetEndpointStatistics(), note that only endpoints that currently exist will be included. If an endpoint that had timed out messages gets destroyed between queries, this count might be perceived as "going backward". |
| CanceledSendMessages                        | The total number of [PartyLocalEndpoint::SendMessage()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalEndpoint/methods/partylocalendpoint_sendmessage) messages from the local endpoint to the specified target endpoints that were ever canceled.<br /><br /> Messages are canceled before being transmitted by the application calling PartyLocalEndpoint::CancelMessages() with a matching filter expression. <br /><br /> For efficiency, only a single message is queued by PartyLocalEndpoint::SendMessage() when sending to multiple target endpoints at once via the PartyNetwork transparent cloud relay server. If two or more of those endpoints are specified to [PartyLocalEndpoint::GetEndpointStatistics()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalEndpoint/methods/partylocalendpoint_getendpointstatistics) when querying for this statistic, the message will only be counted a single time rather than multiplied per target endpoint.   <br /><br /> When querying this statistic for all target endpoints by providing a zero-entry array to PartyLocalEndpoint::GetEndpointStatistics(), note that only endpoints that currently exist will be included. If an endpoint that had canceled messages gets destroyed between queries, this count might be perceived as "going backward".                                                                                                                                                                                             |
| CanceledSendMessageBytes                    | The total number of bytes of data in [PartyLocalEndpoint::SendMessage()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalEndpoint/methods/partylocalendpoint_sendmessage) messages from the local endpoint to the specified target endpoints that were ever canceled.<br /><br /> Messages are canceled before being transmitted by the application calling PartyLocalEndpoint::CancelMessages() with a matching filter expression. <br /><br /> For efficiency, only a single message is queued by PartyLocalEndpoint::SendMessage() when sending to multiple target endpoints at once via the PartyNetwork transparent cloud relay server. If two or more of those endpoints are specified to [PartyLocalEndpoint::GetEndpointStatistics()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalEndpoint/methods/partylocalendpoint_getendpointstatistics) when querying for this statistic, the message bytes will only be counted a single time rather than multiplied per target endpoint.   <br /><br /> When querying this statistic for all target endpoints by providing a zero-entry array to PartyLocalEndpoint::GetEndpointStatistics(), note that only endpoints that currently exist will be included. If an endpoint that had canceled messages gets destroyed between queries, this count might be perceived as "going backward".                                                                                                                                                                      |
| AverageDeviceRoundTripLatencyInMilliseconds | The current moving average round trip latency ("ping time") in milliseconds to the endpoint's owning device.<br /><br /> 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 target endpoint's device. <br /><br /> This statistic can only be queried for exactly one target endpoint at a time. The [PartyLocalEndpoint::GetEndpointStatistics()](/services/playfab/multiplayer/networking/reference/classes/PartyLocalEndpoint/methods/partylocalendpoint_getendpointstatistics) method will fail if multiple targets are provided, or if a zero-entry array is provided to attempt to query all current endpoints.   <br /><br /> You can also determine the local device's average round trip latency to the network's transparent cloud relay server by using [PartyNetwork::GetNetworkStatistics()](/services/playfab/multiplayer/networking/reference/classes/PartyNetwork/methods/partynetwork_getnetworkstatistics) to retrieve the [PartyNetworkStatistic::AverageRelayServerRoundTripLatencyInMilliseconds](/services/playfab/multiplayer/networking/reference/enums/partynetworkstatistic) statistic.                                                                                                                                                                                                                                                                                                                                               |

## Requirements

**Header:** Party.h

## See also

[Party members](/services/playfab/multiplayer/networking/reference/party_members)\
[PartyNetworkStatistic](/services/playfab/multiplayer/networking/reference/enums/partynetworkstatistic)\
[PartySendMessageQueuingConfiguration](/services/playfab/multiplayer/networking/reference/structs/partysendmessagequeuingconfiguration)\
[PartyLocalEndpoint::SendMessage](/services/playfab/multiplayer/networking/reference/classes/PartyLocalEndpoint/methods/partylocalendpoint_sendmessage)\
[PartyLocalEndpoint::GetEndpointStatistics](/services/playfab/multiplayer/networking/reference/classes/PartyLocalEndpoint/methods/partylocalendpoint_getendpointstatistics)\
[PartyNetwork::GetNetworkStatistics](/services/playfab/multiplayer/networking/reference/classes/PartyNetwork/methods/partynetwork_getnetworkstatistics)


## Related topics

- [PartyLocalEndpoint::GetEndpointStatistics](/services/playfab/multiplayer/networking/reference/classes/PartyLocalEndpoint/methods/partylocalendpoint_getendpointstatistics.md)
- [PartyNetworkStatistic](/services/playfab/multiplayer/networking/reference/enums/partynetworkstatistic.md)
- [PlayFab Party Release Notes](/services/playfab/multiplayer/networking/release-notes.md)
- [PartyDirectPeerConnectivityOptions](/services/playfab/multiplayer/networking/reference/enums/partydirectpeerconnectivityoptions.md)
- [Using direct peer-to-peer connections](/services/playfab/multiplayer/networking/concepts-direct-peer-connectivity.md)
