Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Services / Monitoring / system / Diagnosticts / CounterSample.cs / 1 / 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)); } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RawAppCommandInputReport.cs
- TabControlAutomationPeer.cs
- QilIterator.cs
- DataGridSortCommandEventArgs.cs
- CodeGenerator.cs
- LogConverter.cs
- TypefaceCollection.cs
- HandlerFactoryWrapper.cs
- ParseElementCollection.cs
- SoapReflectionImporter.cs
- SerializationEventsCache.cs
- URLAttribute.cs
- SurrogateChar.cs
- ValidationErrorEventArgs.cs
- CancelEventArgs.cs
- LinearGradientBrush.cs
- ImmutablePropertyDescriptorGridEntry.cs
- IgnoreFileBuildProvider.cs
- WriteableBitmap.cs
- Mapping.cs
- NetworkAddressChange.cs
- _LocalDataStoreMgr.cs
- DocumentViewerConstants.cs
- CancellationScope.cs
- ToolStripContainerDesigner.cs
- RuntimeVariablesExpression.cs
- _ListenerResponseStream.cs
- UserPersonalizationStateInfo.cs
- Misc.cs
- GridToolTip.cs
- MemberNameValidator.cs
- ChannelSettingsElement.cs
- StateRuntime.cs
- CheckBox.cs
- SynchronizationContext.cs
- NumberFunctions.cs
- SynchronizedInputPattern.cs
- DataBinder.cs
- AssociationSetEnd.cs
- TraceSwitch.cs
- JoinTreeNode.cs
- SmiSettersStream.cs
- StringValueSerializer.cs
- CollectionsUtil.cs
- PropertyValueUIItem.cs
- HyperLinkStyle.cs
- ReadOnlyTernaryTree.cs
- Interlocked.cs
- ItemCheckEvent.cs
- CoTaskMemUnicodeSafeHandle.cs
- DesignerVerbCollection.cs
- WindowsPrincipal.cs
- SynchronizingStream.cs
- AdPostCacheSubstitution.cs
- GZipStream.cs
- MaskedTextProvider.cs
- WrappedReader.cs
- BaseCollection.cs
- PrinterUnitConvert.cs
- SHA384.cs
- GridViewRow.cs
- Int32Rect.cs
- validationstate.cs
- Figure.cs
- StylusPlugInCollection.cs
- SharingService.cs
- COM2PropertyBuilderUITypeEditor.cs
- Parameter.cs
- SocketException.cs
- ListViewTableRow.cs
- AutoGeneratedField.cs
- _MultipleConnectAsync.cs
- TableColumnCollection.cs
- UnsafeMethods.cs
- XmlAnyElementAttribute.cs
- WSSecureConversationFeb2005.cs
- ReadOnlyNameValueCollection.cs
- LabelDesigner.cs
- objectresult_tresulttype.cs
- SafeNativeMethods.cs
- SiteMapNodeItemEventArgs.cs
- TextStore.cs
- Pens.cs
- RadioButtonPopupAdapter.cs
- Axis.cs
- WebHostedComPlusServiceHost.cs
- PenThread.cs
- TextSimpleMarkerProperties.cs
- OutputWindow.cs
- DelegatedStream.cs
- XmlWriter.cs
- SharedUtils.cs
- AnalyzedTree.cs
- RangeValidator.cs
- ConfigurationLockCollection.cs
- TemplateBaseAction.cs
- MatrixCamera.cs
- TreeNodeCollection.cs
- ParallelDesigner.cs
- CLRBindingWorker.cs