diff options
| author | Dan Engelbrecht <[email protected]> | 2022-09-21 23:11:35 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-09-21 14:11:35 -0700 |
| commit | aefab0aa2975beaaeaf1a8760689c6cca4f3b114 (patch) | |
| tree | 0cbcb9bdbed9d943c1c82050572065a0dfd8729a /zenserver/upstream/upstreamcache.cpp | |
| parent | logging - don't do formatting of messages the will not be logged (#169) (diff) | |
| download | zen-aefab0aa2975beaaeaf1a8760689c6cca4f3b114.tar.xz zen-aefab0aa2975beaaeaf1a8760689c6cca4f3b114.zip | |
Add elapsed seconds per individual request from upstream (#167)
Diffstat (limited to 'zenserver/upstream/upstreamcache.cpp')
| -rw-r--r-- | zenserver/upstream/upstreamcache.cpp | 45 |
1 files changed, 32 insertions, 13 deletions
diff --git a/zenserver/upstream/upstreamcache.cpp b/zenserver/upstream/upstreamcache.cpp index 6976e5bed..1aa195469 100644 --- a/zenserver/upstream/upstreamcache.cpp +++ b/zenserver/upstream/upstreamcache.cpp @@ -307,12 +307,14 @@ namespace detail { CbPackage Package; CbObject Record; + double ElapsedSeconds = 0.0; if (!Result.Error) { std::string_view BlobStoreNamespace = GetActualBlobStoreNamespace(Session, Namespace); CloudCacheResult RefResult = Session.GetRef(BlobStoreNamespace, CacheKey.Bucket, CacheKey.Hash, ZenContentType::kCbObject); AppendResult(RefResult, Result); + ElapsedSeconds = RefResult.ElapsedSeconds; m_Status.SetFromErrorCode(RefResult.ErrorCode, RefResult.Reason); @@ -340,7 +342,7 @@ namespace detail { } } - OnComplete({.Request = *Request, .Record = Record, .Package = Package}); + OnComplete({.Request = *Request, .Record = Record, .Package = Package, .ElapsedSeconds = ElapsedSeconds}); } return Result; @@ -392,11 +394,13 @@ namespace detail { CacheChunkRequest& Request = *RequestPtr; IoBuffer Payload; + double ElapsedSeconds = 0.0; CompressedBuffer Compressed; if (!Result.Error) { std::string_view BlobStoreNamespace = GetActualBlobStoreNamespace(Session, Namespace); const CloudCacheResult BlobResult = Session.GetCompressedBlob(BlobStoreNamespace, Request.ChunkId); + ElapsedSeconds = BlobResult.ElapsedSeconds; Payload = BlobResult.Response; AppendResult(BlobResult, Result); @@ -410,10 +414,11 @@ namespace detail { if (Compressed) { - OnComplete({.Request = Request, - .RawHash = IoHash::FromBLAKE3(Compressed.GetRawHash()), - .RawSize = Compressed.GetRawSize(), - .Value = Payload}); + OnComplete({.Request = Request, + .RawHash = IoHash::FromBLAKE3(Compressed.GetRawHash()), + .RawSize = Compressed.GetRawSize(), + .Value = Payload, + .ElapsedSeconds = ElapsedSeconds}); } else { @@ -438,6 +443,7 @@ namespace detail { CacheValueRequest& Request = *RequestPtr; IoBuffer Payload; + double ElapsedSeconds = 0.0; CompressedBuffer Compressed; if (!Result.Error) { @@ -445,7 +451,8 @@ namespace detail { IoHash PayloadHash; const CloudCacheResult BlobResult = Session.GetInlineBlob(BlobStoreNamespace, Request.Key.Bucket, Request.Key.Hash, PayloadHash); - Payload = BlobResult.Response; + ElapsedSeconds = BlobResult.ElapsedSeconds; + Payload = BlobResult.Response; AppendResult(BlobResult, Result); @@ -476,10 +483,11 @@ namespace detail { if (Compressed) { - OnComplete({.Request = Request, - .RawHash = IoHash::FromBLAKE3(Compressed.GetRawHash()), - .RawSize = Compressed.GetRawSize(), - .Value = Payload}); + OnComplete({.Request = Request, + .RawHash = IoHash::FromBLAKE3(Compressed.GetRawHash()), + .RawSize = Compressed.GetRawSize(), + .Value = Payload, + .ElapsedSeconds = ElapsedSeconds}); } else { @@ -897,7 +905,10 @@ namespace detail { for (size_t Index = 0; CbFieldView Record : Results) { CacheKeyRequest* Request = Requests[Index++]; - OnComplete({.Request = *Request, .Record = Record.AsObjectView(), .Package = BatchResponse}); + OnComplete({.Request = *Request, + .Record = Record.AsObjectView(), + .Package = BatchResponse, + .ElapsedSeconds = Result.ElapsedSeconds}); } return {.Bytes = Result.Bytes, .ElapsedSeconds = Result.ElapsedSeconds, .Success = true}; @@ -1040,7 +1051,11 @@ namespace detail { RawHash = IoHash::Zero; } } - OnComplete({.Request = Request, .RawHash = RawHash, .RawSize = RawSize, .Value = std::move(Payload)}); + OnComplete({.Request = Request, + .RawHash = RawHash, + .RawSize = RawSize, + .Value = std::move(Payload), + .ElapsedSeconds = Result.ElapsedSeconds}); } return {.Bytes = Result.Bytes, .ElapsedSeconds = Result.ElapsedSeconds, .Success = true}; @@ -1166,7 +1181,11 @@ namespace detail { RawHash = IoHash::Zero; } } - OnComplete({.Request = Request, .RawHash = RawHash, .RawSize = RawSize, .Value = std::move(Payload)}); + OnComplete({.Request = Request, + .RawHash = RawHash, + .RawSize = RawSize, + .Value = std::move(Payload), + .ElapsedSeconds = Result.ElapsedSeconds}); } return {.Bytes = Result.Bytes, .ElapsedSeconds = Result.ElapsedSeconds, .Success = true}; |