Split `ResourceUsage` into `MemoryUsage` and setup specific stats
This commit is contained in:
parent
142f6466ae
commit
e343b3ca44
|
@ -1,4 +1,5 @@
|
||||||
#include "./resourceusage.h"
|
#include "./resourceusage.h"
|
||||||
|
#include "./serversetup.h"
|
||||||
|
|
||||||
#if defined(PLATFORM_WINDOWS)
|
#if defined(PLATFORM_WINDOWS)
|
||||||
#include <psapi.h>
|
#include <psapi.h>
|
||||||
|
@ -9,9 +10,11 @@
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <filesystem>
|
||||||
|
|
||||||
namespace LibRepoMgr {
|
namespace LibRepoMgr {
|
||||||
|
|
||||||
ResourceUsage::ResourceUsage()
|
MemoryUsage::MemoryUsage()
|
||||||
{
|
{
|
||||||
#if defined(PLATFORM_WINDOWS)
|
#if defined(PLATFORM_WINDOWS)
|
||||||
auto info = PROCESS_MEMORY_COUNTERS();
|
auto info = PROCESS_MEMORY_COUNTERS();
|
||||||
|
@ -35,6 +38,16 @@ ResourceUsage::ResourceUsage()
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ResourceUsage::ResourceUsage(ServiceSetup &setup)
|
||||||
|
{
|
||||||
|
auto ec = std::error_code();
|
||||||
|
packageDbSize = std::filesystem::file_size(setup.dbPath, ec);
|
||||||
|
actionsDbSize = std::filesystem::file_size(setup.building.dbPath, ec);
|
||||||
|
cachedPackages = setup.config.cachedPackages();
|
||||||
|
actionsCount = setup.building.buildActionCount();
|
||||||
|
runningActionsCount = setup.building.runningBuildActionCount();
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace LibRepoMgr
|
} // namespace LibRepoMgr
|
||||||
|
|
||||||
#include "reflection/resourceusage.h"
|
#include "reflection/resourceusage.h"
|
||||||
|
|
|
@ -7,13 +7,20 @@
|
||||||
|
|
||||||
namespace LibRepoMgr {
|
namespace LibRepoMgr {
|
||||||
|
|
||||||
struct LIBREPOMGR_EXPORT ResourceUsage : public ReflectiveRapidJSON::JsonSerializable<ResourceUsage> {
|
struct ServiceSetup;
|
||||||
explicit ResourceUsage();
|
|
||||||
|
struct LIBREPOMGR_EXPORT MemoryUsage : public ReflectiveRapidJSON::JsonSerializable<MemoryUsage> {
|
||||||
|
explicit MemoryUsage();
|
||||||
|
|
||||||
std::size_t virtualMemory = 0;
|
std::size_t virtualMemory = 0;
|
||||||
std::size_t residentSetSize = 0;
|
std::size_t residentSetSize = 0;
|
||||||
std::size_t sharedResidentSetSize = 0;
|
std::size_t sharedResidentSetSize = 0;
|
||||||
std::size_t peakResidentSetSize = 0;
|
std::size_t peakResidentSetSize = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct LIBREPOMGR_EXPORT ResourceUsage : public MemoryUsage, public ReflectiveRapidJSON::JsonSerializable<ResourceUsage> {
|
||||||
|
explicit ResourceUsage(ServiceSetup &setup);
|
||||||
|
|
||||||
std::size_t packageDbSize = 0;
|
std::size_t packageDbSize = 0;
|
||||||
std::size_t actionsDbSize = 0;
|
std::size_t actionsDbSize = 0;
|
||||||
std::size_t cachedPackages = 0;
|
std::size_t cachedPackages = 0;
|
||||||
|
|
|
@ -874,13 +874,8 @@ ServiceStatus::ServiceStatus(ServiceSetup &setup)
|
||||||
, config(setup.config.computeStatus())
|
, config(setup.config.computeStatus())
|
||||||
, actions(setup.building.metaInfo)
|
, actions(setup.building.metaInfo)
|
||||||
, presets(setup.building.presets)
|
, presets(setup.building.presets)
|
||||||
|
, resourceUsage(setup)
|
||||||
{
|
{
|
||||||
auto ec = std::error_code();
|
|
||||||
resourceUsage.packageDbSize = std::filesystem::file_size(setup.dbPath, ec);
|
|
||||||
resourceUsage.actionsDbSize = std::filesystem::file_size(setup.building.dbPath, ec);
|
|
||||||
resourceUsage.cachedPackages = setup.config.cachedPackages();
|
|
||||||
resourceUsage.actionsCount = setup.building.buildActionCount();
|
|
||||||
resourceUsage.runningActionsCount = setup.building.runningBuildActionCount();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace LibRepoMgr
|
} // namespace LibRepoMgr
|
||||||
|
|
|
@ -221,7 +221,7 @@ struct LIBREPOMGR_EXPORT ServiceStatus : public ReflectiveRapidJSON::JsonSeriali
|
||||||
const LibPkg::Status config;
|
const LibPkg::Status config;
|
||||||
const BuildActionMetaInfo &actions;
|
const BuildActionMetaInfo &actions;
|
||||||
const BuildPresets &presets;
|
const BuildPresets &presets;
|
||||||
ResourceUsage resourceUsage;
|
const ResourceUsage resourceUsage;
|
||||||
};
|
};
|
||||||
|
|
||||||
inline ServiceStatus ServiceSetup::computeStatus()
|
inline ServiceStatus ServiceSetup::computeStatus()
|
||||||
|
|
Loading…
Reference in New Issue