Profile complete Wasm request timing
This commit is contained in:
@@ -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 != "")
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user