diff options
| author | Dan Engelbrecht <[email protected]> | 2023-09-20 17:22:49 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-09-20 23:22:49 +0200 |
| commit | 73b86bbbd15e22893f05261dee036b81bfff91cf (patch) | |
| tree | 45c36ed9f8c7e340bd1ba292ec11cab5186b6965 /src/zenserver/admin | |
| parent | controlled zenserver shutdown (#413) (diff) | |
| download | zen-73b86bbbd15e22893f05261dee036b81bfff91cf.tar.xz zen-73b86bbbd15e22893f05261dee036b81bfff91cf.zip | |
Improvement: Add names to background jobs for easier debugging (#412)
Improvement: Background jobs now temporarily sets thread name to background job name while executing
Improvement: Background jobs tracks worker thread id used while executing
Diffstat (limited to 'src/zenserver/admin')
| -rw-r--r-- | src/zenserver/admin/admin.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/zenserver/admin/admin.cpp b/src/zenserver/admin/admin.cpp index 74131e624..cef2ba403 100644 --- a/src/zenserver/admin/admin.cpp +++ b/src/zenserver/admin/admin.cpp @@ -99,24 +99,29 @@ HttpAdminService::HttpAdminService(GcScheduler& Scheduler, JobQueue& BackgroundJ case JobQueue::Status::Queued: { CbObjectWriter Obj; + Obj.AddString("Name"sv, CurrentState->Name); Obj.AddString("Status"sv, "Queued"sv); Obj.AddFloat("QueueTimeS", GetAgeAsSeconds(CurrentState->CreateTime, Now)); + Obj.AddInteger("WorkerThread", CurrentState->WorkerThreadId); Req.ServerRequest().WriteResponse(HttpResponseCode::OK, Obj.Save()); } break; case JobQueue::Status::Running: { CbObjectWriter Obj; + Obj.AddString("Name"sv, CurrentState->Name); Obj.AddString("Status"sv, "Running"sv); WriteState(Obj, CurrentState->State); Obj.AddFloat("QueueTimeS", GetAgeAsSeconds(CurrentState->CreateTime, CurrentState->StartTime)); Obj.AddFloat("RunTimeS", GetAgeAsSeconds(CurrentState->StartTime, Now)); + Obj.AddInteger("WorkerThread", CurrentState->WorkerThreadId); Req.ServerRequest().WriteResponse(HttpResponseCode::OK, Obj.Save()); } break; case JobQueue::Status::Aborted: { CbObjectWriter Obj; + Obj.AddString("Name"sv, CurrentState->Name); Obj.AddString("Status"sv, "Aborted"sv); WriteState(Obj, CurrentState->State); Obj.AddFloat("QueueTimeS", GetAgeAsSeconds(CurrentState->CreateTime, CurrentState->StartTime)); @@ -128,6 +133,7 @@ HttpAdminService::HttpAdminService(GcScheduler& Scheduler, JobQueue& BackgroundJ case JobQueue::Status::Completed: { CbObjectWriter Obj; + Obj.AddString("Name"sv, CurrentState->Name); Obj.AddString("Status"sv, "Complete"sv); WriteState(Obj, CurrentState->State); Obj.AddFloat("QueueTimeS", GetAgeAsSeconds(CurrentState->CreateTime, CurrentState->StartTime)); |