protected internal void HandleThreadsEvent(CLRRuntimeSource.ThreadMetrics metrics) { var activeWorkers = metrics.MaxThreadPoolWorkers - metrics.AvailableThreadPoolWorkers; var activeCompPort = metrics.MaxThreadCompletionPort - metrics.AvailableThreadCompletionPort; _activeThreads.Record(default(SpanContext), activeWorkers, _threadPoolWorkerLabels); _availThreads.Record(default(SpanContext), metrics.AvailableThreadPoolWorkers, _threadPoolWorkerLabels); _activeThreads.Record(default(SpanContext), activeCompPort, _threadPoolComPortLabels); _availThreads.Record(default(SpanContext), metrics.AvailableThreadCompletionPort, _threadPoolComPortLabels); }
protected internal void HandleThreadsEvent(CLRRuntimeSource.ThreadMetrics metrics) { var activeWorkers = metrics.MaxThreadPoolWorkers - metrics.AvailableThreadPoolWorkers; var activeCompPort = metrics.MaxThreadCompletionPort - metrics.AvailableThreadCompletionPort; StatsRecorder .NewMeasureMap() .Put(activeThreadsMeasure, activeWorkers) .Put(availThreadsMeasure, metrics.AvailableThreadPoolWorkers) .Record(threadPoolWorkerTagValues); StatsRecorder .NewMeasureMap() .Put(activeThreadsMeasure, activeCompPort) .Put(availThreadsMeasure, metrics.AvailableThreadCompletionPort) .Record(threadPoolCompPortTagValues); }