PowerShell/src/Microsoft.PowerShell.Commands.Diagnostics/CounterSample.cs
PowerShell Team c748652c34 Copy all mapped files from [SD:725290]
commit 8cec8f150da7583b7af5efbe2853efee0179750c
2016-07-28 23:23:03 -07:00

181 lines
5.2 KiB
C#

//
// Copyright (c) 2008 Microsoft Corporation. All rights reserved.
//
using System;
using System.Reflection;
using System.Collections.Generic;
using System.Diagnostics;
using System.ComponentModel;
using System.Resources;
using Microsoft.Powershell.Commands.GetCounter.PdhNative;
using System.Globalization;
using System.Diagnostics.CodeAnalysis;
namespace Microsoft.PowerShell.Commands.GetCounter
{
public class PerformanceCounterSample
{
internal PerformanceCounterSample()
{
}
internal PerformanceCounterSample(string path,
string instanceName,
double cookedValue,
UInt64 rawValue,
UInt64 secondValue,
uint multiCount,
PerformanceCounterType counterType,
UInt32 defaultScale,
UInt64 timeBase,
DateTime timeStamp,
UInt64 timeStamp100nSec,
UInt32 status)
{
_path = path;
_instanceName = instanceName;
_cookedValue = cookedValue;
_rawValue = rawValue;
_secondValue = secondValue;
_multiCount = multiCount;
_counterType = counterType;
_defaultScale = defaultScale;
_timeBase = timeBase;
_timeStamp = timeStamp;
_timeStamp100nSec = timeStamp100nSec;
_status = status;
}
public string Path
{
get {return _path;}
set {_path = value;}
}
private string _path = "";
public string InstanceName
{
get {return _instanceName;}
set {_instanceName = value;}
}
private string _instanceName = "";
public double CookedValue
{
get {return _cookedValue;}
set {_cookedValue = value;}
}
private double _cookedValue = 0;
public UInt64 RawValue
{
get {return _rawValue;}
set {_rawValue = value;}
}
private UInt64 _rawValue = 0;
public UInt64 SecondValue
{
get {return _secondValue;}
set {_secondValue = value;}
}
private UInt64 _secondValue = 0;
public uint MultipleCount
{
get {return _multiCount;}
set {_multiCount = value;}
}
private uint _multiCount = 0;
public PerformanceCounterType CounterType
{
get {return _counterType;}
set {_counterType = value;}
}
private PerformanceCounterType _counterType = 0;
public DateTime Timestamp
{
get {return _timeStamp;}
set {_timeStamp = value;}
}
private DateTime _timeStamp = DateTime.MinValue;
public UInt64 Timestamp100NSec
{
get {return _timeStamp100nSec;}
set {_timeStamp100nSec = value;}
}
private UInt64 _timeStamp100nSec = 0;
public UInt32 Status
{
get {return _status;}
set {_status = value;}
}
private UInt32 _status = 0;
public UInt32 DefaultScale
{
get {return _defaultScale;}
set {_defaultScale = value;}
}
private UInt32 _defaultScale = 0;
public UInt64 TimeBase
{
get {return _timeBase;}
set {_timeBase = value;}
}
private UInt64 _timeBase = 0;
}
public class PerformanceCounterSampleSet
{
internal PerformanceCounterSampleSet()
{
_resourceMgr = new ResourceManager("GetEventResources", Assembly.GetExecutingAssembly());
}
internal PerformanceCounterSampleSet (DateTime timeStamp,
PerformanceCounterSample[] counterSamples,
bool firstSet) : this()
{
_timeStamp = timeStamp;
_counterSamples = counterSamples;
}
public DateTime Timestamp
{
get {return _timeStamp;}
set {_timeStamp = value;}
}
private DateTime _timeStamp = DateTime.MinValue;
[SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays",
Scope = "member",
Target = "Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSample.CounterSamples",
Justification="A string[] is required here because that is the type Powershell supports")]
public PerformanceCounterSample[] CounterSamples
{
get {return _counterSamples;}
set {_counterSamples = value;}
}
private PerformanceCounterSample[] _counterSamples = null;
private ResourceManager _resourceMgr = null;
}
}