aboutsummaryrefslogtreecommitdiff
path: root/src/zenserver/buildstore/httpbuildstore.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/zenserver/buildstore/httpbuildstore.cpp')
-rw-r--r--src/zenserver/buildstore/httpbuildstore.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/zenserver/buildstore/httpbuildstore.cpp b/src/zenserver/buildstore/httpbuildstore.cpp
index c918f5683..75a333687 100644
--- a/src/zenserver/buildstore/httpbuildstore.cpp
+++ b/src/zenserver/buildstore/httpbuildstore.cpp
@@ -524,6 +524,40 @@ HttpBuildStoreService::HandleStatsRequest(HttpServerRequest& Request)
}
Cbo.EndObject();
+ Cbo.BeginObject("size");
+ {
+ BuildStore::StorageStats StorageStats = m_BuildStore.GetStorageStats();
+
+ Cbo << "count" << StorageStats.EntryCount;
+ Cbo << "bytes" << StorageStats.LargeBlobBytes + StorageStats.SmallBlobBytes + StorageStats.MetadataByteCount;
+ Cbo.BeginObject("blobs");
+ {
+ Cbo << "count" << (StorageStats.LargeBlobCount + StorageStats.SmallBlobCount);
+ Cbo << "bytes" << (StorageStats.LargeBlobBytes + StorageStats.SmallBlobBytes);
+ Cbo.BeginObject("large");
+ {
+ Cbo << "count" << StorageStats.LargeBlobCount;
+ Cbo << "bytes" << StorageStats.LargeBlobBytes;
+ }
+ Cbo.EndObject(); // large
+ Cbo.BeginObject("small");
+ {
+ Cbo << "count" << StorageStats.SmallBlobCount;
+ Cbo << "bytes" << StorageStats.SmallBlobBytes;
+ }
+ Cbo.EndObject(); // small
+ }
+ Cbo.EndObject(); // blobs
+
+ Cbo.BeginObject("metadata");
+ {
+ Cbo << "count" << StorageStats.MetadataCount;
+ Cbo << "bytes" << StorageStats.MetadataByteCount;
+ }
+ Cbo.EndObject(); // metadata
+ }
+ Cbo.EndObject(); // size
+
return Request.WriteResponse(HttpResponseCode::OK, Cbo.Save());
}