public void TrackNetworkQualityMetrics()
{
IDictionary<string, string> properties = new Dictionary<string, string> {
{ "Timestamp", System.DateTimeOffset.UtcNow.ToString(@"hh\:mm\:ss") } };
IDictionary<string, double> metrics = new Dictionary<string, double>();
if (_inboundMaxBitsPerSecondCount != 0)
{
metrics.Add("Maximum Inbound Speed (bit/sec)",
(double)_inboundMaxBitsPerSecondSum / _inboundMaxBitsPerSecondCount);
}
if (_outboundMaxBitsPerSecondCount != 0)
{
metrics.Add("Maximum Outbound Speed (bit/sec)",
(double)_outboundMaxBitsPerSecondSum / _outboundMaxBitsPerSecondCount);
}
Task.Run(() => _telemetry.TrackEvent("Network Avarage Quality During Call", properties, metrics));
_inboundMaxBitsPerSecondSum = 0;
_inboundMaxBitsPerSecondCount = 0;
_outboundMaxBitsPerSecondSum = 0;
_outboundMaxBitsPerSecondCount = 0;
}
}