Microsoft.WindowsAzure.CAT.ServiceBusExplorer.ListenerControl.InternalUpdateStatistics C# (CSharp) Method

InternalUpdateStatistics() private method

Updates the statistics and graph on the control.
private InternalUpdateStatistics ( long messageNumber, long elapsedMilliseconds, long size, bool chartEnabled ) : void
messageNumber long Elapsed time.
elapsedMilliseconds long Elapsed time.
size long Message size.
chartEnabled bool True if the chart is enabled, false otherwise.
return void
        private void InternalUpdateStatistics(long messageNumber, long elapsedMilliseconds, long size, bool chartEnabled)
        {
            lock (this)
            {
                var elapsedSeconds = (double)elapsedMilliseconds / 1000;

                if (elapsedSeconds > receiverMaximumTime)
                {
                    receiverMaximumTime = elapsedSeconds;
                }
                if (elapsedSeconds < receiverMinimumTime)
                {
                    receiverMinimumTime = elapsedSeconds;
                }
                receiverTotalTime += elapsedSeconds;
                receiverMessageSizeTotal += size;
                receiverMessageNumber += messageNumber;
                receiverAverageTime = receiverMessageNumber > 0 ? receiverTotalTime / receiverMessageNumber : 0;
                receiverMessagesPerSecond = receiverTotalTime > 0 ? receiverMessageNumber / receiverTotalTime : 0;
                receiverMessageSizePerSecond = receiverTotalTime > 0 ? receiverMessageSizeTotal / (receiverTotalTime * 1024) : 0;

                txtMessagesPerSecond.Text = string.Format(LabelFormat, receiverMessagesPerSecond);
                txtMessagesPerSecond.Refresh();
                txtMessagesTotal.Text = receiverMessageNumber.ToString(CultureInfo.InvariantCulture);
                txtMessagesTotal.Refresh();
                txtAverageDuration.Text = string.Format(LabelFormat, receiverAverageTime);
                txtAverageDuration.Refresh();
                txtMessageSizePerSecond.Text = string.Format(LabelFormat, receiverMessageSizePerSecond);
                txtAverageDuration.Refresh();

                if (!chartEnabled)
                {
                    return;
                }
                chart.Series["ReceiverLatency"].Points.AddXY(receiverMessageNumber, elapsedSeconds * averageTimeScale);
                chart.Series["ReceiverThroughput"].Points.AddXY(receiverMessageNumber, receiverMessagesPerSecond * eventDataPerSecondScale);
                chart.Series["MessageSizePerSecond"].Points.AddXY(receiverMessageNumber, receiverMessageSizePerSecond * messageSizePerSecondScale);
            }
        }
ListenerControl