Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
///
/// [To be supplied.]
///
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;
}
///
/// 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));
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// 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
///
/// [To be supplied.]
///
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;
}
///
/// 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));
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SymLanguageVendor.cs
- documentsequencetextcontainer.cs
- FormsAuthentication.cs
- DbProviderFactoriesConfigurationHandler.cs
- XmlSchemaInfo.cs
- MetadataElement.cs
- TextUtf8RawTextWriter.cs
- TextDecorationLocationValidation.cs
- ImageField.cs
- Substitution.cs
- EventDriven.cs
- ParameterCollection.cs
- _ScatterGatherBuffers.cs
- PropertyRecord.cs
- ControlParameter.cs
- FillRuleValidation.cs
- OpenFileDialog.cs
- MetadataArtifactLoader.cs
- ObjectDesignerDataSourceView.cs
- RoutedCommand.cs
- FilteredXmlReader.cs
- StackSpiller.Bindings.cs
- MembershipUser.cs
- PageAdapter.cs
- XMLUtil.cs
- ToolStripProgressBar.cs
- ExitEventArgs.cs
- DynamicUpdateCommand.cs
- HttpDateParse.cs
- Typeface.cs
- ReadOnlyHierarchicalDataSourceView.cs
- HttpCapabilitiesBase.cs
- HMACRIPEMD160.cs
- UInt32.cs
- SqlTypeSystemProvider.cs
- DataGridViewRowPostPaintEventArgs.cs
- ConfigurationManagerHelperFactory.cs
- SqlTypeSystemProvider.cs
- PostBackTrigger.cs
- AsymmetricSignatureFormatter.cs
- DataTransferEventArgs.cs
- StrokeIntersection.cs
- BaseAsyncResult.cs
- EntityDataSourceReferenceGroup.cs
- RangeBase.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- NameNode.cs
- DrawingImage.cs
- LinqDataSource.cs
- XmlChildNodes.cs
- SignedPkcs7.cs
- FocusTracker.cs
- codemethodreferenceexpression.cs
- PrtCap_Builder.cs
- CachedRequestParams.cs
- CounterCreationDataConverter.cs
- NodeFunctions.cs
- TypedTableGenerator.cs
- AtlasWeb.Designer.cs
- FormClosedEvent.cs
- PseudoWebRequest.cs
- InternalBufferManager.cs
- TextModifierScope.cs
- SqlMethodAttribute.cs
- Clock.cs
- ChangePasswordDesigner.cs
- StringSource.cs
- Image.cs
- SqlBuilder.cs
- BrowserTree.cs
- ThreadLocal.cs
- Currency.cs
- SystemResourceHost.cs
- GridItem.cs
- HttpClientChannel.cs
- ReceiveMessageAndVerifySecurityAsyncResultBase.cs
- login.cs
- Timeline.cs
- ResourceCategoryAttribute.cs
- FacetDescription.cs
- SecureConversationSecurityTokenParameters.cs
- OciLobLocator.cs
- MethodCallConverter.cs
- DragDrop.cs
- PerformanceCounterPermissionEntry.cs
- ConfigurationManagerInternalFactory.cs
- MenuItemCollection.cs
- ThemeDirectoryCompiler.cs
- BindingMAnagerBase.cs
- ResourceExpressionBuilder.cs
- BackStopAuthenticationModule.cs
- StylusPointDescription.cs
- DebugHandleTracker.cs
- SqlGenericUtil.cs
- ThousandthOfEmRealDoubles.cs
- PropertyRef.cs
- ErrorFormatter.cs
- MDIClient.cs
- WinEventQueueItem.cs
- SafeNativeMethods.cs