aboutsummaryrefslogtreecommitdiff
path: root/src/zenserver/projectstore/projectstore.cpp
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2023-05-16 13:34:08 +0200
committerGitHub <[email protected]>2023-05-16 13:34:08 +0200
commit4c518511ccf35c79284bde3dd10860b9bb52b6a0 (patch)
tree05f58d276ee82564832a2c9c078d3b1b6809d3cb /src/zenserver/projectstore/projectstore.cpp
parentMoved EnableVTMode function into zencore (#311) (diff)
downloadzen-4c518511ccf35c79284bde3dd10860b9bb52b6a0.tar.xz
zen-4c518511ccf35c79284bde3dd10860b9bb52b6a0.zip
Additional trace instrumentation (#312)
* added trace instrumentation to upstreamcache * added asio trace instrumentation * added trace annotations for project store * added trace annotations for BlockStore * added trace annotations for HttpClient * added trace annotations for CAS/GC
Diffstat (limited to 'src/zenserver/projectstore/projectstore.cpp')
-rw-r--r--src/zenserver/projectstore/projectstore.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/zenserver/projectstore/projectstore.cpp b/src/zenserver/projectstore/projectstore.cpp
index 0beb207ae..dd4c7597c 100644
--- a/src/zenserver/projectstore/projectstore.cpp
+++ b/src/zenserver/projectstore/projectstore.cpp
@@ -1236,6 +1236,8 @@ ProjectStore::Project::Exists(const std::filesystem::path& BasePath)
void
ProjectStore::Project::Read()
{
+ ZEN_TRACE_CPU("ProjectStore::Project::Read");
+
using namespace std::literals;
std::filesystem::path ProjectStateFilePath = m_OplogStoragePath / "Project.zcb"sv;
@@ -1921,6 +1923,8 @@ ProjectStore::CollectGarbage(GcContext& GcCtx)
GcStorageSize
ProjectStore::StorageSize() const
{
+ ZEN_TRACE_CPU("ProjectStore::StorageSize");
+
using namespace std::literals;
GcStorageSize Result;
@@ -1952,6 +1956,8 @@ ProjectStore::StorageSize() const
Ref<ProjectStore::Project>
ProjectStore::OpenProject(std::string_view ProjectId)
{
+ ZEN_TRACE_CPU("ProjectStore::OpenProject");
+
{
RwLock::SharedLockScope _(m_ProjectsLock);
@@ -1999,6 +2005,8 @@ ProjectStore::NewProject(const std::filesystem::path& BasePath,
std::string_view ProjectRootDir,
std::string_view ProjectFilePath)
{
+ ZEN_TRACE_CPU("ProjectStore::NewProject");
+
RwLock::ExclusiveLockScope _(m_ProjectsLock);
Ref<Project>& Prj =
@@ -2017,6 +2025,8 @@ ProjectStore::NewProject(const std::filesystem::path& BasePath,
bool
ProjectStore::DeleteProject(std::string_view ProjectId)
{
+ ZEN_TRACE_CPU("ProjectStore::DeleteProject");
+
ZEN_INFO("deleting project {}", ProjectId);
RwLock::ExclusiveLockScope ProjectsLock(m_ProjectsLock);
@@ -2054,6 +2064,8 @@ ProjectStore::Exists(std::string_view ProjectId)
CbArray
ProjectStore::GetProjectsList()
{
+ ZEN_TRACE_CPU("ProjectStore::GetProjectsList");
+
using namespace std::literals;
DiscoverProjects();
@@ -2077,6 +2089,8 @@ ProjectStore::GetProjectsList()
std::pair<HttpResponseCode, std::string>
ProjectStore::GetProjectFiles(const std::string_view ProjectId, const std::string_view OplogId, bool FilterClient, CbObject& OutPayload)
{
+ ZEN_TRACE_CPU("ProjectStore::GetProjectFiles");
+
using namespace std::literals;
Ref<ProjectStore::Project> Project = OpenProject(ProjectId);
@@ -2353,6 +2367,8 @@ ProjectStore::PutChunk(const std::string_view ProjectId,
std::pair<HttpResponseCode, std::string>
ProjectStore::WriteOplog(const std::string_view ProjectId, const std::string_view OplogId, IoBuffer&& Payload, CbObject& OutResponse)
{
+ ZEN_TRACE_CPU("ProjectStore::WriteOplog");
+
Ref<ProjectStore::Project> Project = OpenProject(ProjectId);
if (!Project)
{
@@ -2422,6 +2438,8 @@ ProjectStore::ReadOplog(const std::string_view ProjectId,
const HttpServerRequest::QueryParams& Params,
CbObject& OutResponse)
{
+ ZEN_TRACE_CPU("ProjectStore::ReadOplog");
+
Ref<ProjectStore::Project> Project = OpenProject(ProjectId);
if (!Project)
{
@@ -2472,6 +2490,8 @@ ProjectStore::ReadOplog(const std::string_view ProjectId,
std::pair<HttpResponseCode, std::string>
ProjectStore::WriteBlock(const std::string_view ProjectId, const std::string_view OplogId, IoBuffer&& Payload)
{
+ ZEN_TRACE_CPU("ProjectStore::WriteBlock");
+
Ref<ProjectStore::Project> Project = OpenProject(ProjectId);
if (!Project)
{
@@ -2505,6 +2525,8 @@ ProjectStore::Rpc(HttpServerRequest& HttpReq,
IoBuffer&& Payload,
AuthMgr& AuthManager)
{
+ ZEN_TRACE_CPU("ProjectStore::Rpc");
+
using namespace std::literals;
HttpContentType PayloadContentType = HttpReq.RequestContentType();
CbPackage Package;
@@ -2635,6 +2657,8 @@ ProjectStore::Rpc(HttpServerRequest& HttpReq,
std::pair<HttpResponseCode, std::string>
ProjectStore::Export(ProjectStore::Project& Project, ProjectStore::Oplog& Oplog, CbObjectView&& Params, AuthMgr& AuthManager)
{
+ ZEN_TRACE_CPU("ProjectStore::Export");
+
using namespace std::literals;
size_t MaxBlockSize = Params["maxblocksize"sv].AsUInt64(128u * 1024u * 1024u);
@@ -2673,6 +2697,8 @@ ProjectStore::Export(ProjectStore::Project& Project, ProjectStore::Oplog& Oplog,
std::pair<HttpResponseCode, std::string>
ProjectStore::Import(ProjectStore::Project& Project, ProjectStore::Oplog& Oplog, CbObjectView&& Params, AuthMgr& AuthManager)
{
+ ZEN_TRACE_CPU("ProjectStore::Import");
+
using namespace std::literals;
size_t MaxBlockSize = Params["maxblocksize"sv].AsUInt64(128u * 1024u * 1024u);
@@ -3075,6 +3101,8 @@ HttpProjectService::HttpProjectService(CidStore& Store, ProjectStore* Projects,
m_Router.RegisterRoute(
"{project}/oplog/{log}/prep",
[this](HttpRouterRequest& Req) {
+ ZEN_TRACE_CPU("ProjectService::OplogPrep");
+
HttpServerRequest& HttpReq = Req.ServerRequest();
const auto& ProjectId = Req.GetCapture(1);
@@ -3133,6 +3161,8 @@ HttpProjectService::HttpProjectService(CidStore& Store, ProjectStore* Projects,
m_Router.RegisterRoute(
"{project}/oplog/{log}/new",
[this](HttpRouterRequest& Req) {
+ ZEN_TRACE_CPU("ProjectService::OplogNew");
+
HttpServerRequest& HttpReq = Req.ServerRequest();
if (!m_ProjectStore->AreDiskWritesAllowed())
@@ -3444,6 +3474,8 @@ HttpProjectService::HttpProjectService(CidStore& Store, ProjectStore* Projects,
m_Router.RegisterRoute(
"{project}/oplog/{log}/entries",
[this](HttpRouterRequest& Req) {
+ ZEN_TRACE_CPU("ProjectService::OplogEntries");
+
HttpServerRequest& HttpReq = Req.ServerRequest();
const auto& ProjectId = Req.GetCapture(1);
@@ -3601,6 +3633,8 @@ HttpProjectService::HttpProjectService(CidStore& Store, ProjectStore* Projects,
m_Router.RegisterRoute(
"{project}/oplog/{log}/save",
[this](HttpRouterRequest& Req) {
+ ZEN_TRACE_CPU("ProjectService::OplogSave");
+
HttpServerRequest& HttpReq = Req.ServerRequest();
if (!m_ProjectStore->AreDiskWritesAllowed())
@@ -3634,6 +3668,8 @@ HttpProjectService::HttpProjectService(CidStore& Store, ProjectStore* Projects,
m_Router.RegisterRoute(
"{project}/oplog/{log}/load",
[this](HttpRouterRequest& Req) {
+ ZEN_TRACE_CPU("ProjectService::OplogLoad");
+
HttpServerRequest& HttpReq = Req.ServerRequest();
const auto& ProjectId = Req.GetCapture(1);
const auto& OplogId = Req.GetCapture(2);