This structure contains a performance counter's raw data. It represents a sample taken at a particular point in time (the CounterTimeStamp property). Calculate( ) returns a counter's performance data as a float value. The two-argument form returns values for calculated performance counters, such as averages. TimeStamp and TimeStamp100nSec return the system timestamp, with varying degrees of accuracy. ( TimeStamp100nSec is the most precise, reporting a timestamp within .1 milliseconds .) BaseValue specifies a base raw value for samples based on multiple counters. RawValue contains the sample's numeric value. SystemFrequency represents how often the system reads the counter, and CounterFrequency represents how often samples are taken by the counter. Both frequencies are represented in milliseconds.. Figure 29-3. TraceListener and related classespublic struct CounterSample { // Public Constructors public CounterSample (long rawValue , long baseValue , long counterFrequency , long systemFrequency , long timeStamp , long timeStamp100nSec , PerformanceCounterType counterType ); public CounterSample (long rawValue , long baseValue , long counterFrequency , long systemFrequency , long timeStamp , long timeStamp100nSec , PerformanceCounterType counterType , long counterTimeStamp ); // Public Static Fields public static CounterSample Empty ; // =System.Diagnostics.CounterSample // Public Instance Properties public long BaseValue {get; } public long CounterFrequency {get; } public long CounterTimeStamp {get; } public PerformanceCounterType CounterType {get; } public long RawValue {get; } public long SystemFrequency {get; } public long TimeStamp {get; } public long TimeStamp100nSec {get; } // Public Static Methods public static float Calculate (CounterSample counterSample ); public static float Calculate (CounterSample counterSample , CounterSample nextCounterSample ); } HierarchySystem.Object System.ValueType CounterSample Returned ByInstanceData.Sample , PerformanceCounter.NextSample( ) Passed ToCounterSampleCalculator.ComputeCounterValue( ) , InstanceData.InstanceData( ) Figure 29-4. CodeAccessSecurityAttributes, collections, and related classes |