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
- PolyBezierSegment.cs
- CompiledXpathExpr.cs
- AsyncCodeActivityContext.cs
- DrawingImage.cs
- ComponentCommands.cs
- MDIWindowDialog.cs
- DataGridViewCheckBoxColumn.cs
- StateMachineWorkflow.cs
- InvokeFunc.cs
- SqlMethodCallConverter.cs
- xdrvalidator.cs
- DataGridClipboardCellContent.cs
- configsystem.cs
- WindowsTreeView.cs
- TemplateField.cs
- TextTreeText.cs
- DATA_BLOB.cs
- ParameterReplacerVisitor.cs
- SqlNodeAnnotations.cs
- NamespaceExpr.cs
- CaseKeyBox.ViewModel.cs
- MimeAnyImporter.cs
- SecurityBindingElement.cs
- ArgumentDesigner.xaml.cs
- CodeGenerator.cs
- TypeDescriptorContext.cs
- LinqDataSourceStatusEventArgs.cs
- SourceItem.cs
- SoapMessage.cs
- MultipartIdentifier.cs
- ChameleonKey.cs
- SafeReversePInvokeHandle.cs
- MessagePropertyVariants.cs
- ModelPerspective.cs
- TransportSecurityBindingElement.cs
- TableLayoutPanelBehavior.cs
- Timer.cs
- FixedTextPointer.cs
- StrictModeSecurityHeaderElementInferenceEngine.cs
- DependencyObjectProvider.cs
- FilteredXmlReader.cs
- NullableConverter.cs
- EntityDataSourceChangingEventArgs.cs
- EventWaitHandle.cs
- XmlException.cs
- Item.cs
- COM2EnumConverter.cs
- WindowClosedEventArgs.cs
- MethodBuilderInstantiation.cs
- FontStretches.cs
- OdbcTransaction.cs
- HttpApplicationFactory.cs
- LambdaCompiler.Lambda.cs
- XPathSelfQuery.cs
- COAUTHINFO.cs
- EditorServiceContext.cs
- SerialPinChanges.cs
- ManipulationDevice.cs
- SchemaMapping.cs
- SiteMapNode.cs
- GridEntryCollection.cs
- QueuePathDialog.cs
- WindowsBrush.cs
- Cursors.cs
- ListSourceHelper.cs
- ApplicationInterop.cs
- DefaultBindingPropertyAttribute.cs
- CodeGotoStatement.cs
- BaseParagraph.cs
- DataGridPageChangedEventArgs.cs
- WrapPanel.cs
- ConfigurationCollectionAttribute.cs
- CompilerResults.cs
- MatrixTransform3D.cs
- JournalEntry.cs
- OrderedEnumerableRowCollection.cs
- XomlCompilerParameters.cs
- InvalidAsynchronousStateException.cs
- StylusButton.cs
- MenuItemStyle.cs
- AccessorTable.cs
- UnitySerializationHolder.cs
- DynamicPropertyReader.cs
- SettingsPropertyNotFoundException.cs
- WebDescriptionAttribute.cs
- QilSortKey.cs
- TypeReference.cs
- ConfigurationSectionGroup.cs
- ActiveXContainer.cs
- DataGridViewRow.cs
- ValidationErrorCollection.cs
- UInt16Storage.cs
- GridViewActionList.cs
- SqlVisitor.cs
- DrawingCollection.cs
- ObjectDisposedException.cs
- ObjectListShowCommandsEventArgs.cs
- PermissionSetEnumerator.cs
- BufferedWebEventProvider.cs
- ClientApiGenerator.cs