-
Notifications
You must be signed in to change notification settings - Fork 0
/
cspec.cpp
31 lines (28 loc) · 789 Bytes
/
cspec.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/**
* @file cspec.cpp
* @brief Namespace methods.
*
* @author Evan Elias Young
* @date 2021-11-25
* @date 2021-11-29
* @copyright Copyright 2021 Evan Elias Young. All rights reserved.
*/
#include "cspec.h"
json cspec::collect(const std::map<string, vector<string>> &captured)
{
auto j = R"({})"_json;
for (const auto &[ns, keys]: captured)
{
if (ns == "cpu")
j["cpu"] = cspec::cpu::collect(keys);
else if (ns == "filesystem")
j["filesystem"] = cspec::filesystem::collect(keys);
else if (ns == "gpu")
j["gpu"] = cspec::gpu::collect(keys);
else if (ns == "memory")
j["memory"] = cspec::memory::collect(keys);
else if (ns == "system")
j["system"] = cspec::system::collect(keys);
}
return j;
}