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
- Odbc32.cs
- MatchAttribute.cs
- GlyphRun.cs
- SortExpressionBuilder.cs
- XamlReaderConstants.cs
- XsltOutput.cs
- TextShapeableCharacters.cs
- BaseParagraph.cs
- MultiDataTrigger.cs
- PropertyEmitterBase.cs
- CodeDefaultValueExpression.cs
- HostedElements.cs
- PropertiesTab.cs
- Wildcard.cs
- ProcessHostMapPath.cs
- MarkerProperties.cs
- ListControl.cs
- LinqDataSourceDeleteEventArgs.cs
- TextDecorationLocationValidation.cs
- ListenerUnsafeNativeMethods.cs
- MembershipValidatePasswordEventArgs.cs
- StatusBar.cs
- NameValueCollection.cs
- Compilation.cs
- SmtpException.cs
- DynamicQueryableWrapper.cs
- cryptoapiTransform.cs
- Helper.cs
- ContextBase.cs
- ExpressionStringBuilder.cs
- RequiredAttributeAttribute.cs
- LinkDescriptor.cs
- SqlFunctionAttribute.cs
- SortedSet.cs
- NetSectionGroup.cs
- DbDataSourceEnumerator.cs
- GeometryDrawing.cs
- TreeNodeConverter.cs
- RequestCache.cs
- Expression.cs
- WebScriptServiceHostFactory.cs
- ServiceNameCollection.cs
- ClientRoleProvider.cs
- InvalidDataException.cs
- ExpressionDumper.cs
- DrawingAttributeSerializer.cs
- WebBrowserNavigatedEventHandler.cs
- SecurityTokenResolver.cs
- ParameterCollection.cs
- DSASignatureDeformatter.cs
- XmlLanguage.cs
- precedingquery.cs
- DelegateTypeInfo.cs
- SmiContext.cs
- ParameterReplacerVisitor.cs
- QilPatternFactory.cs
- indexingfiltermarshaler.cs
- ToolStripGripRenderEventArgs.cs
- _TransmitFileOverlappedAsyncResult.cs
- TextTreeObjectNode.cs
- JsonWriterDelegator.cs
- DbgUtil.cs
- ObjectSet.cs
- List.cs
- SerializerProvider.cs
- QueryConverter.cs
- oledbmetadatacollectionnames.cs
- FontStyle.cs
- TagPrefixAttribute.cs
- GradientStopCollection.cs
- HttpApplication.cs
- TreeView.cs
- ResolveMatchesApril2005.cs
- EnglishPluralizationService.cs
- XmlAttributeAttribute.cs
- JoinElimination.cs
- PanelDesigner.cs
- XmlSchemaAll.cs
- SoapReflectionImporter.cs
- SmtpNtlmAuthenticationModule.cs
- MemoryStream.cs
- DataFormats.cs
- CallSiteOps.cs
- CqlWriter.cs
- PathGeometry.cs
- BoundPropertyEntry.cs
- VersionedStreamOwner.cs
- SchemaContext.cs
- BorderGapMaskConverter.cs
- GridItemPattern.cs
- FontNameEditor.cs
- BindingExpressionBase.cs
- wgx_render.cs
- ItemCheckedEvent.cs
- NameTable.cs
- KnownBoxes.cs
- Literal.cs
- IISUnsafeMethods.cs
- UnsafeNativeMethodsTablet.cs
- ProcessHostMapPath.cs