From 08dd0107a4c86a3bf603cce9a18e1d80f402250f Mon Sep 17 00:00:00 2001 From: Zijian Date: Mon, 19 Aug 2024 19:14:06 +0000 Subject: [PATCH] Update frontend poller metrics to include tasklist tag --- service/frontend/templates/metered.tmpl | 7 +++++++ service/frontend/wrappers/metered/api_generated.go | 12 ++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/service/frontend/templates/metered.tmpl b/service/frontend/templates/metered.tmpl index 8c32b400234..616f6effb62 100644 --- a/service/frontend/templates/metered.tmpl +++ b/service/frontend/templates/metered.tmpl @@ -12,6 +12,7 @@ import ( {{- $nonDomainSpecificAPIs := list "Health" "DeprecateDomain" "DescribeDomain" "ListDomains" "RegisterDomain" "UpdateDomain" "GetSearchAttributes" "GetClusterInfo"}} {{- $domainIDAPIs := list "RecordActivityTaskHeartbeat" "RespondActivityTaskCanceled" "RespondActivityTaskCompleted" "RespondActivityTaskFailed" "RespondDecisionTaskCompleted" "RespondDecisionTaskFailed" "RespondQueryTaskCompleted"}} {{- $queryTaskTokenAPIs := list "RespondQueryTaskCompleted"}} +{{- $pollerAPIs := list "PollForActivityTask" "PollForDecisionTask"}} {{- $interfaceName := .Interface.Name}} {{- $interfaceType := .Interface.Type}} @@ -81,9 +82,15 @@ func (h *{{$decorator}}) {{$method.Declaration}} { {{- end}} {{- $domainMetricTag = printf "metrics.DomainTag(%s)" $domain}} {{- end}} + {{- if has $method.Name $pollerAPIs}} + scope := common.NewPerTaskListScope({{(index $method.Params 1).Name}}.Domain, {{(index $method.Params 1).Name}}.TaskList.GetName(), {{(index $method.Params 1).Name}}.TaskList.GetKind(), h.metricsClient, {{$scope}}).Tagged(metrics.GetContextTags(ctx)...) + scope.IncCounter(metrics.CadenceRequestsPerTaskList) + sw := scope.StartTimer(metrics.CadenceLatencyPerTaskList) + {{- else}} scope := h.metricsClient.Scope({{$scope}}).Tagged({{$domainMetricTag}}).Tagged(metrics.GetContextTags(ctx)...) scope.IncCounter(metrics.CadenceRequests) sw := scope.StartTimer(metrics.CadenceLatency) + {{- end}} defer sw.Stop() logger := h.logger.WithTags(tags...) diff --git a/service/frontend/wrappers/metered/api_generated.go b/service/frontend/wrappers/metered/api_generated.go index 0f790f16e49..1e9021eecaf 100644 --- a/service/frontend/wrappers/metered/api_generated.go +++ b/service/frontend/wrappers/metered/api_generated.go @@ -303,9 +303,9 @@ func (h *apiHandler) PollForActivityTask(ctx context.Context, pp1 *types.PollFor defer func() { log.CapturePanic(recover(), h.logger, &err) }() tags := []tag.Tag{tag.WorkflowHandlerName("PollForActivityTask")} tags = append(tags, toPollForActivityTaskRequestTags(pp1)...) - scope := h.metricsClient.Scope(metrics.FrontendPollForActivityTaskScope).Tagged(metrics.DomainTag(pp1.GetDomain())).Tagged(metrics.GetContextTags(ctx)...) - scope.IncCounter(metrics.CadenceRequests) - sw := scope.StartTimer(metrics.CadenceLatency) + scope := common.NewPerTaskListScope(pp1.Domain, pp1.TaskList.GetName(), pp1.TaskList.GetKind(), h.metricsClient, metrics.FrontendPollForActivityTaskScope).Tagged(metrics.GetContextTags(ctx)...) + scope.IncCounter(metrics.CadenceRequestsPerTaskList) + sw := scope.StartTimer(metrics.CadenceLatencyPerTaskList) defer sw.Stop() logger := h.logger.WithTags(tags...) @@ -319,9 +319,9 @@ func (h *apiHandler) PollForDecisionTask(ctx context.Context, pp1 *types.PollFor defer func() { log.CapturePanic(recover(), h.logger, &err) }() tags := []tag.Tag{tag.WorkflowHandlerName("PollForDecisionTask")} tags = append(tags, toPollForDecisionTaskRequestTags(pp1)...) - scope := h.metricsClient.Scope(metrics.FrontendPollForDecisionTaskScope).Tagged(metrics.DomainTag(pp1.GetDomain())).Tagged(metrics.GetContextTags(ctx)...) - scope.IncCounter(metrics.CadenceRequests) - sw := scope.StartTimer(metrics.CadenceLatency) + scope := common.NewPerTaskListScope(pp1.Domain, pp1.TaskList.GetName(), pp1.TaskList.GetKind(), h.metricsClient, metrics.FrontendPollForDecisionTaskScope).Tagged(metrics.GetContextTags(ctx)...) + scope.IncCounter(metrics.CadenceRequestsPerTaskList) + sw := scope.StartTimer(metrics.CadenceLatencyPerTaskList) defer sw.Stop() logger := h.logger.WithTags(tags...)