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
- SerialPinChanges.cs
- SchemaInfo.cs
- TouchFrameEventArgs.cs
- CollectionChangedEventManager.cs
- Executor.cs
- FutureFactory.cs
- Claim.cs
- StateManagedCollection.cs
- ShapingWorkspace.cs
- WinEventWrap.cs
- Trace.cs
- ExtenderControl.cs
- Base64Decoder.cs
- Win32SafeHandles.cs
- CriticalFileToken.cs
- ContentType.cs
- Graph.cs
- TrackPointCollection.cs
- WhitespaceRuleReader.cs
- BooleanSwitch.cs
- xdrvalidator.cs
- AnnotationService.cs
- KeyFrames.cs
- BitmapMetadataEnumerator.cs
- PermissionRequestEvidence.cs
- XPathSingletonIterator.cs
- RadioButtonList.cs
- XmlMemberMapping.cs
- SoapServerMessage.cs
- errorpatternmatcher.cs
- MetabaseSettingsIis7.cs
- CngProvider.cs
- DecimalConverter.cs
- StyleCollection.cs
- MostlySingletonList.cs
- DataRowChangeEvent.cs
- StylusDownEventArgs.cs
- Unit.cs
- SocketException.cs
- ActivityDesignerAccessibleObject.cs
- BitmapEffect.cs
- SocketException.cs
- ExecutionContext.cs
- GacUtil.cs
- DecimalStorage.cs
- WebPartConnectionsCancelEventArgs.cs
- Parser.cs
- Graphics.cs
- AddInController.cs
- DataBindingHandlerAttribute.cs
- DBSqlParserColumn.cs
- AppDomainUnloadedException.cs
- DataListCommandEventArgs.cs
- SessionPageStateSection.cs
- TemplateXamlParser.cs
- Schema.cs
- FilterQueryOptionExpression.cs
- DataGridItemEventArgs.cs
- CheckBoxAutomationPeer.cs
- MaskedTextBoxTextEditor.cs
- SourceFileBuildProvider.cs
- InkCanvasSelectionAdorner.cs
- ProfileSection.cs
- DataRowView.cs
- ByteRangeDownloader.cs
- DataGridColumn.cs
- MultiSelector.cs
- DependencyPropertyChangedEventArgs.cs
- TextEffect.cs
- WebResponse.cs
- DefaultAsyncDataDispatcher.cs
- EdmItemCollection.OcAssemblyCache.cs
- DescendantQuery.cs
- PixelShader.cs
- StrokeCollection2.cs
- ConstructorNeedsTagAttribute.cs
- TextBox.cs
- ComboBoxItem.cs
- DBBindings.cs
- XmlSchemaElement.cs
- SqlLiftIndependentRowExpressions.cs
- SR.cs
- XmlILStorageConverter.cs
- SearchForVirtualItemEventArgs.cs
- RepeatButton.cs
- DataServiceOperationContext.cs
- DetailsViewUpdateEventArgs.cs
- MachineSettingsSection.cs
- WindowsRegion.cs
- HMACSHA1.cs
- XamlTypeMapper.cs
- GeometryHitTestResult.cs
- AuthorizationRuleCollection.cs
- Vars.cs
- CreateUserErrorEventArgs.cs
- ObjectTag.cs
- ParentUndoUnit.cs
- DataGridColumnCollection.cs
- TargetParameterCountException.cs
- XPathDocumentIterator.cs