diff options
Diffstat (limited to 'src/zenserver/admin/admin.cpp')
| -rw-r--r-- | src/zenserver/admin/admin.cpp | 51 |
1 files changed, 47 insertions, 4 deletions
diff --git a/src/zenserver/admin/admin.cpp b/src/zenserver/admin/admin.cpp index 1eeb5637a..847ed5a50 100644 --- a/src/zenserver/admin/admin.cpp +++ b/src/zenserver/admin/admin.cpp @@ -159,8 +159,20 @@ HttpAdminService::HttpAdminService(GcScheduler& Scheduler, auto WriteState = [](CbObjectWriter& Obj, const JobQueue::State& State) { if (!State.CurrentOp.empty()) { - Obj.AddString("CurrentOp"sv, State.CurrentOp); - Obj.AddInteger("CurrentOpPercentComplete"sv, State.CurrentOpPercentComplete); + Obj.AddString( + "CurrentOp"sv, + State.CurrentOpDetails.empty() ? State.CurrentOp : fmt::format("{}: {}", State.CurrentOp, State.CurrentOpDetails)); + Obj.AddString("Op"sv, State.CurrentOp); + if (!State.CurrentOpDetails.empty()) + { + Obj.AddString("Details"sv, State.CurrentOpDetails); + } + Obj.AddInteger("TotalCount"sv, gsl::narrow<uint64_t>(State.TotalCount)); + Obj.AddInteger("RemainingCount"sv, gsl::narrow<uint64_t>(State.RemainingCount)); + Obj.AddInteger("CurrentOpPercentComplete"sv, + State.TotalCount > 0 + ? gsl::narrow<uint32_t>((100 * (State.TotalCount - State.RemainingCount)) / State.TotalCount) + : 0); } if (!State.Messages.empty()) { @@ -287,10 +299,11 @@ HttpAdminService::HttpAdminService(GcScheduler& Scheduler, Response << "DiskSizeSoftLimit" << NiceBytes(State.Config.DiskSizeSoftLimit); Response << "MinimumFreeDiskSpaceToAllowWrites" << NiceBytes(State.Config.MinimumFreeDiskSpaceToAllowWrites); Response << "LightweightInterval" << ToTimeSpan(State.Config.LightweightInterval); - Response << "UseGCVersion" << ((State.Config.UseGCVersion == GcVersion::kV1) ? "1" : "2"); + Response << "UseGCVersion" << ((State.Config.UseGCVersion == GcVersion::kV1_Deprecated) ? "1" : "2"); Response << "CompactBlockUsageThresholdPercent" << State.Config.CompactBlockUsageThresholdPercent; Response << "Verbose" << State.Config.Verbose; Response << "SingleThreaded" << State.Config.SingleThreaded; + Response << "AttachmentPassCount" << State.Config.AttachmentPassCount; } Response.EndObject(); Response << "AreDiskWritesBlocked" << State.AreDiskWritesBlocked; @@ -318,6 +331,11 @@ HttpAdminService::HttpAdminService(GcScheduler& Scheduler, Response << "LastDiskFreed" << NiceBytes(State.LastFullGCDiff.DiskSize); Response << "LastMemoryFreed" << NiceBytes(State.LastFullGCDiff.MemorySize); } + if (State.LastFullAttachmentRangeMin != IoHash::Zero || State.LastFullAttachmentRangeMax != IoHash::Max) + { + Response << "AttachmentRangeMin" << State.LastFullAttachmentRangeMin; + Response << "AttachmentRangeMax" << State.LastFullAttachmentRangeMax; + } } Response.EndObject(); Response.BeginObject("LightweightGC"); @@ -390,7 +408,7 @@ HttpAdminService::HttpAdminService(GcScheduler& Scheduler, if (auto Param = Params.GetValue("forceusegcv1"); Param.empty() == false) { - GcParams.ForceGCVersion = GcVersion::kV1; + GcParams.ForceGCVersion = GcVersion::kV1_Deprecated; } if (auto Param = Params.GetValue("forceusegcv2"); Param.empty() == false) @@ -416,6 +434,31 @@ HttpAdminService::HttpAdminService(GcScheduler& Scheduler, GcParams.SingleThreaded = Param == "true"sv; } + if (auto Param = Params.GetValue("referencehashlow"); Param.empty() == false) + { + GcParams.AttachmentRangeMin = IoHash::FromHexString(Param); + } + + if (auto Param = Params.GetValue("referencehashhigh"); Param.empty() == false) + { + GcParams.AttachmentRangeMax = IoHash::FromHexString(Param); + } + + if (auto Param = Params.GetValue("storecacheattachmentmetadata"); Param.empty() == false) + { + GcParams.StoreCacheAttachmentMetaData = Param == "true"sv; + } + + if (auto Param = Params.GetValue("storeprojectattachmentmetadata"); Param.empty() == false) + { + GcParams.StoreProjectAttachmentMetaData = Param == "true"sv; + } + + if (auto Param = Params.GetValue("enablevalidation"); Param.empty() == false) + { + GcParams.EnableValidation = Param == "true"sv; + } + const bool Started = m_GcScheduler.TriggerGc(GcParams); CbObjectWriter Response; |