Alternate e697dbe9c5997e35395fe158628dd8c5209481da
for Visual Studio 2022 and Windows 11.
読み取り中…
検索中…
一致する文字列を見つけられません
PerformanceDataHelperTest.cpp
[詳解]
1
6#include "pch.h"
8#include "Array.hpp"
9
10using namespace Microsoft::VisualStudio::CppUnitTestFramework;
11
12namespace WindowsLibraryTest
13{
14 TEST_CLASS (PerformanceDataHelperTest)
15 {
16 public:
17 TEST_CLASS_INITIALIZE (ClassInitialize)
18 {
19 Logger::WriteMessage ("PerformanceDataHelperTest class initialize.\n");
20 }
21
22 TEST_CLASS_CLEANUP (ClassCleanup)
23 {
24 Logger::WriteMessage ("PerformanceDataHelperTest class cleanup.\n");
25 }
26
27 TEST_METHOD_INITIALIZE (MethodInitialize)
28 {
29 Logger::WriteMessage ("PerformanceDataHelperTest method initialize.\n");
30 }
31
32 TEST_METHOD_CLEANUP (MethodCleanup)
33 {
34 Logger::WriteMessage ("PerformanceDataHelperTest method cleanup.\n");
35 }
36
37 TEST_METHOD (PerformanceDataHelperTest1)
38 {
41
42 Assert::IsTrue (pdh.Open (), _T ("PerformanceDataHelper::Open() failed.\n"));
43
44 auto& item01 = pdh.CreateItem (_T("\\Processor(_Total)\\% Processor Time"));itemArray.Add (item01);
45 auto& item02 = pdh.CreateItem (_T("\\Processor(_Total)\\% User Time"));itemArray.Add (item02);
46 auto& item03 = pdh.CreateItem (_T("\\Processor(_Total)\\% Privileged Time"));itemArray.Add (item03);
47 auto& item04 = pdh.CreateItem (_T("\\Processor(_Total)\\Interrupts/sec"));itemArray.Add (item04);
48
49 auto& item05 = pdh.CreateItem (_T("\\Memory\\Available MBytes"));itemArray.Add (item05);
50 auto& item06 = pdh.CreateItem (_T("\\Memory\\Pages/sec"));itemArray.Add (item06);
51 auto& item07 = pdh.CreateItem (_T("\\Memory\\Committed Bytes"));itemArray.Add (item07);
52 auto& item08 = pdh.CreateItem (_T("\\Memory\\% Committed Bytes In Use"));itemArray.Add (item08);
53
54 auto& item09 = pdh.CreateItem (_T("\\Paging File(_Total)\\% Usage"));itemArray.Add (item09);
55
56 auto& item10 = pdh.CreateItem (_T("\\PhysicalDisk(_Total)\\% Disk Time"));itemArray.Add (item10);
57 auto& item11 = pdh.CreateItem (_T("\\PhysicalDisk(_Total)\\Current Disk Queue Length"));itemArray.Add (item11);
58 auto& item12 = pdh.CreateItem (_T("\\PhysicalDisk(_Total)\\Disk Writes/sec"));itemArray.Add (item12);
59
60 auto& item13 = pdh.CreateItem (_T("\\System\\Processor Queue Length"));itemArray.Add (item13);
61 auto& item14 = pdh.CreateItem (_T("\\System\\Context Switches/sec"));itemArray.Add (item14);
62
63 auto& item15 = pdh.CreateItem (_T("\\Network Interface(Microsoft Hyper-V Network Adapter)\\Bytes Total/sec"));itemArray.Add (item15);
64
65 Assert::IsTrue (pdh.Query (), _T ("PerformanceDataHelper::Query() failed.\n"));
66
67 for (int i = 0; i < 3; i++)
68 {
69 Sleep (1000); // Do something
70 Assert::IsTrue (pdh.Query (), _T ("PerformanceDataHelper::Query() failed.\n"));
71 for (auto& item : itemArray)
72 {
73 PDH_FMT_COUNTERVALUE value;
74 item.GetValue (PDH_FMT_DOUBLE, value);
75 alt::TString output;
76 output.Format (_T ("%-70s:%7.3f\n"), item.GetKey ().Ctr(), value.doubleValue);
77 Logger::WriteMessage (output.Ctr ());
78 }
79 Logger::WriteMessage (_T ("----------------------------------------------------------------------\n"));
80 }
81
82 Assert::IsTrue (pdh.Close (), _T ("PerformanceDataHelper::Close() failed.\n"));
83 }
84 };
85}
可変配列に関するクラス
プリコンパイル済みヘッダー ファイルです。
bool APIENTRY Query()
パフォーマンスカウンター値の問い合わせ
PerformanceDataItem &APIENTRY CreateItem(TString key)
このクラスに属するカウンター設定クラスの生成
bool APIENTRY Open()
パフォーマンスモニター値の取得開始
bool APIENTRY Close()
パフォーマンスモニター値の取得終了
文字列に関するWindowsAPIを集約したクラス
Definition: TString.h:17
TString &APIENTRY Format(LPCTSTR format,...)
フォーマットに従ってパラメータを文字列化します。
Definition: TString.cpp:333
LPCTSTR APIENTRY Ctr() const
内部で確保している文字列ポインタを取得します。
Definition: TString.h:46
サイズ可変の配列を具現したクラス
Definition: Array.hpp:20
VOID APIENTRY Add(T &item)
Array<T>へ値を追加
Definition: Array.hpp:83
TEST_CLASS(ArrayTest)
Definition: ArrayTest.cpp:19