Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Services / Monitoring / system / Diagnosticts / CounterSample.cs / 1305376 / CounterSample.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Diagnostics { using System.Diagnostics; using System; ////// A struct holding the raw data for a performance counter. /// public struct CounterSample { private long rawValue; private long baseValue; private long timeStamp; private long counterFrequency; private PerformanceCounterType counterType; private long timeStamp100nSec; private long systemFrequency; private long counterTimeStamp; // Dummy holder for an empty sample ////// public static CounterSample Empty = new CounterSample(0, 0, 0, 0, 0, 0, PerformanceCounterType.NumberOfItems32); ///[To be supplied.] ////// public CounterSample(long rawValue, long baseValue, long counterFrequency, long systemFrequency, long timeStamp, long timeStamp100nSec, PerformanceCounterType counterType) { this.rawValue = rawValue; this.baseValue = baseValue; this.timeStamp = timeStamp; this.counterFrequency = counterFrequency; this.counterType = counterType; this.timeStamp100nSec = timeStamp100nSec; this.systemFrequency = systemFrequency; this.counterTimeStamp = 0; } ///[To be supplied.] ////// public CounterSample(long rawValue, long baseValue, long counterFrequency, long systemFrequency, long timeStamp, long timeStamp100nSec, PerformanceCounterType counterType, long counterTimeStamp) { this.rawValue = rawValue; this.baseValue = baseValue; this.timeStamp = timeStamp; this.counterFrequency = counterFrequency; this.counterType = counterType; this.timeStamp100nSec = timeStamp100nSec; this.systemFrequency = systemFrequency; this.counterTimeStamp = counterTimeStamp; } ///[To be supplied.] ////// Raw value of the counter. /// public long RawValue { get { return this.rawValue; } } internal ulong UnsignedRawValue { get { return (ulong)this.rawValue; } } ////// Optional base raw value for the counter (only used if multiple counter based). /// public long BaseValue { get { return this.baseValue; } } ////// Raw system frequency /// public long SystemFrequency { get { return this.systemFrequency; } } ////// Raw counter frequency /// public long CounterFrequency { get { return this.counterFrequency; } } ////// Raw counter frequency /// public long CounterTimeStamp { get { return this.counterTimeStamp; } } ////// Raw timestamp /// public long TimeStamp { get { return this.timeStamp; } } ////// Raw high fidelity timestamp /// public long TimeStamp100nSec { get { return this.timeStamp100nSec; } } ////// Counter type /// public PerformanceCounterType CounterType { get { return this.counterType; } } ////// Static functions to calculate the performance value off the sample /// public static float Calculate(CounterSample counterSample) { return CounterSampleCalculator.ComputeCounterValue(counterSample); } ////// Static functions to calculate the performance value off the samples /// public static float Calculate(CounterSample counterSample, CounterSample nextCounterSample) { return CounterSampleCalculator.ComputeCounterValue(counterSample, nextCounterSample); } public override bool Equals(Object o) { return ( o is CounterSample) && Equals((CounterSample)o); } public bool Equals(CounterSample sample) { return (rawValue == sample.rawValue) && (baseValue == sample.baseValue) && (timeStamp == sample.timeStamp) && (counterFrequency == sample.counterFrequency) && (counterType == sample.counterType) && (timeStamp100nSec == sample.timeStamp100nSec) && (systemFrequency == sample.systemFrequency) && (counterTimeStamp == sample.counterTimeStamp); } public override int GetHashCode() { return rawValue.GetHashCode(); } public static bool operator ==(CounterSample a, CounterSample b) { return a.Equals(b); } public static bool operator !=(CounterSample a, CounterSample b) { return !(a.Equals(b)); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AuthenticationServiceManager.cs
- PageAsyncTaskManager.cs
- UpdateCompiler.cs
- ValidationException.cs
- HttpChannelListener.cs
- DateTimeParse.cs
- Regex.cs
- DataGridViewComboBoxCell.cs
- TagMapCollection.cs
- QuaternionConverter.cs
- HwndHostAutomationPeer.cs
- ParallelTimeline.cs
- BufferModesCollection.cs
- CompilerCollection.cs
- ColorDialog.cs
- XmlDataCollection.cs
- ObfuscationAttribute.cs
- CatalogZone.cs
- CodeIdentifiers.cs
- TemplateComponentConnector.cs
- ScrollBar.cs
- SpnEndpointIdentity.cs
- EntityRecordInfo.cs
- ActiveXContainer.cs
- HttpApplicationStateBase.cs
- BooleanAnimationUsingKeyFrames.cs
- DefaultAsyncDataDispatcher.cs
- InputProcessorProfiles.cs
- SslStreamSecurityElement.cs
- InvalidCastException.cs
- ToolBarTray.cs
- _ContextAwareResult.cs
- ProcessStartInfo.cs
- BinHexDecoder.cs
- TypeUtils.cs
- PersonalizationAdministration.cs
- ComboBox.cs
- XPathParser.cs
- PropertyEmitter.cs
- DeclaredTypeElementCollection.cs
- ProtocolElement.cs
- XmlTextAttribute.cs
- IsolationInterop.cs
- PrinterSettings.cs
- ZipIOLocalFileBlock.cs
- RectangleF.cs
- HttpRequestWrapper.cs
- WSFederationHttpSecurityMode.cs
- SatelliteContractVersionAttribute.cs
- CheckBox.cs
- ObjectTypeMapping.cs
- ImmutableClientRuntime.cs
- CodeNamespace.cs
- PageScaling.cs
- QuaternionAnimation.cs
- CultureSpecificStringDictionary.cs
- ApplicationTrust.cs
- IRCollection.cs
- NavigationPropertyEmitter.cs
- EnumerableCollectionView.cs
- TypeForwardedToAttribute.cs
- SQLByteStorage.cs
- Exceptions.cs
- EntityContainerRelationshipSet.cs
- ActiveXHelper.cs
- PropertyTabAttribute.cs
- TypeContext.cs
- SecurityAttributeGenerationHelper.cs
- SecurityResources.cs
- ExpressionEditorSheet.cs
- MimeTextImporter.cs
- SetterBase.cs
- PingOptions.cs
- DynamicILGenerator.cs
- Directory.cs
- RedirectionProxy.cs
- ReflectTypeDescriptionProvider.cs
- Label.cs
- VariableAction.cs
- arclist.cs
- HttpConfigurationSystem.cs
- JoinSymbol.cs
- StylusPlugin.cs
- XomlSerializationHelpers.cs
- IPEndPoint.cs
- CompositeFontInfo.cs
- OracleColumn.cs
- WindowPattern.cs
- ProfessionalColorTable.cs
- TimeIntervalCollection.cs
- RowType.cs
- ProgressBarRenderer.cs
- IntSecurity.cs
- WeakReferenceKey.cs
- TypeConverterMarkupExtension.cs
- StrongName.cs
- ExpressionVisitor.cs
- ObjectKeyFrameCollection.cs
- DataGridPagerStyle.cs
- Transform.cs