PartyLocalEndpoint::GetEndpointStatistics

Gets one or more statistic counter values for the specified target endpoints.

Syntax

PartyError GetEndpointStatistics(  
    uint32_t targetEndpointCount,  
    PartyEndpointArray targetEndpoints,  
    uint32_t statisticCount,  
    const PartyEndpointStatistic* statisticTypes,  
    uint64_t* statisticValues  
)  

Parameters

targetEndpointCount   uint32_t

The number of target endpoints in the targetEndpoints array. May be 0 to retrieve statistics for all endpoints currently in the network, including this local one.

targetEndpoints   PartyEndpointArray
input array of size targetEndpointCount

The targetEndpointCount entry array of target PartyEndpoint object pointers for which statistics should be retrieved. This is ignored when targetEndpointCount is zero.

statisticCount   uint32_t

The number of statistics in the input statisticTypes array and to be written in the statisticValues output array. This must be at least 1.

statisticTypes   PartyEndpointStatistic*
input array of size statisticCount

The statisticCount entry input array of unique PartyEndpointStatistic types to retrieve.

statisticValues   uint64_t*
output array of size statisticCount

The statisticCount entry output array where the statistic values should be written. Each statistic value will be written at the same entry index corresponding to where the requested PartyEndpointStatistic appears in the statisticTypes input array.

Return value

PartyError

c_partyErrorSuccess if retrieving the endpoint statistics succeeded or an error code otherwise. The human-readable form of the error code can be retrieved via PartyManager::GetErrorMessage().

Remarks

This method is used to retrieve performance counters, queue lengths, historical usage metrics, or other statistical information recorded between this local endpoint and a target endpoint.

Alternatively, multiple target endpoints can be provided, or a zero-entry array to retrieve statistics for all target endpoints currently in the network, including this local one. If multiple target endpoints are requested, then the values returned are the combined statistics for those endpoints. The particular method used to combine multiple endpoint statistics into a single value depends on and is described by the specific PartyEndpointStatistic type.

A given PartyEndpointStatistic type may appear in any order in the statisticTypes array, but must not be specified more than once. Each corresponding statistic value will be written to the statisticValues array in the same order.

The returned statistic values are always the most current ones available. There is no guarantee they will report the same value from one GetEndpointStatistics() call to the next, even if there were no intervening calls to PartyManager::StartProcessingStateChanges() or PartyManager::FinishProcessingStateChanges().

Requirements

Header: Party.h

See also

PartyLocalEndpoint
PartyEndpointStatistic
PartyNetwork::GetNetworkStatistics