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
- ArrayListCollectionBase.cs
- AssemblyCache.cs
- ChannelFactory.cs
- UriExt.cs
- SiteMapPath.cs
- UInt32Converter.cs
- ExpressionList.cs
- WebPartTransformerCollection.cs
- Events.cs
- ErrorFormatterPage.cs
- BitmapSourceSafeMILHandle.cs
- ProcessModelSection.cs
- TdsValueSetter.cs
- ZoneLinkButton.cs
- Messages.cs
- GenericEnumConverter.cs
- GroupStyle.cs
- ExceptionUtil.cs
- ServiceModelInstallComponent.cs
- HostProtectionException.cs
- AssemblyHelper.cs
- ISAPIWorkerRequest.cs
- Geometry3D.cs
- Profiler.cs
- FlowNode.cs
- PropertyManager.cs
- PreparingEnlistment.cs
- BooleanConverter.cs
- XmlReaderSettings.cs
- ColumnMapCopier.cs
- tooltip.cs
- WebServiceClientProxyGenerator.cs
- Form.cs
- CancelEventArgs.cs
- ApplicationHost.cs
- ConfigurationLoaderException.cs
- InkCanvasFeedbackAdorner.cs
- PolyBezierSegment.cs
- EmbeddedMailObjectsCollection.cs
- RelationshipSet.cs
- ZoneMembershipCondition.cs
- XhtmlConformanceSection.cs
- FloatAverageAggregationOperator.cs
- XmlTypeMapping.cs
- IndexObject.cs
- Publisher.cs
- LocalizationParserHooks.cs
- XmlSchemaRedefine.cs
- SqlGenericUtil.cs
- EntityRecordInfo.cs
- FloatSumAggregationOperator.cs
- DataGridHeaderBorder.cs
- BaseDataListPage.cs
- SQLBytesStorage.cs
- NamedPermissionSet.cs
- DrawingDrawingContext.cs
- InstancePersistence.cs
- ListView.cs
- BinaryWriter.cs
- SystemTcpConnection.cs
- ExpandedWrapper.cs
- FontFamily.cs
- XmlElement.cs
- TabPanel.cs
- GraphicsContext.cs
- BigIntegerStorage.cs
- ContractMapping.cs
- GridViewColumnCollection.cs
- SubpageParagraph.cs
- Atom10ItemFormatter.cs
- SortDescription.cs
- ResourceDictionary.cs
- RelationshipEnd.cs
- IndexerNameAttribute.cs
- BitmapImage.cs
- TreeViewImageKeyConverter.cs
- BamlLocalizabilityResolver.cs
- HyperLink.cs
- CompleteWizardStep.cs
- ProcessThreadCollection.cs
- GenericEnumConverter.cs
- WebPartsPersonalization.cs
- ResourcesBuildProvider.cs
- RichTextBox.cs
- DispatchProxy.cs
- Bidi.cs
- DataBindingExpressionBuilder.cs
- BasicExpandProvider.cs
- IItemContainerGenerator.cs
- XmlSchemaInclude.cs
- DataControlCommands.cs
- SettingsProperty.cs
- DataIdProcessor.cs
- RelationshipWrapper.cs
- BufferModesCollection.cs
- ResourceDescriptionAttribute.cs
- DictionaryContent.cs
- AsyncOperation.cs
- TextRunTypographyProperties.cs
- IdleTimeoutMonitor.cs