コード例 #1
0
        /// <summary>
        /// Handle a timer tick
        /// </summary>
        /// <param name="state"></param>
        private void TimerTick(object state)
        {
            if (shouldWritePerfCounters)
            {
                // Write counters to Windows perf counters
                int numErrors = OrleansCounterManager.WriteCounters(this.telemetryProducer);

                if (numErrors > 0)
                {
                    logger.Warn(ErrorCode.PerfCounterWriteErrors,
                                "Completed writing Windows perf counters with {0} errors", numErrors);
                }
                else if (logger.IsVerbose2)
                {
                    logger.Verbose2(ErrorCode.PerfCounterWriteSuccess,
                                    "Completed writing Windows perf counters sucessfully");
                }

                if (numErrors > ERROR_THRESHOLD)
                {
                    logger.Error(ErrorCode.PerfCounterWriteTooManyErrors,
                                 "Too many errors writing Windows perf counters -- disconnecting counters");
                    shouldWritePerfCounters = false;
                }
            }
            else if (logger.IsVerbose2)
            {
                logger.Verbose2("Skipping - Writing Windows perf counters is disabled");
            }
        }
コード例 #2
0
        /// <summary>
        /// Handle a timer tick
        /// </summary>
        /// <param name="state"></param>
        private void TimerTick(object state)
        {
            if (shouldWritePerfCounters)
            {
                // Write counters to Windows perf counters
                int numErrors = OrleansCounterManager.WriteCounters(this.telemetryProducer, this.logger);

                if (numErrors > 0)
                {
                    logger.LogWarning((int)ErrorCode.PerfCounterWriteErrors, "Completed writing Windows perf counters with {ErrorCount} errors", numErrors);
                }
                else if (logger.IsEnabled(LogLevel.Trace))
                {
                    logger.LogTrace((int)ErrorCode.PerfCounterWriteSuccess, "Completed writing Windows perf counters successfully");
                }

                if (numErrors > ERROR_THRESHOLD)
                {
                    logger.LogError((int)ErrorCode.PerfCounterWriteTooManyErrors, "Too many errors writing Windows perf counters -- disconnecting counters");
                    shouldWritePerfCounters = false;
                }
            }
            else if (logger.IsEnabled(LogLevel.Trace))
            {
                logger.LogTrace("Skipping - Writing Windows perf counters is disabled");
            }
        }