Code:
/ FX-1434 / FX-1434 / 1.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
- MembershipPasswordException.cs
- ValueChangedEventManager.cs
- SettingsAttributeDictionary.cs
- ZipArchive.cs
- NamedPipeAppDomainProtocolHandler.cs
- TargetControlTypeAttribute.cs
- MouseEvent.cs
- WindowsBrush.cs
- XmlnsCompatibleWithAttribute.cs
- InstanceDataCollectionCollection.cs
- StylusCollection.cs
- VectorCollectionConverter.cs
- CompositeKey.cs
- ScriptingRoleServiceSection.cs
- XPathPatternParser.cs
- XmlSchemaElement.cs
- RedBlackList.cs
- XmlSignificantWhitespace.cs
- ThreadExceptionDialog.cs
- XmlSerializerSection.cs
- AdornerDecorator.cs
- TrackPoint.cs
- ObjectListCommand.cs
- OperatorExpressions.cs
- ValidationSummaryDesigner.cs
- AcceleratedTokenProvider.cs
- GraphicsContext.cs
- HighlightVisual.cs
- XamlPointCollectionSerializer.cs
- TrustLevel.cs
- StringValueSerializer.cs
- SmtpClient.cs
- FormClosingEvent.cs
- AccessDataSourceView.cs
- ServiceMetadataContractBehavior.cs
- CrossAppDomainChannel.cs
- SqlCommandSet.cs
- CheckableControlBaseAdapter.cs
- MissingManifestResourceException.cs
- DocumentXPathNavigator.cs
- GroupItemAutomationPeer.cs
- SqlConnectionManager.cs
- PageBuildProvider.cs
- _CacheStreams.cs
- UserPreferenceChangedEventArgs.cs
- SectionXmlInfo.cs
- WebBrowsableAttribute.cs
- MultiBindingExpression.cs
- ConfigXmlDocument.cs
- WeakReference.cs
- QilInvokeEarlyBound.cs
- SqlNamer.cs
- WebBrowsableAttribute.cs
- FileRegion.cs
- MachineKeySection.cs
- NeutralResourcesLanguageAttribute.cs
- BamlRecords.cs
- StrokeNode.cs
- VisualTreeHelper.cs
- FileLogRecordEnumerator.cs
- Hyperlink.cs
- Span.cs
- PathSegmentCollection.cs
- safex509handles.cs
- ExtendedProperty.cs
- ColumnMapCopier.cs
- WpfPayload.cs
- CmsUtils.cs
- FixedPageProcessor.cs
- FlowDocument.cs
- SvcFileManager.cs
- BitmapEffectDrawingContextWalker.cs
- CompiledQuery.cs
- IndexedGlyphRun.cs
- BinaryFormatterWriter.cs
- EntitySqlQueryBuilder.cs
- BitmapFrameEncode.cs
- AppDomainProtocolHandler.cs
- WindowShowOrOpenTracker.cs
- CheckoutException.cs
- ButtonFieldBase.cs
- PreservationFileWriter.cs
- SpellCheck.cs
- DataGridViewCell.cs
- Rijndael.cs
- DisplayClaim.cs
- Console.cs
- NetworkCredential.cs
- DataGridView.cs
- UInt16Storage.cs
- Automation.cs
- controlskin.cs
- DocumentViewerConstants.cs
- TableCell.cs
- LifetimeServices.cs
- DesignObjectWrapper.cs
- RoutedEventValueSerializer.cs
- HierarchicalDataBoundControlAdapter.cs
- TrackBar.cs
- RequestResizeEvent.cs