Exemplo n.º 1
0
        /// <summary>
        /// Gets the statistics from the remote.
        /// </summary>
        public async Task <GetStatsResult> GetStatsAsync(Context context)
        {
            CounterSet counters = new CounterSet();

            // Get stats iff compatible with service and client
            if ((_serviceCapabilities & Capabilities.GetStats) != 0 &&
                (_clientCapabilities & Capabilities.GetStats) != 0)
            {
                var response = await RunClientActionAndThrowIfFailedAsync(context, async() => await _client.GetStatsAsync(new GetStatsRequest()));

                if (response.Success)
                {
                    foreach (var entry in response.Statistics)
                    {
                        counters.Add(entry.Key, entry.Value);
                    }
                }
            }

            return(new GetStatsResult(counters));
        }
Exemplo n.º 2
0
 /// <inheritdoc />
 protected override AsyncUnaryCall <GetStatsResponse> GetStatsAsync(GetStatsRequest getStatsRequest)
 {
     return(_client.GetStatsAsync(getStatsRequest));
 }