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
- ViewManagerAttribute.cs
- Stylesheet.cs
- DbConnectionStringCommon.cs
- CodeArrayCreateExpression.cs
- ConstraintManager.cs
- UnionExpr.cs
- ClientSponsor.cs
- NoResizeHandleGlyph.cs
- ScriptHandlerFactory.cs
- ExtendedProperty.cs
- TrustManager.cs
- WindowsFormsHostPropertyMap.cs
- DataGridViewColumnConverter.cs
- IApplicationTrustManager.cs
- StringFreezingAttribute.cs
- NumberSubstitution.cs
- CombinedGeometry.cs
- HostedHttpTransportManager.cs
- OdbcError.cs
- ColumnReorderedEventArgs.cs
- RtfToXamlReader.cs
- HandlerFactoryCache.cs
- ResolveNameEventArgs.cs
- XPathChildIterator.cs
- EntitySetBase.cs
- InternalBufferOverflowException.cs
- Attachment.cs
- StylusPointProperty.cs
- ObjectDataSourceSelectingEventArgs.cs
- FontWeight.cs
- log.cs
- Native.cs
- CircleHotSpot.cs
- DecimalAnimationBase.cs
- DBConcurrencyException.cs
- ResourceManagerWrapper.cs
- HtmlToClrEventProxy.cs
- OdbcCommandBuilder.cs
- LazyTextWriterCreator.cs
- StoreContentChangedEventArgs.cs
- DateTimeOffsetConverter.cs
- EventDescriptor.cs
- DetailsViewInsertedEventArgs.cs
- DetailsViewCommandEventArgs.cs
- DependencyPropertyKey.cs
- HttpWebRequest.cs
- NamespaceCollection.cs
- XmlLoader.cs
- XmlLinkedNode.cs
- AnimationClockResource.cs
- TreeIterator.cs
- ChannelListenerBase.cs
- TreeView.cs
- JapaneseCalendar.cs
- AssemblyBuilder.cs
- CodeArrayCreateExpression.cs
- JpegBitmapEncoder.cs
- DataGridViewCellEventArgs.cs
- UnauthorizedAccessException.cs
- ExpanderAutomationPeer.cs
- ComUdtElementCollection.cs
- ConnectionsZone.cs
- DataGridViewRowsRemovedEventArgs.cs
- MouseGestureConverter.cs
- GeneralTransform3D.cs
- DataGridViewRowPostPaintEventArgs.cs
- SigningDialog.cs
- DataGridLength.cs
- FastEncoder.cs
- ConfigurationSettings.cs
- CompilerErrorCollection.cs
- CodeMemberMethod.cs
- StrongNameMembershipCondition.cs
- UrlUtility.cs
- PrivacyNoticeElement.cs
- DataBoundControlActionList.cs
- ToolStripOverflow.cs
- StringInfo.cs
- ConstraintCollection.cs
- webclient.cs
- ChtmlMobileTextWriter.cs
- StringConcat.cs
- TypeSemantics.cs
- GridViewRowPresenter.cs
- ClearCollection.cs
- SemanticBasicElement.cs
- ResolveNameEventArgs.cs
- Enum.cs
- ContainerUIElement3D.cs
- XamlFigureLengthSerializer.cs
- Roles.cs
- CheckPair.cs
- IsolationInterop.cs
- DeploymentExceptionMapper.cs
- PackageStore.cs
- CalculatedColumn.cs
- MatrixTransform3D.cs
- ListViewAutomationPeer.cs
- VectorCollection.cs
- DataStreamFromComStream.cs