aboutsummaryrefslogtreecommitdiff
path: root/zenserver/upstream
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2021-09-15 13:18:34 +0200
committerStefan Boberg <[email protected]>2021-09-15 13:18:34 +0200
commitab95978c10258cab130ef7e6dc3f7cb7a1bf337d (patch)
treea6e4ca55890f5b728f69ccf8878af98ba2e31bc9 /zenserver/upstream
parentAdded #ifdef condition around Windows-specific exception handling (diff)
parentCross-platform zen::GetLastError() (diff)
downloadzen-ab95978c10258cab130ef7e6dc3f7cb7a1bf337d.tar.xz
zen-ab95978c10258cab130ef7e6dc3f7cb7a1bf337d.zip
Merged from main
Diffstat (limited to 'zenserver/upstream')
-rw-r--r--zenserver/upstream/jupiter.cpp20
-rw-r--r--zenserver/upstream/jupiter.h5
-rw-r--r--zenserver/upstream/upstreamcache.cpp38
-rw-r--r--zenserver/upstream/zen.cpp22
-rw-r--r--zenserver/upstream/zen.h2
5 files changed, 47 insertions, 40 deletions
diff --git a/zenserver/upstream/jupiter.cpp b/zenserver/upstream/jupiter.cpp
index ba6300c65..29fee1d32 100644
--- a/zenserver/upstream/jupiter.cpp
+++ b/zenserver/upstream/jupiter.cpp
@@ -80,7 +80,7 @@ CloudCacheSession::GetDerivedData(std::string_view BucketId, std::string_view Ke
Session.SetOption(cpr::Header{{"Authorization", Auth}});
cpr::Response Response = Session.Get();
- m_Log.debug("GET {}", Response);
+ ZEN_DEBUG("GET {}", Response);
const bool Success = Response.status_code == 200;
const IoBuffer Buffer = Success ? IoBufferBuilder::MakeCloneFromMemory(Response.text.data(), Response.text.size()) : IoBuffer();
@@ -111,7 +111,7 @@ CloudCacheSession::GetRef(std::string_view BucketId, const IoHash& Key, ZenConte
Session.SetOption(cpr::Header{{"Authorization", Auth}, {"Accept", ContentType}});
cpr::Response Response = Session.Get();
- m_Log.debug("GET {}", Response);
+ ZEN_DEBUG("GET {}", Response);
const bool Success = Response.status_code == 200;
const IoBuffer Buffer = Success ? IoBufferBuilder::MakeCloneFromMemory(Response.text.data(), Response.text.size()) : IoBuffer();
@@ -134,7 +134,7 @@ CloudCacheSession::GetCompressedBlob(const IoHash& Key)
Session.SetOption(cpr::Header{{"Authorization", Auth}, {"Accept", "application/x-ue-comp"}});
cpr::Response Response = Session.Get();
- m_Log.debug("GET {}", Response);
+ ZEN_DEBUG("GET {}", Response);
const bool Success = Response.status_code == 200;
const IoBuffer Buffer = Success ? IoBufferBuilder::MakeCloneFromMemory(Response.text.data(), Response.text.size()) : IoBuffer();
@@ -161,7 +161,7 @@ CloudCacheSession::PutDerivedData(std::string_view BucketId, std::string_view Ke
Session.SetBody(cpr::Body{(const char*)DerivedData.Data(), DerivedData.Size()});
cpr::Response Response = Session.Put();
- m_Log.debug("PUT {}", Response);
+ ZEN_DEBUG("PUT {}", Response);
return {.Bytes = Response.uploaded_bytes, .ElapsedSeconds = Response.elapsed, .Success = Response.status_code == 200};
}
@@ -192,7 +192,7 @@ CloudCacheSession::PutRef(std::string_view BucketId, const IoHash& Key, IoBuffer
Session.SetBody(cpr::Body{(const char*)Ref.Data(), Ref.Size()});
cpr::Response Response = Session.Put();
- m_Log.debug("PUT {}", Response);
+ ZEN_DEBUG("PUT {}", Response);
return {.Bytes = Response.uploaded_bytes, .ElapsedSeconds = Response.elapsed, .Success = Response.status_code == 200};
}
@@ -213,7 +213,7 @@ CloudCacheSession::PutCompressedBlob(const IoHash& Key, IoBuffer Blob)
Session.SetBody(cpr::Body{(const char*)Blob.Data(), Blob.Size()});
cpr::Response Response = Session.Put();
- m_Log.debug("PUT {}", Response);
+ ZEN_DEBUG("PUT {}", Response);
return {.Bytes = Response.uploaded_bytes, .ElapsedSeconds = Response.elapsed, .Success = Response.status_code == 200};
}
@@ -268,7 +268,7 @@ CloudCacheClient::CloudCacheClient(const CloudCacheClientOptions& Options)
{
if (!Options.OAuthProvider.starts_with("http://"sv) && !Options.OAuthProvider.starts_with("https://"sv))
{
- m_Log.warn("bad provider specification: '{}' - must be fully qualified"_format(Options.OAuthProvider).c_str());
+ ZEN_WARN("bad provider specification: '{}' - must be fully qualified"_format(Options.OAuthProvider).c_str());
m_IsValid = false;
return;
@@ -280,7 +280,7 @@ CloudCacheClient::CloudCacheClient(const CloudCacheClientOptions& Options)
if (SchemePos == std::string::npos)
{
- m_Log.warn("Bad service URL passed to cloud cache client: '{}'", Options.ServiceUrl);
+ ZEN_WARN("Bad service URL passed to cloud cache client: '{}'", Options.ServiceUrl);
m_IsValid = false;
return;
@@ -290,7 +290,7 @@ CloudCacheClient::CloudCacheClient(const CloudCacheClientOptions& Options)
if (DomainEnd == std::string::npos)
{
- m_Log.warn("Bad service URL passed to cloud cache client: '{}' no path delimiter found", Options.ServiceUrl);
+ ZEN_WARN("Bad service URL passed to cloud cache client: '{}' no path delimiter found", Options.ServiceUrl);
m_IsValid = false;
return;
@@ -347,7 +347,7 @@ CloudCacheClient::AcquireAccessToken(std::string& AuthorizationHeaderValue)
json11::Json JsonResponse = json11::Json::parse(Body, /* out */ JsonError);
if (!JsonError.empty())
{
- spdlog::warn("failed to parse OAuth response: '{}'", JsonError);
+ ZEN_WARN("failed to parse OAuth response: '{}'", JsonError);
return false;
}
diff --git a/zenserver/upstream/jupiter.h b/zenserver/upstream/jupiter.h
index 9f36704fa..5535ba000 100644
--- a/zenserver/upstream/jupiter.h
+++ b/zenserver/upstream/jupiter.h
@@ -2,12 +2,11 @@
#pragma once
+#include <zencore/logging.h>
#include <zencore/refcount.h>
#include <zencore/thread.h>
#include <zenhttp/httpserver.h>
-#include <spdlog/spdlog.h>
-
#include <atomic>
#include <list>
#include <memory>
@@ -75,6 +74,8 @@ public:
std::vector<IoHash> Filter(std::string_view BucketId, const std::vector<IoHash>& ChunkHashes);
private:
+ inline spdlog::logger& Log() { return m_Log; }
+
spdlog::logger& m_Log;
RefPtr<CloudCacheClient> m_CacheClient;
detail::CloudCacheSessionState* m_SessionState;
diff --git a/zenserver/upstream/upstreamcache.cpp b/zenserver/upstream/upstreamcache.cpp
index aef9c0bb3..97b222a68 100644
--- a/zenserver/upstream/upstreamcache.cpp
+++ b/zenserver/upstream/upstreamcache.cpp
@@ -419,17 +419,19 @@ private:
ZEN_UNUSED(Endpoint);
- m_Log.info("{} Endpoint: {}, Bytes: {:.2f} MB, Time: {:.2f} s, Speed: {:.2f} MB/s, Avg: {:.2f} ms/request, Samples: {}",
- What,
- Kv.first->DisplayName(),
- TotalMb,
- Counters.Seconds,
- TotalMb / Counters.Seconds,
- (Counters.Seconds * 1000.0) / double(Counters.Count),
- Counters.Count);
+ ZEN_INFO("{} Endpoint: {}, Bytes: {:.2f} MB, Time: {:.2f} s, Speed: {:.2f} MB/s, Avg: {:.2f} ms/request, Samples: {}",
+ What,
+ Kv.first->DisplayName(),
+ TotalMb,
+ Counters.Seconds,
+ TotalMb / Counters.Seconds,
+ (Counters.Seconds * 1000.0) / double(Counters.Count),
+ Counters.Count);
}
}
+ spdlog::logger& Log() { return m_Log; }
+
spdlog::logger& m_Log;
EndpointStats m_UpStats;
EndpointStats m_DownStats;
@@ -455,7 +457,7 @@ public:
{
auto NewEnd = std::remove_if(std::begin(m_Endpoints), std::end(m_Endpoints), [this](auto& Endpoint) {
const bool Ok = Endpoint->Initialize();
- m_Log.info("{} [{}]", Endpoint->DisplayName(), Ok ? "OK" : "FAILED");
+ ZEN_INFO("{} [{}]", Endpoint->DisplayName(), Ok ? "OK" : "FAILED");
return !Ok;
});
@@ -522,9 +524,9 @@ private:
if (!m_CacheStore.Get(CacheRecord.CacheKey.Bucket, CacheRecord.CacheKey.Hash, CacheValue))
{
- m_Log.warn("process upstream FAILED, '{}/{}', cache record doesn't exist",
- CacheRecord.CacheKey.Bucket,
- CacheRecord.CacheKey.Hash);
+ ZEN_WARN("process upstream FAILED, '{}/{}', cache record doesn't exist",
+ CacheRecord.CacheKey.Bucket,
+ CacheRecord.CacheKey.Hash);
return;
}
@@ -536,10 +538,10 @@ private:
}
else
{
- m_Log.warn("process upstream FAILED, '{}/{}/{}', payload doesn't exist in CAS",
- CacheRecord.CacheKey.Bucket,
- CacheRecord.CacheKey.Hash,
- PayloadId);
+ ZEN_WARN("process upstream FAILED, '{}/{}/{}', payload doesn't exist in CAS",
+ CacheRecord.CacheKey.Bucket,
+ CacheRecord.CacheKey.Hash,
+ PayloadId);
return;
}
}
@@ -567,7 +569,7 @@ private:
}
catch (std::exception& e)
{
- m_Log.warn("process upstream ({}/{}) FAILED '{}'", CacheRecord.CacheKey.Bucket, CacheRecord.CacheKey.Hash, e.what());
+ ZEN_WARN("process upstream ({}/{}) FAILED '{}'", CacheRecord.CacheKey.Bucket, CacheRecord.CacheKey.Hash, e.what());
}
}
@@ -597,6 +599,8 @@ private:
using UpstreamQueue = detail::BlockingQueue<UpstreamCacheRecord>;
+ spdlog::logger& Log() { return m_Log; }
+
spdlog::logger& m_Log;
UpstreamCacheOptions m_Options;
::ZenCacheStore& m_CacheStore;
diff --git a/zenserver/upstream/zen.cpp b/zenserver/upstream/zen.cpp
index 7cdaa0036..eef92bab4 100644
--- a/zenserver/upstream/zen.cpp
+++ b/zenserver/upstream/zen.cpp
@@ -137,7 +137,7 @@ Mesh::EnqueueTick()
{
if (m_State != kExiting)
{
- spdlog::warn("Mesh timer error: {}", Ec.message());
+ ZEN_WARN("Mesh timer error: {}", Ec.message());
}
}
});
@@ -198,12 +198,12 @@ Mesh::BroadcastPacket(CbObjectWriter& Obj)
if (ErrorCode)
{
- spdlog::warn("packet broadcast failed: {}", ErrorCode.message());
+ ZEN_WARN("packet broadcast failed: {}", ErrorCode.message());
}
}
else
{
- spdlog::warn("failed to open broadcast socket: {}", ErrorCode.message());
+ ZEN_WARN("failed to open broadcast socket: {}", ErrorCode.message());
}
}
@@ -260,7 +260,7 @@ Mesh::IssueReceive()
const uint16_t Port = (++It)->AsUInt16(m_SenderEndpoint.port());
const uint32_t Lsn = (++It)->AsUInt32();
- spdlog::info("received hey from {} ({})", SenderIp, SessionId);
+ ZEN_INFO("received hey from {} ({})", SenderIp, SessionId);
RwLock::ExclusiveLockScope _(m_SessionsLock);
@@ -279,7 +279,7 @@ Mesh::IssueReceive()
{
Oid SessionId = Field.AsObjectId();
- spdlog::info("received bye from {} ({})", SenderIp, SessionId);
+ ZEN_INFO("received bye from {} ({})", SenderIp, SessionId);
// We could verify that it's sent from a known IP before erasing the
// session, if we want to be paranoid
@@ -295,13 +295,13 @@ Mesh::IssueReceive()
}
else
{
- spdlog::warn("received malformed message from {}", SenderIp);
+ ZEN_WARN("received malformed message from {}", SenderIp);
}
}
break;
default:
- spdlog::warn("received malformed data from {}", SenderIp);
+ ZEN_WARN("received malformed data from {}", SenderIp);
break;
}
}
@@ -392,7 +392,7 @@ ZenStructuredCacheSession::GetCacheRecord(std::string_view BucketId, const IoHas
Session.SetHeader(cpr::Header{{"Accept", Type == ZenContentType::kCbObject ? "application/x-ue-cb" : "application/octet-stream"}});
cpr::Response Response = Session.Get();
- m_Log.debug("GET {}", Response);
+ ZEN_DEBUG("GET {}", Response);
const bool Success = Response.status_code == 200;
const IoBuffer Buffer = Success ? IoBufferBuilder::MakeCloneFromMemory(Response.text.data(), Response.text.size()) : IoBuffer();
@@ -412,7 +412,7 @@ ZenStructuredCacheSession::GetCachePayload(std::string_view BucketId, const IoHa
Session.SetHeader(cpr::Header{{"Accept", "application/x-ue-comp"}});
cpr::Response Response = Session.Get();
- m_Log.debug("GET {}", Response);
+ ZEN_DEBUG("GET {}", Response);
const bool Success = Response.status_code == 200;
const IoBuffer Buffer = Success ? IoBufferBuilder::MakeCloneFromMemory(Response.text.data(), Response.text.size()) : IoBuffer();
@@ -434,7 +434,7 @@ ZenStructuredCacheSession::PutCacheRecord(std::string_view BucketId, const IoHas
Session.SetBody(cpr::Body{static_cast<const char*>(Value.Data()), Value.Size()});
cpr::Response Response = Session.Put();
- m_Log.debug("PUT {}", Response);
+ ZEN_DEBUG("PUT {}", Response);
return {.Bytes = Response.uploaded_bytes, .ElapsedSeconds = Response.elapsed, .Success = Response.status_code == 200};
}
@@ -452,7 +452,7 @@ ZenStructuredCacheSession::PutCachePayload(std::string_view BucketId, const IoHa
Session.SetBody(cpr::Body{static_cast<const char*>(Payload.Data()), Payload.Size()});
cpr::Response Response = Session.Put();
- m_Log.debug("PUT {}", Response);
+ ZEN_DEBUG("PUT {}", Response);
return {.Bytes = Response.uploaded_bytes, .ElapsedSeconds = Response.elapsed, .Success = Response.status_code == 200};
}
diff --git a/zenserver/upstream/zen.h b/zenserver/upstream/zen.h
index c4bff8980..541495818 100644
--- a/zenserver/upstream/zen.h
+++ b/zenserver/upstream/zen.h
@@ -111,6 +111,8 @@ public:
ZenCacheResult PutCachePayload(std::string_view BucketId, const IoHash& Key, const IoHash& PayloadId, IoBuffer Payload);
private:
+ inline spdlog::logger& Log() { return m_Log; }
+
spdlog::logger& m_Log;
ZenStructuredCacheClient& m_Client;
detail::ZenCacheSessionState* m_SessionState;