Skip to content

Commit

Permalink
Add: Free and Total Inter dir disk space stats
Browse files Browse the repository at this point in the history
  • Loading branch information
dnzbk committed Aug 29, 2024
1 parent c7f971e commit 33fcf0a
Showing 1 changed file with 41 additions and 3 deletions.
44 changes: 41 additions & 3 deletions daemon/remote/XmlRpc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1303,6 +1303,12 @@ void StatusXmlCommand::Execute()
"<member><name>TotalDiskSpaceLo</name><value><i4>%u</i4></value></member>\n"
"<member><name>TotalDiskSpaceHi</name><value><i4>%u</i4></value></member>\n"
"<member><name>TotalDiskSpaceMB</name><value><i4>%i</i4></value></member>\n"
"<member><name>FreeInterDiskSpaceLo</name><value><i4>%u</i4></value></member>\n"
"<member><name>FreeInterDiskSpaceHi</name><value><i4>%u</i4></value></member>\n"
"<member><name>FreeInterDiskSpaceMB</name><value><i4>%i</i4></value></member>\n"
"<member><name>TotalInterDiskSpaceLo</name><value><i4>%u</i4></value></member>\n"
"<member><name>TotalInterDiskSpaceHi</name><value><i4>%u</i4></value></member>\n"
"<member><name>TotalInterDiskSpaceMB</name><value><i4>%i</i4></value></member>\n"
"<member><name>ServerTime</name><value><i4>%i</i4></value></member>\n"
"<member><name>ResumeTime</name><value><i4>%i</i4></value></member>\n"
"<member><name>FeedActive</name><value><boolean>%s</boolean></value></member>\n"
Expand Down Expand Up @@ -1359,6 +1365,12 @@ void StatusXmlCommand::Execute()
"\"TotalDiskSpaceLo\" : %u,\n"
"\"TotalDiskSpaceHi\" : %u,\n"
"\"TotalDiskSpaceMB\" : %i,\n"
"\"FreeInterDiskSpaceLo\" : %u,\n"
"\"FreeInterDiskSpaceHi\" : %u,\n"
"\"FreeInterDiskSpaceMB\" : %i,\n"
"\"TotalInterDiskSpaceLo\" : %u,\n"
"\"TotalInterDiskSpaceHi\" : %u,\n"
"\"TotalInterDiskSpaceMB\" : %i,\n"
"\"ServerTime\" : %i,\n"
"\"ResumeTime\" : %i,\n"
"\"FeedActive\" : %s,\n"
Expand Down Expand Up @@ -1442,19 +1454,39 @@ void StatusXmlCommand::Execute()

uint32 freeDiskSpaceHi, freeDiskSpaceLo;
uint32 totalDiskSpaceHi, totalDiskSpaceLo;
uint32 freeInterDiskSpaceHi, freeInterDiskSpaceLo;
uint32 totalInterDiskSpaceHi, totalInterDiskSpaceLo;

int64 freeDiskSpace = 0;
int64 totalDiskSpace = 0;
auto res = FileSystem::GetDiskState(g_Options->GetDestDir());
if (res.has_value())
int64 freeInterDiskSpace = 0;
int64 totalInterDiskSpace = 0;

auto destDirRes = FileSystem::GetDiskState(g_Options->GetDestDir());
if (destDirRes.has_value())
{
const auto& value = res.value();
const auto& value = destDirRes.value();
freeDiskSpace = value.available;
totalDiskSpace = value.total;
}

auto interDirRes = FileSystem::GetDiskState(g_Options->GetInterDir());
if (interDirRes.has_value())
{
const auto& value = interDirRes.value();
freeInterDiskSpace = value.available;
totalInterDiskSpace = value.total;
}

Util::SplitInt64(freeDiskSpace, &freeDiskSpaceHi, &freeDiskSpaceLo);
Util::SplitInt64(totalDiskSpace, &totalDiskSpaceHi, &totalDiskSpaceLo);
Util::SplitInt64(freeInterDiskSpace, &freeInterDiskSpaceHi, &freeInterDiskSpaceLo);
Util::SplitInt64(totalInterDiskSpace, &totalInterDiskSpaceHi, &totalInterDiskSpaceLo);

int freeDiskSpaceMB = static_cast<int>(freeDiskSpace / 1024 / 1024);
int totalDiskSpaceMB = static_cast<int>(totalDiskSpace / 1024 / 1024);
int freeInterDiskSpaceMB = static_cast<int>(freeInterDiskSpace / 1024 / 1024);
int totalInterDiskSpaceMB = static_cast<int>(totalInterDiskSpace / 1024 / 1024);

int serverTime = (int)Util::CurrentTime();
int resumeTime = (int)g_WorkState->GetResumeTime();
Expand Down Expand Up @@ -1482,6 +1514,12 @@ void StatusXmlCommand::Execute()
totalDiskSpaceLo,
totalDiskSpaceHi,
totalDiskSpaceMB,
freeInterDiskSpaceLo,
freeInterDiskSpaceHi,
freeInterDiskSpaceMB,
totalInterDiskSpaceLo,
totalInterDiskSpaceHi,
totalInterDiskSpaceMB,
serverTime, resumeTime, BoolToStr(feedActive), queuedScripts);

int index = 0;
Expand Down

0 comments on commit 33fcf0a

Please sign in to comment.