Cache positive entry freshness checks
This commit is contained in:
+13
-1
@@ -1499,8 +1499,11 @@ public:
|
||||
u64 ready_mutation_check_us = 0;
|
||||
u64 ready_artifact_stat_us = 0;
|
||||
u64 ready_freshness_us = 0;
|
||||
u64 ready_source_generation_us = 0;
|
||||
u64 ready_freshness_full_check_us = 0;
|
||||
u64 ready_worker_us = 0;
|
||||
u32 ready_check_count = 0;
|
||||
u32 ready_freshness_cache_hit_count = 0;
|
||||
f64 workspace_wall_start = 0;
|
||||
f64 workspace_cpu_start = 0;
|
||||
struct rusage thread_runtime_start = {};
|
||||
@@ -1608,7 +1611,8 @@ public:
|
||||
void set_perf_snapshot(u64 worker_pid, u64 parent_pid, u64 request_count,
|
||||
f64 time_init, f64 time_params, f64 time_input, f64 time_start,
|
||||
u64 ready_normalize_us, u64 ready_mutation_check_us, u64 ready_artifact_stat_us,
|
||||
u64 ready_freshness_us, u64 ready_worker_us, u32 ready_check_count,
|
||||
u64 ready_freshness_us, u64 ready_source_generation_us, u64 ready_freshness_full_check_us,
|
||||
u64 ready_worker_us, u32 ready_check_count, u32 ready_freshness_cache_hit_count,
|
||||
f64 workspace_wall_start, f64 workspace_cpu_start)
|
||||
{
|
||||
request_perf.worker_pid = worker_pid;
|
||||
@@ -1622,8 +1626,11 @@ public:
|
||||
request_perf.ready_mutation_check_us = ready_mutation_check_us;
|
||||
request_perf.ready_artifact_stat_us = ready_artifact_stat_us;
|
||||
request_perf.ready_freshness_us = ready_freshness_us;
|
||||
request_perf.ready_source_generation_us = ready_source_generation_us;
|
||||
request_perf.ready_freshness_full_check_us = ready_freshness_full_check_us;
|
||||
request_perf.ready_worker_us = ready_worker_us;
|
||||
request_perf.ready_check_count = ready_check_count;
|
||||
request_perf.ready_freshness_cache_hit_count = ready_freshness_cache_hit_count;
|
||||
request_perf.workspace_wall_start = workspace_wall_start;
|
||||
request_perf.workspace_cpu_start = workspace_cpu_start;
|
||||
request_perf.active = true;
|
||||
@@ -3042,8 +3049,11 @@ private:
|
||||
response["ready_mutation_check_us"] = (f64)self->request_perf.ready_mutation_check_us;
|
||||
response["ready_artifact_stat_us"] = (f64)self->request_perf.ready_artifact_stat_us;
|
||||
response["ready_freshness_us"] = (f64)self->request_perf.ready_freshness_us;
|
||||
response["ready_source_generation_us"] = (f64)self->request_perf.ready_source_generation_us;
|
||||
response["ready_freshness_full_check_us"] = (f64)self->request_perf.ready_freshness_full_check_us;
|
||||
response["ready_worker_us"] = (f64)self->request_perf.ready_worker_us;
|
||||
response["ready_check_count"] = (f64)self->request_perf.ready_check_count;
|
||||
response["ready_freshness_cache_hit_count"] = (f64)self->request_perf.ready_freshness_cache_hit_count;
|
||||
if(self->request_perf.time_start > 0 && self->request_perf.time_init > 0)
|
||||
response["accept_us"] = (f64)((self->request_perf.time_start - self->request_perf.time_init) * 1000000.0);
|
||||
if(self->request_perf.time_params > 0 && self->request_perf.time_init > 0)
|
||||
@@ -4308,7 +4318,9 @@ inline WasmResponse wasm_worker_serve(WasmWorker& worker, const Request& request
|
||||
request.stats.time_init, request.stats.time_params, request.stats.time_input, request.stats.time_start,
|
||||
request.stats.wasm_ready_normalize_us, request.stats.wasm_ready_mutation_check_us,
|
||||
request.stats.wasm_ready_artifact_stat_us, request.stats.wasm_ready_freshness_us,
|
||||
request.stats.wasm_ready_source_generation_us, request.stats.wasm_ready_freshness_full_check_us,
|
||||
request.stats.wasm_ready_worker_us, request.stats.wasm_ready_check_count,
|
||||
request.stats.wasm_ready_freshness_cache_hit_count,
|
||||
serve_started, cpu_started);
|
||||
workspace.request_perf.thread_runtime_start = thread_runtime_start;
|
||||
workspace.request_perf.thread_cpu_start = thread_cpu_start;
|
||||
|
||||
Reference in New Issue
Block a user