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
- ChineseLunisolarCalendar.cs
- ProfileModule.cs
- CreateParams.cs
- DataGridViewComboBoxCell.cs
- XhtmlConformanceSection.cs
- ToolboxItemFilterAttribute.cs
- ImageDrawing.cs
- ReferenceEqualityComparer.cs
- ReadOnlyDataSource.cs
- DataGridViewButtonCell.cs
- StructuredTypeEmitter.cs
- LocationChangedEventArgs.cs
- XmlDataSourceDesigner.cs
- PatternMatcher.cs
- DataGridItem.cs
- WebPartMinimizeVerb.cs
- DefaultSerializationProviderAttribute.cs
- ReflectEventDescriptor.cs
- CustomPopupPlacement.cs
- StdRegProviderWrapper.cs
- WasEndpointConfigContainer.cs
- assertwrapper.cs
- HostSecurityManager.cs
- WsatConfiguration.cs
- SqlNodeAnnotations.cs
- SatelliteContractVersionAttribute.cs
- StylusEditingBehavior.cs
- Converter.cs
- ParseNumbers.cs
- DataGridViewBand.cs
- Pkcs7Signer.cs
- SemaphoreFullException.cs
- CalendarItem.cs
- WebServiceTypeData.cs
- XmlSchemaComplexContentExtension.cs
- MetadataItemEmitter.cs
- XPathItem.cs
- MimeTypeMapper.cs
- BaseUriHelper.cs
- StylusDevice.cs
- WizardPanelChangingEventArgs.cs
- IdentityNotMappedException.cs
- ColorKeyFrameCollection.cs
- XPathSelectionIterator.cs
- FolderLevelBuildProviderAppliesToAttribute.cs
- Rect3DConverter.cs
- NameValueConfigurationElement.cs
- DbProviderFactory.cs
- TreeViewHitTestInfo.cs
- WebHeaderCollection.cs
- _SslState.cs
- RelationshipManager.cs
- FunctionImportElement.cs
- ArrayTypeMismatchException.cs
- TaskFileService.cs
- AccessText.cs
- SplineKeyFrames.cs
- FixedSOMPageElement.cs
- ParsedAttributeCollection.cs
- EntitySqlQueryBuilder.cs
- TreeNode.cs
- XXXOnTypeBuilderInstantiation.cs
- FixedPosition.cs
- Attributes.cs
- MsmqIntegrationChannelListener.cs
- LineInfo.cs
- ResolveInfo.cs
- DataRecordInternal.cs
- XmlQuerySequence.cs
- GenericTypeParameterBuilder.cs
- SortQuery.cs
- CodeNamespaceImport.cs
- WebRequestModulesSection.cs
- HtmlTableRowCollection.cs
- DataBoundLiteralControl.cs
- PriorityRange.cs
- DataGridRelationshipRow.cs
- CodeObject.cs
- InputReportEventArgs.cs
- WebPartTracker.cs
- ListBoxItem.cs
- _FtpControlStream.cs
- AudioException.cs
- MemberPath.cs
- AuthenticationModulesSection.cs
- Rfc2898DeriveBytes.cs
- GroupDescription.cs
- XmlILAnnotation.cs
- GridViewPageEventArgs.cs
- SerializerDescriptor.cs
- LockingPersistenceProvider.cs
- CorePropertiesFilter.cs
- TypeUsage.cs
- MouseOverProperty.cs
- XmlWhitespace.cs
- URLMembershipCondition.cs
- DrawingGroupDrawingContext.cs
- OutgoingWebRequestContext.cs
- SiteMapDataSourceDesigner.cs
- ProfileManager.cs