Hi,
I am invoking a workflow in async manner using UntypedWorkflowStub something as below :
WorkflowStub workflow = workflowClient.newUntypedWorkflowStub(workflowName, builder.build());
boolean started = workflow.start(workflowInput).isInitialized();
Is there any metric or way to measure how much is the time spent in workflow invocation to reach temporal server and get the boolean isInitialized() as part of the response.
I think you might be looking for SDK metric:
workflow_endtoend_latency
it measures your workflow execution time from start to close.
@tihomir I am not looking for end to end execution time of a workflow. I am looking for the time spent in getting a response of WorkflowExecution with isInitialized flag as true, when we invoke workflow.start(). Just want to analyze what is the time being spent to hit temporal server and come back with initialized flag as true.
You can see frontend service latencies for all client request operations using service_latency_bucket
server metric:
histogram_quantile(0.95, sum(rate(service_latency_bucket{operation=~"[^P].*"}[5m])) by (operation, le))
So just to confirm, you are looking at workflow execution end-to-end latency plus service latencies on client StartWorkflowExecution calls?
@tihomir Yes, will look at the service latency part. Thanks!