Exemple #1
0
        public void LogMessageReceived(ComplianceMessage message)
        {
            message.ProtocolContext.QueueStartTime = new DateTime?(DateTime.UtcNow);
            IPerformanceCounterAccessor counter = this.GetCounter(message.ComplianceMessageType.ToString());

            if (counter != null)
            {
                counter.AddQueueEvent(QueueEvent.Enqueue);
            }
        }
Exemple #2
0
        public void LogMessageProcessing(ComplianceMessage message)
        {
            message.ProtocolContext.QueueEndTime     = new DateTime?(DateTime.UtcNow);
            message.ProtocolContext.ProcessStartTime = new DateTime?(DateTime.UtcNow);
            IPerformanceCounterAccessor counter = this.GetCounter(message.ComplianceMessageType.ToString());

            if (counter != null)
            {
                long latency = 0L;
                if (message.ProtocolContext.QueueStartTime != null && message.ProtocolContext.QueueEndTime != null)
                {
                    latency = (long)(message.ProtocolContext.QueueEndTime.Value - message.ProtocolContext.QueueStartTime.Value).TotalMilliseconds;
                }
                counter.AddDequeueLatency(latency);
                counter.AddQueueEvent(QueueEvent.Dequeue);
                counter.AddProcessorEvent(ProcessorEvent.StartProcessing);
            }
        }