Code:
/ DotNET / DotNET / 8.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
- FormsAuthenticationTicket.cs
- XdrBuilder.cs
- ThreadNeutralSemaphore.cs
- ValuePattern.cs
- CodeTypeParameter.cs
- newitemfactory.cs
- SqlDataSourceCommandEventArgs.cs
- MediaTimeline.cs
- InputBuffer.cs
- HttpCachePolicyElement.cs
- InheritanceContextChangedEventManager.cs
- InvokeGenerator.cs
- AssemblyBuilderData.cs
- WinEventTracker.cs
- SmtpCommands.cs
- HttpAsyncResult.cs
- Scene3D.cs
- CodePageEncoding.cs
- RegexCompilationInfo.cs
- Typeface.cs
- ZoneButton.cs
- WizardForm.cs
- RoleManagerModule.cs
- SafeThemeHandle.cs
- BaseServiceProvider.cs
- ColumnMapTranslator.cs
- TableParaClient.cs
- ServiceRoute.cs
- CheckBox.cs
- Resources.Designer.cs
- DataGridViewSelectedRowCollection.cs
- WebPartTransformer.cs
- WhitespaceRule.cs
- DefaultMemberAttribute.cs
- OutputWindow.cs
- DocumentViewerHelper.cs
- DocumentViewerHelper.cs
- TableDetailsCollection.cs
- FieldTemplateFactory.cs
- XamlNamespaceHelper.cs
- WebPartActionVerb.cs
- ToolStripGripRenderEventArgs.cs
- MessageQueue.cs
- ViewLoader.cs
- FileLogRecordHeader.cs
- EraserBehavior.cs
- FunctionDescription.cs
- OdbcConnectionOpen.cs
- Int64Storage.cs
- AlignmentXValidation.cs
- ConfigurationStrings.cs
- TextEffect.cs
- WebPart.cs
- WizardPanelChangingEventArgs.cs
- XmlRootAttribute.cs
- MarshalDirectiveException.cs
- FullTrustAssembliesSection.cs
- TimelineGroup.cs
- BulletedListEventArgs.cs
- Lease.cs
- GridViewColumnHeader.cs
- DatagridviewDisplayedBandsData.cs
- XmlLoader.cs
- SoapIncludeAttribute.cs
- AssemblyFilter.cs
- ColumnBinding.cs
- DataContractJsonSerializerOperationBehavior.cs
- RepeaterItemEventArgs.cs
- OracleCommand.cs
- ErrorWrapper.cs
- DesignerObjectListAdapter.cs
- SignatureConfirmationElement.cs
- HtmlButton.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- DependencyPropertyKind.cs
- StrokeFIndices.cs
- Utilities.cs
- ProfilePropertySettingsCollection.cs
- ClientRoleProvider.cs
- ItemChangedEventArgs.cs
- ColorKeyFrameCollection.cs
- OracleTimeSpan.cs
- DataPagerCommandEventArgs.cs
- SplitterDesigner.cs
- DrawingDrawingContext.cs
- InternalTypeHelper.cs
- PageFunction.cs
- ListenerElementsCollection.cs
- DbConnectionStringCommon.cs
- SecurityUtils.cs
- Win32Interop.cs
- BroadcastEventHelper.cs
- SerializableAttribute.cs
- NativeMethods.cs
- InputScopeAttribute.cs
- FileDialogPermission.cs
- ListDesigner.cs
- RemotingConfiguration.cs
- RegexGroupCollection.cs
- BaseTemplateParser.cs