Profile complete Wasm request timing

This commit is contained in:
udo
2026-07-17 19:11:05 +00:00
parent 556bb06f81
commit c28b446541
6 changed files with 47 additions and 2 deletions
+15
View File
@@ -174,6 +174,9 @@ struct WasmRequestProfile
u64 workspace_birth_cpu_us = 0;
u64 context_apply_us = 0;
u64 context_apply_cpu_us = 0;
u64 entry_invoke_us = 0;
u64 output_collect_us = 0;
u64 workspace_complete_us = 0;
u64 component_resolve_count = 0;
u64 component_resolve_total_us = 0;
u64 component_path_total_us = 0;
@@ -3597,9 +3600,21 @@ inline WasmResponse wasm_worker_serve(WasmWorker& worker, const DValue& context_
(u64)((context_cpu_finished - context_cpu_start) * 1000000.0) : 0;
}
if(error == "")
{
auto invoke_start = std::chrono::steady_clock::now();
error = workspace.invoke_entry(entry_source_path, handler, &response.handler_present);
workspace.entry_invoke_us = (u64)std::chrono::duration_cast<std::chrono::microseconds>(
std::chrono::steady_clock::now() - invoke_start).count();
}
if(error == "")
{
auto collect_start = std::chrono::steady_clock::now();
error = workspace.collect(response);
workspace.output_collect_us = (u64)std::chrono::duration_cast<std::chrono::microseconds>(
std::chrono::steady_clock::now() - collect_start).count();
}
workspace.workspace_complete_us = (u64)std::chrono::duration_cast<std::chrono::microseconds>(
std::chrono::steady_clock::now() - workspace_start).count();
static_cast<WasmRequestProfile&>(response) = workspace;
if(error != "")
{