From d2a8aeb3458a8c9dea4f2787e757a10f28c8a6ec Mon Sep 17 00:00:00 2001 From: Manu Srivastava Date: Tue, 1 Apr 2025 16:59:04 -0400 Subject: [PATCH 1/4] init checkin --- common/rpc/interceptor/telemetry.go | 1 + 1 file changed, 1 insertion(+) diff --git a/common/rpc/interceptor/telemetry.go b/common/rpc/interceptor/telemetry.go index 47179a2e22c..b0c3162e26e 100644 --- a/common/rpc/interceptor/telemetry.go +++ b/common/rpc/interceptor/telemetry.go @@ -100,6 +100,7 @@ var ( "UpdateSchedule": {}, "DeleteSchedule": {}, "PatchSchedule": {}, + "UpdateWorkflowExecutionOptions": {}, } // commandActions is a subset of all the commands that are counted as actions. From b45bb91076141896f3e6cfcf2f779898eb256e36 Mon Sep 17 00:00:00 2001 From: Manu Srivastava Date: Tue, 1 Apr 2025 17:09:51 -0400 Subject: [PATCH 2/4] more changes --- common/rpc/interceptor/telemetry.go | 21 +++++++------------ common/rpc/interceptor/telemetry_test.go | 26 ++++++++++++++++++------ 2 files changed, 27 insertions(+), 20 deletions(-) diff --git a/common/rpc/interceptor/telemetry.go b/common/rpc/interceptor/telemetry.go index b0c3162e26e..cd91ad66e19 100644 --- a/common/rpc/interceptor/telemetry.go +++ b/common/rpc/interceptor/telemetry.go @@ -79,11 +79,12 @@ var ( ) var ( - respondWorkflowTaskCompleted = "RespondWorkflowTaskCompleted" - pollActivityTaskQueue = "PollActivityTaskQueue" - startWorkflowExecution = "StartWorkflowExecution" - executeMultiOperation = "ExecuteMultiOperation" - queryWorkflow = "QueryWorkflow" + respondWorkflowTaskCompleted = "RespondWorkflowTaskCompleted" + pollActivityTaskQueue = "PollActivityTaskQueue" + startWorkflowExecution = "StartWorkflowExecution" + executeMultiOperation = "ExecuteMultiOperation" + queryWorkflow = "QueryWorkflow" + updateWorkflowExecutionOptions = "UpdateWorkflowExecutionOptions" grpcActions = map[string]struct{}{ startWorkflowExecution: {}, @@ -91,6 +92,7 @@ var ( respondWorkflowTaskCompleted: {}, pollActivityTaskQueue: {}, queryWorkflow: {}, + updateWorkflowExecutionOptions: {}, "RecordActivityTaskHeartbeat": {}, "RecordActivityTaskHeartbeatById": {}, "ResetWorkflowExecution": {}, @@ -100,7 +102,6 @@ var ( "UpdateSchedule": {}, "DeleteSchedule": {}, "PatchSchedule": {}, - "UpdateWorkflowExecutionOptions": {}, } // commandActions is a subset of all the commands that are counted as actions. @@ -256,14 +257,6 @@ func (ti *TelemetryInterceptor) emitActionMetric( } switch methodName { - case startWorkflowExecution: - resp, ok := result.(*workflowservice.StartWorkflowExecutionResponse) - if !ok { - return - } - if resp.Started { - metrics.ActionCounter.With(metricsHandler).Record(1, metrics.ActionType("grpc_"+methodName)) - } case executeMultiOperation: resp, ok := result.(*workflowservice.ExecuteMultiOperationResponse) if !ok { diff --git a/common/rpc/interceptor/telemetry_test.go b/common/rpc/interceptor/telemetry_test.go index 8e9505ca41b..0830100c243 100644 --- a/common/rpc/interceptor/telemetry_test.go +++ b/common/rpc/interceptor/telemetry_test.go @@ -35,6 +35,7 @@ import ( protocolpb "go.temporal.io/api/protocol/v1" querypb "go.temporal.io/api/query/v1" "go.temporal.io/api/serviceerror" + "go.temporal.io/api/workflow/v1" "go.temporal.io/api/workflowservice/v1" "go.temporal.io/server/api/historyservice/v1" "go.temporal.io/server/common/api" @@ -70,15 +71,10 @@ func TestEmitActionMetric(t *testing.T) { req any resp any }{ - { - methodName: startWorkflow, - fullName: api.WorkflowServicePrefix + startWorkflow, - resp: &workflowservice.StartWorkflowExecutionResponse{Started: false}, - }, { methodName: startWorkflow, fullName: api.WorkflowServicePrefix + startWorkflow, - resp: &workflowservice.StartWorkflowExecutionResponse{Started: true}, + resp: &workflowservice.StartWorkflowExecutionResponse{}, expectEmitMetrics: true, }, { @@ -216,6 +212,24 @@ func TestEmitActionMetric(t *testing.T) { }, expectEmitMetrics: true, }, + { + methodName: updateWorkflowExecutionOptions, + fullName: api.WorkflowServicePrefix + updateWorkflowExecutionOptions, + req: &workflowservice.UpdateWorkflowExecutionOptionsRequest{ + Namespace: "test-namespace", + WorkflowExecution: &commonpb.WorkflowExecution{ + WorkflowId: "test-workflow-id", + RunId: "test-run-id", + }, + WorkflowExecutionOptions: &workflow.WorkflowExecutionOptions{ + VersioningOverride: &workflow.VersioningOverride{ + Behavior: enumspb.VERSIONING_BEHAVIOR_PINNED, + PinnedVersion: "fake-version", + }, + }, + }, + expectEmitMetrics: true, + }, { methodName: queryWorkflow, fullName: api.WorkflowServicePrefix + queryWorkflow, From 6ada91f81f8087baab153b030d3d3990bdc910d6 Mon Sep 17 00:00:00 2001 From: Manu Srivastava Date: Tue, 1 Apr 2025 17:23:49 -0400 Subject: [PATCH 3/4] fix lint bugs --- common/rpc/interceptor/telemetry_test.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/common/rpc/interceptor/telemetry_test.go b/common/rpc/interceptor/telemetry_test.go index 0830100c243..9887f59e877 100644 --- a/common/rpc/interceptor/telemetry_test.go +++ b/common/rpc/interceptor/telemetry_test.go @@ -35,7 +35,8 @@ import ( protocolpb "go.temporal.io/api/protocol/v1" querypb "go.temporal.io/api/query/v1" "go.temporal.io/api/serviceerror" - "go.temporal.io/api/workflow/v1" + workflowpb "go.temporal.io/api/workflow/v1" + "go.temporal.io/api/workflowservice/v1" "go.temporal.io/server/api/historyservice/v1" "go.temporal.io/server/common/api" @@ -221,8 +222,8 @@ func TestEmitActionMetric(t *testing.T) { WorkflowId: "test-workflow-id", RunId: "test-run-id", }, - WorkflowExecutionOptions: &workflow.WorkflowExecutionOptions{ - VersioningOverride: &workflow.VersioningOverride{ + WorkflowExecutionOptions: &workflowpb.WorkflowExecutionOptions{ + VersioningOverride: &workflowpb.VersioningOverride{ Behavior: enumspb.VERSIONING_BEHAVIOR_PINNED, PinnedVersion: "fake-version", }, From 7f4ebf1179edf398cbc790c70e2f9164dd989bf8 Mon Sep 17 00:00:00 2001 From: Manu Srivastava Date: Tue, 1 Apr 2025 17:25:16 -0400 Subject: [PATCH 4/4] fix lint bugs --- common/rpc/interceptor/telemetry_test.go | 1 - 1 file changed, 1 deletion(-) diff --git a/common/rpc/interceptor/telemetry_test.go b/common/rpc/interceptor/telemetry_test.go index 9887f59e877..ed652cc1406 100644 --- a/common/rpc/interceptor/telemetry_test.go +++ b/common/rpc/interceptor/telemetry_test.go @@ -36,7 +36,6 @@ import ( querypb "go.temporal.io/api/query/v1" "go.temporal.io/api/serviceerror" workflowpb "go.temporal.io/api/workflow/v1" - "go.temporal.io/api/workflowservice/v1" "go.temporal.io/server/api/historyservice/v1" "go.temporal.io/server/common/api"