Documentation ¶
Overview ¶
Package metrics is a generated GoMock package.
Index ¶
- Constants
- Variables
- func AddMetricsContext(ctx context.Context) context.Context
- func CapturePanic(logger log.Logger, metricHandler Handler, retError *error)
- func ContextCounterAdd(ctx context.Context, name string, value int64) bool
- func ContextCounterGet(ctx context.Context, name string) (int64, bool)
- func NewBytesHistogramDef(name string, opts ...Option) histogramDefinition
- func NewClientMetricsTrailerPropagatorInterceptor(logger log.Logger) grpc.UnaryClientInterceptor
- func NewCounterDef(name string, opts ...Option) counterDefinition
- func NewDimensionlessHistogramDef(name string, opts ...Option) histogramDefinition
- func NewGaugeDef(name string, opts ...Option) gaugeDefinition
- func NewOpenTelemetryProvider(logger log.Logger, prometheusConfig *PrometheusConfig, ...) (*openTelemetryProviderImpl, error)
- func NewOtelMetricsHandler(l log.Logger, o OpenTelemetryProvider, cfg ClientConfig) (*otelMetricsHandler, error)
- func NewScope(logger log.Logger, c *Config) tally.Scope
- func NewServerMetricsContextInjectorInterceptor() grpc.UnaryServerInterceptor
- func NewServerMetricsTrailerPropagatorInterceptor(logger log.Logger) grpc.UnaryServerInterceptor
- func NewTallyMetricsHandler(cfg ClientConfig, scope tally.Scope) *tallyMetricsHandler
- func NewTimerDef(name string, opts ...Option) timerDefinition
- func RuntimeMetricsReporterLifetimeHooks(lc fx.Lifecycle, reporter *RuntimeMetricsReporter)
- type BatchHandler
- type ClientConfig
- type Config
- type CounterFunc
- type CounterIface
- type GaugeFunc
- type GaugeIface
- type Handler
- func GetPerTaskQueueFamilyScope(handler Handler, namespaceName string, taskQueueFamily *tqid.TaskQueueFamily, ...) Handler
- func GetPerTaskQueuePartitionIDScope(handler Handler, namespaceName string, partition tqid.Partition, ...) Handler
- func GetPerTaskQueuePartitionTypeScope(handler Handler, namespaceName string, partition tqid.Partition, ...) Handler
- func GetPerTaskQueueScope(handler Handler, namespaceName string, taskQueue *tqid.TaskQueue, ...) Handler
- func MetricsHandlerFromConfig(logger log.Logger, c *Config) (Handler, error)
- type HistogramFunc
- type HistogramIface
- type HistogramObjective
- type MetricUnit
- type MockBatchHandler
- func (m *MockBatchHandler) Close() error
- func (m *MockBatchHandler) Counter(arg0 string) CounterIface
- func (m *MockBatchHandler) EXPECT() *MockBatchHandlerMockRecorder
- func (m *MockBatchHandler) Gauge(arg0 string) GaugeIface
- func (m *MockBatchHandler) Histogram(arg0 string, arg1 MetricUnit) HistogramIface
- func (m *MockBatchHandler) StartBatch(arg0 string) BatchHandler
- func (m *MockBatchHandler) Stop(arg0 log.Logger)
- func (m *MockBatchHandler) Timer(arg0 string) TimerIface
- func (m *MockBatchHandler) WithTags(arg0 ...Tag) Handler
- type MockBatchHandlerMockRecorder
- func (mr *MockBatchHandlerMockRecorder) Close() *gomock.Call
- func (mr *MockBatchHandlerMockRecorder) Counter(arg0 any) *gomock.Call
- func (mr *MockBatchHandlerMockRecorder) Gauge(arg0 any) *gomock.Call
- func (mr *MockBatchHandlerMockRecorder) Histogram(arg0, arg1 any) *gomock.Call
- func (mr *MockBatchHandlerMockRecorder) StartBatch(arg0 any) *gomock.Call
- func (mr *MockBatchHandlerMockRecorder) Stop(arg0 any) *gomock.Call
- func (mr *MockBatchHandlerMockRecorder) Timer(arg0 any) *gomock.Call
- func (mr *MockBatchHandlerMockRecorder) WithTags(arg0 ...any) *gomock.Call
- type MockCounterIface
- type MockCounterIfaceMockRecorder
- type MockGaugeIface
- type MockGaugeIfaceMockRecorder
- type MockHandler
- func (m *MockHandler) Counter(arg0 string) CounterIface
- func (m *MockHandler) EXPECT() *MockHandlerMockRecorder
- func (m *MockHandler) Gauge(arg0 string) GaugeIface
- func (m *MockHandler) Histogram(arg0 string, arg1 MetricUnit) HistogramIface
- func (m *MockHandler) StartBatch(arg0 string) BatchHandler
- func (m *MockHandler) Stop(arg0 log.Logger)
- func (m *MockHandler) Timer(arg0 string) TimerIface
- func (m *MockHandler) WithTags(arg0 ...Tag) Handler
- type MockHandlerMockRecorder
- func (mr *MockHandlerMockRecorder) Counter(arg0 any) *gomock.Call
- func (mr *MockHandlerMockRecorder) Gauge(arg0 any) *gomock.Call
- func (mr *MockHandlerMockRecorder) Histogram(arg0, arg1 any) *gomock.Call
- func (mr *MockHandlerMockRecorder) StartBatch(arg0 any) *gomock.Call
- func (mr *MockHandlerMockRecorder) Stop(arg0 any) *gomock.Call
- func (mr *MockHandlerMockRecorder) Timer(arg0 any) *gomock.Call
- func (mr *MockHandlerMockRecorder) WithTags(arg0 ...any) *gomock.Call
- type MockHistogramIface
- type MockHistogramIfaceMockRecorder
- type MockTimerIface
- type MockTimerIfaceMockRecorder
- type OpenTelemetryProvider
- type Option
- type PrometheusConfig
- type ReasonString
- type RuntimeMetricsReporter
- type SanitizeOptions
- type SanitizeRange
- type StatsdConfig
- type StatsdReporterConfig
- type SummaryObjective
- type Tag
- func ActionType(value string) Tag
- func ActivityTypeTag(value string) Tag
- func CacheTypeTag(value string) Tag
- func CommandTypeTag(value string) Tag
- func DestinationTag(value string) Tag
- func FailureTag(value string) Tag
- func FromClusterIDTag(value int32) Tag
- func HttpStatusTag(value int) Tag
- func InstanceTag(value string) Tag
- func NamespaceIDTag(value string) Tag
- func NamespaceStateTag(value string) Tag
- func NamespaceTag(value string) Tag
- func NamespaceUnknownTag() Tag
- func NexusEndpointTag(value string) Tag
- func NexusMethodTag(value string) Tag
- func OperationTag(value string) Tag
- func OutcomeTag(outcome string) Tag
- func PartitionTag(partition string) Tag
- func PriorityTag(value locks.Priority) Tag
- func QueueActionTag(value string) Tag
- func QueueReaderIDTag(readerID int64) Tag
- func QueueTypeTag(value string) Tag
- func ReasonTag(value ReasonString) Tag
- func ReplicationTaskTypeTag(value enumsspb.ReplicationTaskType) Tag
- func ResourceExhaustedCauseTag(cause enumspb.ResourceExhaustedCause) Tag
- func ResourceExhaustedScopeTag(scope enumspb.ResourceExhaustedScope) Tag
- func ServiceErrorTypeTag(err error) Tag
- func ServiceNameTag(value primitives.ServiceName) Tag
- func ServiceRoleTag(value string) Tag
- func SourceClusterTag(value string) Tag
- func StringTag(key string, value string) Tag
- func TargetClusterTag(value string) Tag
- func TaskCategoryTag(value string) Tag
- func TaskPriorityTag(value string) Tag
- func TaskQueueTypeTag(tqType enumspb.TaskQueueType) Tag
- func TaskQueueUnknownTag() Tag
- func TaskTypeTag(value string) Tag
- func ToClusterIDTag(value int32) Tag
- func UnsafeTaskQueueTag(value string) Tag
- func VersionedTag(versioned string) Tag
- func VisibilityIndexNameTag(value string) Tag
- func VisibilityPluginNameTag(value string) Tag
- func WorkerBuildIdTag(buildId string, buildIdBreakdown bool) Tag
- func WorkflowTypeTag(value string) Tag
- type TimerFunc
- type TimerIface
- type ValidCharacters
- type WithDescription
- type WithUnit
Examples ¶
Constants ¶
const ( // FrameworkTally tally framework id FrameworkTally = "tally" // FrameworkOpentelemetry OpenTelemetry framework id FrameworkOpentelemetry = "opentelemetry" )
Supported framework types
const ( UnitNameDimensionless = "dimensionless" UnitNameMilliseconds = "milliseconds" UnitNameBytes = "bytes" )
Valid unit name for PerUnitHistogramBoundaries config field
const ( Dimensionless = "1" Milliseconds = "ms" Bytes = "By" )
MetricUnit supported values Values are pulled from https://pkg.go.dev/golang.org/x/exp/event#Unit
const ( OperationTagName = "operation" ServiceRoleTagName = "service_role" CacheTypeTagName = "cache_type" FailureTagName = "failure" TaskCategoryTagName = "task_category" TaskTypeTagName = "task_type" TaskPriorityTagName = "task_priority" QueueReaderIDTagName = "queue_reader_id" QueueActionTagName = "queue_action" QueueTypeTagName = "queue_type" ErrorTypeTagName = "error_type" PartitionTagName = "partition" PriorityTagName = "priority" )
Common tags for all services
const ( HistoryRoleTagValue = "history" MatchingRoleTagValue = "matching" FrontendRoleTagValue = "frontend" AdminRoleTagValue = "admin" DCRedirectionRoleTagValue = "dc_redirection" BlobstoreRoleTagValue = "blobstore" MutableStateCacheTypeTagValue = "mutablestate" EventsCacheTypeTagValue = "events" NexusEndpointRegistryReadThroughCacheTypeTagValue = "nexus_endpoint_registry_readthrough" InvalidHistoryURITagValue = "invalid_history_uri" InvalidVisibilityURITagValue = "invalid_visibility_uri" )
This package should hold all the metrics and tags for temporal
const ( // MatchingClientPollWorkflowTaskQueueScope tracks RPC calls to matching service MatchingClientPollWorkflowTaskQueueScope = "MatchingClientPollWorkflowTaskQueue" // MatchingClientPollActivityTaskQueueScope tracks RPC calls to matching service MatchingClientPollActivityTaskQueueScope = "MatchingClientPollActivityTaskQueue" // MatchingClientAddActivityTaskScope tracks RPC calls to matching service MatchingClientAddActivityTaskScope = "MatchingClientAddActivityTask" // MatchingClientAddWorkflowTaskScope tracks RPC calls to matching service MatchingClientAddWorkflowTaskScope = "MatchingClientAddWorkflowTask" // MatchingClientQueryWorkflowScope tracks RPC calls to matching service MatchingClientQueryWorkflowScope = "MatchingClientQueryWorkflow" )
Matching Client Operations
const ( // TaskQueueScavengerScope is scope used by all metrics emitted by worker.taskqueue.Scavenger module TaskQueueScavengerScope = "TaskQueueScavenger" // ExecutionsScavengerScope is scope used by all metrics emitted by worker.executions.Scavenger module ExecutionsScavengerScope = "ExecutionsScavenger" )
Worker
const ( // PersistenceAppendHistoryNodesScope tracks AppendHistoryNodes calls made by service to persistence layer PersistenceAppendHistoryNodesScope = "AppendHistoryNodes" // PersistenceAppendRawHistoryNodesScope tracks AppendRawHistoryNodes calls made by service to persistence layer PersistenceAppendRawHistoryNodesScope = "AppendRawHistoryNodes" // PersistenceReadHistoryBranchScope tracks ReadHistoryBranch calls made by service to persistence layer PersistenceReadHistoryBranchScope = "ReadHistoryBranch" // PersistenceReadHistoryBranchReverseScope tracks ReadHistoryBranchReverse calls made by service to persistence layer PersistenceReadHistoryBranchReverseScope = "ReadHistoryBranchReverse" // PersistenceReadRawHistoryBranchScope tracks ReadRawHistoryBranch calls made by service to persistence layer PersistenceReadRawHistoryBranchScope = "ReadRawHistoryBranch" // PersistenceForkHistoryBranchScope tracks ForkHistoryBranch calls made by service to persistence layer PersistenceForkHistoryBranchScope = "ForkHistoryBranch" // PersistenceDeleteHistoryBranchScope tracks DeleteHistoryBranch calls made by service to persistence layer PersistenceDeleteHistoryBranchScope = "DeleteHistoryBranch" // PersistenceTrimHistoryBranchScope tracks TrimHistoryBranch calls made by service to persistence layer PersistenceTrimHistoryBranchScope = "TrimHistoryBranch" // PersistenceGetAllHistoryTreeBranchesScope tracks GetAllHistoryTreeBranches calls made by service to persistence layer PersistenceGetAllHistoryTreeBranchesScope = "GetAllHistoryTreeBranches" // PersistenceNamespaceReplicationQueueScope is the metrics scope for namespace replication queue PersistenceNamespaceReplicationQueueScope = "NamespaceReplicationQueue" // PersistenceEnqueueMessageScope tracks Enqueue calls made by service to persistence layer PersistenceEnqueueMessageScope = "EnqueueMessage" // PersistenceEnqueueMessageToDLQScope tracks Enqueue DLQ calls made by service to persistence layer PersistenceEnqueueMessageToDLQScope = "EnqueueMessageToDLQ" // PersistenceReadQueueMessagesScope tracks ReadMessages calls made by service to persistence layer PersistenceReadQueueMessagesScope = "ReadQueueMessages" // PersistenceReadMessagesFromDLQScope tracks ReadMessagesFromDLQ calls made by service to persistence layer PersistenceReadMessagesFromDLQScope = "ReadMessagesFromDLQ" // PersistenceDeleteMessagesBeforeScope tracks DeleteMessagesBefore calls made by service to persistence layer PersistenceDeleteMessagesBeforeScope = "DeleteMessagesBefore" // PersistenceDeleteMessageFromDLQScope tracks DeleteMessageFromDLQ calls made by service to persistence layer PersistenceDeleteMessageFromDLQScope = "DeleteMessageFromDLQ" // PersistenceRangeDeleteMessagesFromDLQScope tracks RangeDeleteMessagesFromDLQ calls made by service to persistence layer PersistenceRangeDeleteMessagesFromDLQScope = "RangeDeleteMessagesFromDLQ" // PersistenceUpdateAckLevelScope tracks UpdateAckLevel calls made by service to persistence layer PersistenceUpdateAckLevelScope = "UpdateAckLevel" // PersistenceGetAckLevelScope tracks GetAckLevel calls made by service to persistence layer PersistenceGetAckLevelScope = "GetAckLevel" // PersistenceUpdateDLQAckLevelScope tracks UpdateDLQAckLevel calls made by service to persistence layer PersistenceUpdateDLQAckLevelScope = "UpdateDLQAckLevel" // PersistenceGetDLQAckLevelScope tracks GetDLQAckLevel calls made by service to persistence layer PersistenceGetDLQAckLevelScope = "GetDLQAckLevel" // PersistenceListClusterMetadataScope tracks ListClusterMetadata calls made by service to persistence layer PersistenceListClusterMetadataScope = "ListClusterMetadata" // PersistenceGetClusterMetadataScope tracks GetClusterMetadata calls made by service to persistence layer PersistenceGetClusterMetadataScope = "GetClusterMetadata" // PersistenceGetCurrentClusterMetadataScope tracks GetCurrentClusterMetadata calls made by service to persistence layer PersistenceGetCurrentClusterMetadataScope = "GetCurrentClusterMetadata" // PersistenceSaveClusterMetadataScope tracks SaveClusterMetadata calls made by service to persistence layer PersistenceSaveClusterMetadataScope = "SaveClusterMetadata" // PersistenceDeleteClusterMetadataScope tracks DeleteClusterMetadata calls made by service to persistence layer PersistenceDeleteClusterMetadataScope = "DeleteClusterMetadata" // PersistenceUpsertClusterMembershipScope tracks UpsertClusterMembership calls made by service to persistence layer PersistenceUpsertClusterMembershipScope = "UpsertClusterMembership" // PersistencePruneClusterMembershipScope tracks PruneClusterMembership calls made by service to persistence layer PersistencePruneClusterMembershipScope = "PruneClusterMembership" // PersistenceGetClusterMembersScope tracks GetClusterMembers calls made by service to persistence layer PersistenceGetClusterMembersScope = "GetClusterMembers" // PersistenceGetOrCreateShardScope tracks GetOrCreateShard calls made by service to persistence layer PersistenceGetOrCreateShardScope = "GetOrCreateShard" // PersistenceUpdateShardScope tracks UpdateShard calls made by service to persistence layer PersistenceUpdateShardScope = "UpdateShard" // PersistenceAssertShardOwnershipScope tracks UpdateShard calls made by service to persistence layer PersistenceAssertShardOwnershipScope = "AssertShardOwnership" // PersistenceCreateWorkflowExecutionScope tracks CreateWorkflowExecution calls made by service to persistence layer PersistenceCreateWorkflowExecutionScope = "CreateWorkflowExecution" // PersistenceGetWorkflowExecutionScope tracks GetWorkflowExecution calls made by service to persistence layer PersistenceGetWorkflowExecutionScope = "GetWorkflowExecution" // PersistenceSetWorkflowExecutionScope tracks SetWorkflowExecution calls made by service to persistence layer PersistenceSetWorkflowExecutionScope = "SetWorkflowExecution" // PersistenceUpdateWorkflowExecutionScope tracks UpdateWorkflowExecution calls made by service to persistence layer PersistenceUpdateWorkflowExecutionScope = "UpdateWorkflowExecution" // PersistenceConflictResolveWorkflowExecutionScope tracks ConflictResolveWorkflowExecution calls made by service to persistence layer PersistenceConflictResolveWorkflowExecutionScope = "ConflictResolveWorkflowExecution" // PersistenceDeleteWorkflowExecutionScope tracks DeleteWorkflowExecution calls made by service to persistence layer PersistenceDeleteWorkflowExecutionScope = "DeleteWorkflowExecution" // PersistenceDeleteCurrentWorkflowExecutionScope tracks DeleteCurrentWorkflowExecution calls made by service to persistence layer PersistenceDeleteCurrentWorkflowExecutionScope = "DeleteCurrentWorkflowExecution" // PersistenceGetCurrentExecutionScope tracks GetCurrentExecution calls made by service to persistence layer PersistenceGetCurrentExecutionScope = "GetCurrentExecution" // PersistenceListConcreteExecutionsScope tracks ListConcreteExecutions calls made by service to persistence layer PersistenceListConcreteExecutionsScope = "ListConcreteExecutions" // PersistenceAddTasksScope tracks AddTasks calls made by service to persistence layer PersistenceAddTasksScope = "AddTasks" // PersistenceGetTransferTasksScope tracks GetTransferTasks calls made by service to persistence layer PersistenceGetTransferTasksScope = "GetTransferTasks" // PersistenceCompleteTransferTaskScope tracks CompleteTransferTasks calls made by service to persistence layer PersistenceCompleteTransferTaskScope = "CompleteTransferTask" // PersistenceRangeCompleteTransferTasksScope tracks CompleteTransferTasks calls made by service to persistence layer PersistenceRangeCompleteTransferTasksScope = "RangeCompleteTransferTasks" // PersistenceGetVisibilityTasksScope tracks GetVisibilityTasks calls made by service to persistence layer PersistenceGetVisibilityTasksScope = "GetVisibilityTasks" // PersistenceCompleteVisibilityTaskScope tracks CompleteVisibilityTasks calls made by service to persistence layer PersistenceCompleteVisibilityTaskScope = "CompleteVisibilityTask" // PersistenceRangeCompleteVisibilityTasksScope tracks CompleteVisibilityTasks calls made by service to persistence layer PersistenceRangeCompleteVisibilityTasksScope = "RangeCompleteVisibilityTasks" // PersistenceGetReplicationTaskScope tracks GetReplicationTask calls made by service to persistence layer PersistenceGetArchivalTasksScope = "GetArchivalTasks" // PersistenceGetOutboundTasksScope tracks GetOutboundTasks calls made by service to persistence layer PersistenceGetOutboundTasksScope = "GetOutboundTasks" // PersistenceCompleteOutboundTasksScope tracks CompleteOutboundTasks calls made by service to persistence layer PersistenceCompleteOutboundTasksScope = "CompleteOutboundTasks" // PersistenceRangeCompleteOutboundTasksScope tracks RangeCompleteOutboundTasks calls made by service to persistence layer PersistenceRangeCompleteOutboundTasksScope = "RangeCompleteOutboundTasks" // PersistenceCompleteArchivalTaskScope tracks CompleteArchivalTasks calls made by service to persistence layer PersistenceCompleteArchivalTaskScope = "CompleteArchivalTask" // PersistenceRangeCompleteArchivalTasksScope tracks CompleteArchivalTasks calls made by service to persistence layer PersistenceRangeCompleteArchivalTasksScope = "RangeCompleteArchivalTasks" // PersistenceGetReplicationTasksScope tracks GetReplicationTasks calls made by service to persistence layer PersistenceGetReplicationTasksScope = "GetReplicationTasks" // PersistenceCompleteReplicationTaskScope tracks CompleteReplicationTasks calls made by service to persistence layer PersistenceCompleteReplicationTaskScope = "CompleteReplicationTask" // PersistenceRangeCompleteReplicationTasksScope tracks RangeCompleteReplicationTasks calls made by service to persistence layer PersistenceRangeCompleteReplicationTasksScope = "RangeCompleteReplicationTasks" // PersistencePutReplicationTaskToDLQScope tracks PersistencePutReplicationTaskToDLQScope calls made by service to persistence layer PersistencePutReplicationTaskToDLQScope = "PutReplicationTaskToDLQ" // PersistenceGetReplicationTasksFromDLQScope tracks PersistenceGetReplicationTasksFromDLQScope calls made by service to persistence layer PersistenceGetReplicationTasksFromDLQScope = "GetReplicationTasksFromDLQ" // PersistenceDeleteReplicationTaskFromDLQScope tracks PersistenceDeleteReplicationTaskFromDLQScope calls made by service to persistence layer PersistenceDeleteReplicationTaskFromDLQScope = "DeleteReplicationTaskFromDLQ" // PersistenceRangeDeleteReplicationTaskFromDLQScope tracks PersistenceRangeDeleteReplicationTaskFromDLQScope calls made by service to persistence layer PersistenceRangeDeleteReplicationTaskFromDLQScope = "RangeDeleteReplicationTaskFromDLQ" // PersistenceGetTimerTasksScope tracks GetTimerTasks calls made by service to persistence layer PersistenceGetTimerTasksScope = "GetTimerTasks" // PersistenceCompleteTimerTaskScope tracks CompleteTimerTasks calls made by service to persistence layer PersistenceCompleteTimerTaskScope = "CompleteTimerTask" // PersistenceRangeCompleteTimerTasksScope tracks CompleteTimerTasks calls made by service to persistence layer PersistenceRangeCompleteTimerTasksScope = "RangeCompleteTimerTasks" // PersistenceCreateTasksScope tracks CreateTasks calls made by service to persistence layer PersistenceCreateTasksScope = "CreateTasks" // PersistenceGetTasksScope tracks GetTasks calls made by service to persistence layer PersistenceGetTasksScope = "GetTasks" // PersistenceCompleteTaskScope tracks CompleteTask calls made by service to persistence layer PersistenceCompleteTaskScope = "CompleteTask" // PersistenceCompleteTasksLessThanScope is the metric scope for persistence.TaskManager.PersistenceCompleteTasksLessThan API PersistenceCompleteTasksLessThanScope = "CompleteTasksLessThan" // PersistenceCreateTaskQueueScope tracks PersistenceCreateTaskQueueScope calls made by service to persistence layer PersistenceCreateTaskQueueScope = "CreateTaskQueue" // PersistenceUpdateTaskQueueScope tracks PersistenceUpdateTaskQueueScope calls made by service to persistence layer PersistenceUpdateTaskQueueScope = "UpdateTaskQueue" // PersistenceGetTaskQueueScope tracks PersistenceGetTaskQueueScope calls made by service to persistence layer PersistenceGetTaskQueueScope = "GetTaskQueue" // PersistenceListTaskQueueScope is the metric scope for persistence.TaskManager.ListTaskQueue API PersistenceListTaskQueueScope = "ListTaskQueue" // PersistenceDeleteTaskQueueScope is the metric scope for persistence.TaskManager.DeleteTaskQueue API PersistenceDeleteTaskQueueScope = "DeleteTaskQueue" // PersistenceGetTaskQueueUserDataScope is the metric scope for persistence.TaskManager.GetTaskQueueUserData API PersistenceGetTaskQueueUserDataScope = "GetTaskQueueUserData" // PersistenceUpdateTaskQueueUserDataScope is the metric scope for persistence.TaskManager.UpdateTaskQueueUserData API PersistenceUpdateTaskQueueUserDataScope = "UpdateTaskQueueUserData" // PersistenceListTaskQueueUserDataEntriesScope is the metric scope for persistence.TaskManager.ListTaskQueueUserDataEntries API PersistenceListTaskQueueUserDataEntriesScope = "ListTaskQueueUserDataEntries" // PersistenceGetTaskQueuesByBuildIdScope is the metric scope for persistence.TaskManager.GetTaskQueuesByBuildId API PersistenceGetTaskQueuesByBuildIdScope = "GetTaskQueuesByBuildId" // PersistenceCountTaskQueuesByBuildIdScope is the metric scope for persistence.TaskManager.CountTaskQueuesByBuildId API PersistenceCountTaskQueuesByBuildIdScope = "CountTaskQueuesByBuildId" // PersistenceInitializeSystemNamespaceScope tracks InitializeSystemNamespaceScope calls made by service to persistence layer PersistenceInitializeSystemNamespaceScope = "InitializeSystemNamespace" // PersistenceCreateNamespaceScope tracks CreateNamespace calls made by service to persistence layer PersistenceCreateNamespaceScope = "CreateNamespace" // PersistenceGetNamespaceScope tracks GetNamespace calls made by service to persistence layer PersistenceGetNamespaceScope = "GetNamespace" // PersistenceUpdateNamespaceScope tracks UpdateNamespace calls made by service to persistence layer PersistenceUpdateNamespaceScope = "UpdateNamespace" // PersistenceDeleteNamespaceScope tracks DeleteNamespace calls made by service to persistence layer PersistenceDeleteNamespaceScope = "DeleteNamespace" // PersistenceRenameNamespaceScope tracks RenameNamespace calls made by service to persistence layer PersistenceRenameNamespaceScope = "RenameNamespace" // PersistenceDeleteNamespaceByNameScope tracks DeleteNamespaceByName calls made by service to persistence layer PersistenceDeleteNamespaceByNameScope = "DeleteNamespaceByName" // PersistenceListNamespacesScope tracks ListNamespaces calls made by service to persistence layer PersistenceListNamespacesScope = "ListNamespaces" // PersistenceGetMetadataScope tracks DeleteNamespaceByName calls made by service to persistence layer PersistenceGetMetadataScope = "GetMetadata" // PersistenceGetNexusEndpointScope tracks GetNexusEndpoint calls made by service to persistence layer PersistenceGetNexusEndpointScope = "GetNexusEndpoint" // PersistenceListNexusEndpointsScope tracks ListNexusEndpoint calls made by service to persistence layer PersistenceListNexusEndpointsScope = "ListNexusEndpoints" // PersistenceCreateOrUpdateNexusEndpointScope tracks CreateOrUpdateNexusEndpoint calls made by service to persistence layer PersistenceCreateOrUpdateNexusEndpointScope = "CreateOrUpdateNexusEndpoint" // PersistenceDeleteNexusEndpointScope tracks DeleteNexusEndpoint calls made by service to persistence layer PersistenceDeleteNexusEndpointScope = "DeleteNexusEndpoint" // VisibilityPersistenceRecordWorkflowExecutionStartedScope tracks RecordWorkflowExecutionStarted calls made by service to visibility persistence layer VisibilityPersistenceRecordWorkflowExecutionStartedScope = "RecordWorkflowExecutionStarted" // VisibilityPersistenceRecordWorkflowExecutionClosedScope tracks RecordWorkflowExecutionClosed calls made by service to visibility persistence layer VisibilityPersistenceRecordWorkflowExecutionClosedScope = "RecordWorkflowExecutionClosed" // VisibilityPersistenceUpsertWorkflowExecutionScope tracks UpsertWorkflowExecution calls made by service to persistence visibility layer VisibilityPersistenceUpsertWorkflowExecutionScope = "UpsertWorkflowExecution" // VisibilityPersistenceDeleteWorkflowExecutionScope tracks DeleteWorkflowExecutions calls made by service to visibility persistence layer VisibilityPersistenceDeleteWorkflowExecutionScope = "DeleteWorkflowExecution" // VisibilityPersistenceListWorkflowExecutionsScope tracks ListWorkflowExecutions calls made by service to visibility persistence layer VisibilityPersistenceListWorkflowExecutionsScope = "ListWorkflowExecutions" // VisibilityPersistenceScanWorkflowExecutionsScope tracks ScanWorkflowExecutions calls made by service to visibility persistence layer VisibilityPersistenceScanWorkflowExecutionsScope = "ScanWorkflowExecutions" // VisibilityPersistenceCountWorkflowExecutionsScope tracks CountWorkflowExecutions calls made by service to visibility persistence layer VisibilityPersistenceCountWorkflowExecutionsScope = "CountWorkflowExecutions" // VisibilityPersistenceGetWorkflowExecutionScope tracks GetWorkflowExecution calls made by service to visibility persistence layer VisibilityPersistenceGetWorkflowExecutionScope = "GetWorkflowExecution" )
const ( ServerTlsScope = "ServerTls" // AuthorizationScope is the scope used by all metric emitted by authorization code AuthorizationScope = "Authorization" // NamespaceCacheScope tracks namespace cache callbacks NamespaceCacheScope = "NamespaceCache" )
Common
const ( // AdminGetWorkflowExecutionRawHistoryV2Scope is the metric scope for admin.GetWorkflowExecutionRawHistoryScope AdminGetWorkflowExecutionRawHistoryV2Scope = "AdminGetWorkflowExecutionRawHistoryV2" // AdminGetWorkflowExecutionRawHistoryScope is the metric scope for admin.GetWorkflowExecutionRawHistoryScope AdminGetWorkflowExecutionRawHistoryScope = "AdminGetWorkflowExecutionRawHistory" // OperatorAddSearchAttributesScope is the metric scope for operator.AddSearchAttributes OperatorAddSearchAttributesScope = "OperatorAddSearchAttributes" // OperatorDeleteNamespaceScope is the metric scope for operator.OperatorDeleteNamespace OperatorDeleteNamespaceScope = "OperatorDeleteNamespace" // FrontendGetWorkflowExecutionHistoryScope is the metric scope for non-long-poll frontend.GetWorkflowExecutionHistory FrontendGetWorkflowExecutionHistoryScope = "GetWorkflowExecutionHistory" // FrontendPollWorkflowExecutionHistoryScope is the metric scope for long poll case of frontend.GetWorkflowExecutionHistory FrontendPollWorkflowExecutionHistoryScope = "PollWorkflowExecutionHistory" // VersionCheckScope is scope used by version checker VersionCheckScope = "VersionCheck" )
Frontend Scope
const ( // HistoryStartWorkflowExecutionScope tracks StartWorkflowExecution API calls received by service HistoryStartWorkflowExecutionScope = "StartWorkflowExecution" // HistoryRecordActivityTaskHeartbeatScope tracks RecordActivityTaskHeartbeat API calls received by service HistoryRecordActivityTaskHeartbeatScope = "RecordActivityTaskHeartbeat" // HistoryRespondWorkflowTaskCompletedScope tracks RespondWorkflowTaskCompleted API calls received by service HistoryRespondWorkflowTaskCompletedScope = "RespondWorkflowTaskCompleted" // HistoryRespondActivityTaskCompletedScope tracks RespondActivityTaskCompleted API calls received by service HistoryRespondActivityTaskCompletedScope = "RespondActivityTaskCompleted" // HistoryRespondActivityTaskFailedScope tracks RespondActivityTaskFailed API calls received by service HistoryRespondActivityTaskFailedScope = "RespondActivityTaskFailed" // HistoryRespondActivityTaskCanceledScope tracks RespondActivityTaskCanceled API calls received by service HistoryRespondActivityTaskCanceledScope = "RespondActivityTaskCanceled" // HistoryGetWorkflowExecutionHistoryScope is the metric scope for non-long-poll frontend.GetWorkflowExecutionHistory HistoryGetWorkflowExecutionHistoryScope = "GetWorkflowExecutionHistory" // HistoryPollWorkflowExecutionHistoryScope is the metric scope for long poll case of frontend.GetWorkflowExecutionHistory HistoryPollWorkflowExecutionHistoryScope = "PollWorkflowExecutionHistory" // HistoryGetWorkflowExecutionRawHistoryScope tracks GetWorkflowExecutionRawHistoryV2Scope API calls received by service HistoryGetWorkflowExecutionRawHistoryScope = "GetWorkflowExecutionRawHistory" // HistoryGetWorkflowExecutionRawHistoryV2Scope tracks GetWorkflowExecutionRawHistoryV2Scope API calls received by service HistoryGetWorkflowExecutionRawHistoryV2Scope = "GetWorkflowExecutionRawHistoryV2" // HistoryGetHistoryScope tracks GetHistoryScope API calls received by service HistoryGetHistoryScope = "GetHistory" // HistoryGetRawHistoryScope tracks GetRawHistoryScope API calls received by service HistoryGetRawHistoryScope = "GetRawHistory" // HistoryGetHistoryReverseScope tracks GetHistoryReverseScope API calls received by service HistoryGetHistoryReverseScope = "GetHistoryReverse" // HistoryRecordWorkflowTaskStartedScope tracks RecordWorkflowTaskStarted API calls received by service HistoryRecordWorkflowTaskStartedScope = "RecordWorkflowTaskStarted" // HistoryRecordActivityTaskStartedScope tracks RecordActivityTaskStarted API calls received by service HistoryRecordActivityTaskStartedScope = "RecordActivityTaskStarted" // HistorySignalWithStartWorkflowExecutionScope tracks SignalWithStartWorkflowExecution API calls received by service HistorySignalWithStartWorkflowExecutionScope = "SignalWithStartWorkflowExecution" // HistorySyncShardStatusScope tracks HistorySyncShardStatus API calls received by service HistorySyncShardStatusScope = "SyncShardStatus" // HistoryShardControllerScope is the scope used by shard controller HistoryShardControllerScope = "ShardController" // HistoryReapplyEventsScope is the scope used by event reapplication HistoryReapplyEventsScope = "ReapplyEvents" // HistoryQueryWorkflowScope tracks QueryWorkflow API calls received by service HistoryQueryWorkflowScope = "QueryWorkflow" // HistoryProcessDeleteHistoryEventScope tracks ProcessDeleteHistoryEvent processing calls HistoryProcessDeleteHistoryEventScope = "ProcessDeleteHistoryEvent" // HistoryDeleteWorkflowExecutionScope tracks DeleteWorkflowExecutions API calls HistoryDeleteWorkflowExecutionScope = "DeleteWorkflowExecution" // HistoryCacheGetOrCreateScope is the scope used by history cache HistoryCacheGetOrCreateScope = "HistoryCacheGetOrCreate" // HistoryCacheGetOrCreateCurrentScope is the scope used by history cache HistoryCacheGetOrCreateCurrentScope = "HistoryCacheGetOrCreateCurrent" // TransferActiveTaskCloseExecutionScope is the scope used for close execution task processing by transfer queue processor TransferActiveTaskCloseExecutionScope = "TransferActiveTaskCloseExecution" // TimerActiveTaskActivityTimeoutScope is the scope used by metric emitted by timer queue processor for processing activity timeouts TimerActiveTaskActivityTimeoutScope = "TimerActiveTaskActivityTimeout" // TimerActiveTaskWorkflowTaskTimeoutScope is the scope used by metric emitted by timer queue processor for processing workflow task timeouts TimerActiveTaskWorkflowTaskTimeoutScope = "TimerActiveTaskWorkflowTaskTimeout" // TimerActiveTaskWorkflowBackoffTimerScope is the scope used by metric emitted by timer queue processor for processing retry task. TimerActiveTaskWorkflowBackoffTimerScope = "TimerActiveTaskWorkflowBackoffTimer" // ReplicatorQueueProcessorScope is the scope used by all metric emitted by replicator queue processor ReplicatorQueueProcessorScope = "ReplicatorQueueProcessor" // ReplicateHistoryEventsScope is the scope used by historyReplicator API for applying events ReplicateHistoryEventsScope = "ReplicateHistoryEvents" // HistoryRereplicationByTransferTaskScope tracks history replication calls made by transfer task HistoryRereplicationByTransferTaskScope = "HistoryRereplicationByTransferTask" // HistoryRereplicationByTimerTaskScope tracks history replication calls made by timer task HistoryRereplicationByTimerTaskScope = "HistoryRereplicationByTimerTask" // HistoryRereplicationByHistoryReplicationScope tracks history replication calls made by history replication HistoryRereplicationByHistoryReplicationScope = "HistoryRereplicationByHistoryReplication" // HistoryRereplicationByActivityReplicationScope tracks history replication calls made by activity replication HistoryRereplicationByActivityReplicationScope = "HistoryRereplicationByActivityReplication" // ShardInfoScope is the scope used when updating shard info ShardInfoScope = "ShardInfo" // WorkflowContextScope is the scope used by WorkflowContext component WorkflowContextScope = "WorkflowContext" // ExecutionStatsScope is the scope used for emiting workflow execution related stats ExecutionStatsScope = "ExecutionStats" // SessionStatsScope is the scope used for emiting session update related stats SessionStatsScope = "SessionStats" // WorkflowCompletionStatsScope tracks workflow completion updates WorkflowCompletionStatsScope = "CompletionStats" // ReplicationTaskFetcherScope is scope used by all metrics emitted by ReplicationTaskFetcher ReplicationTaskFetcherScope = "ReplicationTaskFetcher" // ReplicationTaskTrackerScope is scope used by all metrics emitted by ExecutableTaskTracker ReplicationTaskTrackerScope = "ReplicationTaskTracker" // ReplicationTaskCleanupScope is scope used by all metrics emitted by ReplicationTaskProcessor cleanup ReplicationTaskCleanupScope = "ReplicationTaskCleanup" // ReplicationDLQStatsScope is scope used by all metrics emitted related to replication DLQ ReplicationDLQStatsScope = "ReplicationDLQStats" // EventsCacheGetEventScope is the scope used by events cache EventsCacheGetEventScope = "EventsCacheGetEvent" // EventsCachePutEventScope is the scope used by events cache EventsCachePutEventScope = "EventsCachePutEvent" // EventsCacheDeleteEventScope is the scope used by events cache EventsCacheDeleteEventScope = "EventsCacheDeleteEvent" // EventsCacheGetFromStoreScope is the scope used by events cache EventsCacheGetFromStoreScope = "EventsCacheGetFromStore" // HistoryEventNotificationScope is the scope used by shard history event notification HistoryEventNotificationScope = "HistoryEventNotification" // ArchiverClientScope is scope used by all metrics emitted by archiver.Client ArchiverClientScope = "ArchiverClient" // DeadlockDetectorScope is a scope for deadlock detector DeadlockDetectorScope = "DeadlockDetector" // OperationTimerQueueProcessorScope is a scope for timer queue base processor OperationTimerQueueProcessorScope = "TimerQueueProcessor" // OperationTransferQueueProcessorScope is a scope for transfer queue base processor OperationTransferQueueProcessorScope = "TransferQueueProcessor" // OperationVisibilityQueueProcessorScope is a scope for visibility queue processor OperationVisibilityQueueProcessorScope = "VisibilityQueueProcessor" // OperationArchivalQueueProcessorScope is a scope for archival queue processor OperationArchivalQueueProcessorScope = "ArchivalQueueProcessor" // OperationMemoryScheduledQueueProcessorScope is a scope for memory scheduled queue processor. OperationMemoryScheduledQueueProcessorScope = "MemoryScheduledQueueProcessor" // OperationOutboundQueueProcessorScope is a scope for the outbound queue processor. OperationOutboundQueueProcessorScope = "OutboundQueueProcessor" )
History Scope
const ( // MatchingPollWorkflowTaskQueueScope tracks PollWorkflowTaskQueue API calls received by service MatchingPollWorkflowTaskQueueScope = "PollWorkflowTaskQueue" // MatchingPollActivityTaskQueueScope tracks PollActivityTaskQueue API calls received by service MatchingPollActivityTaskQueueScope = "PollActivityTaskQueue" // MatchingPollNexusTaskQueueScope tracks PollNexusTaskQueue API calls received by service MatchingPollNexusTaskQueueScope = "PollNexusTaskQueue" // MatchingAddActivityTaskScope tracks AddActivityTask API calls received by service MatchingAddActivityTaskScope = "AddActivityTask" // MatchingAddWorkflowTaskScope tracks AddWorkflowTask API calls received by service MatchingAddWorkflowTaskScope = "AddWorkflowTask" // MatchingTaskQueueMgrScope is the metrics scope for matching.TaskQueueManager component MatchingTaskQueueMgrScope = "TaskQueueMgr" // MatchingTaskQueuePartitionManagerScope is the metrics scope for matching.TaskQueuePartitionManager component MatchingTaskQueuePartitionManagerScope = "TaskQueuePartitionManager" // MatchingEngineScope is the metrics scope for matchingEngine component MatchingEngineScope = "MatchingEngine" // MatchingQueryWorkflowScope tracks AddWorkflowTask API calls received by service MatchingQueryWorkflowScope = "QueryWorkflow" // MatchingRespondQueryTaskCompletedScope tracks RespondQueryTaskCompleted API calls received by service MatchingRespondQueryTaskCompletedScope = "RespondQueryTaskCompleted" // MatchingRespondNexusTaskCompletedScope tracks RespondNexusTaskCompleted API calls received by service MatchingRespondNexusTaskCompletedScope = "RespondNexusTaskCompleted" // MatchingRespondNexusTaskFailedScope tracks RespondNexusTaskFailed API calls received by service MatchingRespondNexusTaskFailedScope = "RespondNexusTaskFailed" )
Matching Scope
const ( // HistoryArchiverScope is used by history archivers HistoryArchiverScope = "HistoryArchiver" // VisibilityArchiverScope is used by visibility archivers VisibilityArchiverScope = "VisibilityArchiver" // HistoryScavengerScope is scope used by all metrics emitted by worker.history.Scavenger module HistoryScavengerScope = "HistoryScavenger" // ArchiverDeleteHistoryActivityScope is scope used by all metrics emitted by archiver.DeleteHistoryActivity ArchiverDeleteHistoryActivityScope = "ArchiverDeleteHistoryActivity" // ArchiverUploadHistoryActivityScope is scope used by all metrics emitted by archiver.UploadHistoryActivity ArchiverUploadHistoryActivityScope = "ArchiverUploadHistoryActivity" // ArchiverArchiveVisibilityActivityScope is scope used by all metrics emitted by archiver.ArchiveVisibilityActivity ArchiverArchiveVisibilityActivityScope = "ArchiverArchiveVisibilityActivity" // ArchiverScope is scope used by all metrics emitted by archiver.Archiver ArchiverScope = "Archiver" // ArchiverPumpScope is scope used by all metrics emitted by archiver.Pump ArchiverPumpScope = "ArchiverPump" // ArchiverArchivalWorkflowScope is scope used by all metrics emitted by archiver.ArchivalWorkflow ArchiverArchivalWorkflowScope = "ArchiverArchivalWorkflow" // AddSearchAttributesWorkflowScope is scope used by all metrics emitted by worker.AddSearchAttributesWorkflowScope module AddSearchAttributesWorkflowScope = "AddSearchAttributesWorkflow" // BatcherScope is scope used by all metrics emitted by worker.Batcher module BatcherScope = "Batcher" // ElasticsearchBulkProcessor is scope used by all metric emitted by Elasticsearch bulk processor ElasticsearchBulkProcessor = "ElasticsearchBulkProcessor" // ElasticsearchVisibility is scope used by all Elasticsearch visibility metrics ElasticsearchVisibility = "ElasticsearchVisibility" // MigrationWorkflowScope is scope used by metrics emitted by migration related workflows MigrationWorkflowScope = "MigrationWorkflow" // ReplicatorScope is the scope used by all metric emitted by replicator ReplicatorScope = "Replicator" // NamespaceReplicationTaskScope is the scope used by namespace task replication processing NamespaceReplicationTaskScope = "NamespaceReplicationTask" // HistoryReplicationTaskScope is the scope used by history task replication processing HistoryReplicationTaskScope = "HistoryReplicationTask" // HistoryMetadataReplicationTaskScope is the scope used by history metadata task replication processing HistoryMetadataReplicationTaskScope = "HistoryMetadataReplicationTask" // SyncShardTaskScope is the scope used by sync shrad information processing SyncShardTaskScope = "SyncShardTask" // SyncActivityTaskScope is the scope used by sync activity SyncActivityTaskScope = "SyncActivityTask" // SyncWorkflowStateTaskScope is the scope used by closed workflow task replication processing SyncWorkflowStateTaskScope = "SyncWorkflowStateTask" // SyncHSMTaskScope is the scope used by sync HSM replication task SyncHSMTaskScope = "SyncHSMTask" // BackfillHistoryEventsTaskScope is the scope used by backfill history events replication processing BackfillHistoryEventsTaskScope = "BackfillHistoryEventsTask" // VerifyVersionedTransitionTaskScope is the scope used by verify versioned transition task processing VerifyVersionedTransitionTaskScope = "VerifyVersionedTransitionTask" // SyncWatermarkScope is the scope used by closed workflow task replication processing SyncWatermarkScope = "SyncWatermark" // NoopTaskScope is the scope used by noop task NoopTaskScope = "NoopTask" // UnknownTaskScope is the scope used by unknown task UnknownTaskScope = "UnknownTask" // ParentClosePolicyProcessorScope is scope used by all metrics emitted by worker.ParentClosePolicyProcessor ParentClosePolicyProcessorScope = "ParentClosePolicyProcessor" DeleteNamespaceWorkflowScope = "DeleteNamespaceWorkflow" ReclaimResourcesWorkflowScope = "ReclaimResourcesWorkflow" DeleteExecutionsWorkflowScope = "DeleteExecutionsWorkflow" )
Worker Scope
const ( TaskTypeTransferActiveTaskActivity = "TransferActiveTaskActivity" TaskTypeTransferActiveTaskWorkflowTask = "TransferActiveTaskWorkflowTask" TaskTypeTransferActiveTaskCloseExecution = "TransferActiveTaskCloseExecution" TaskTypeTransferActiveTaskCancelExecution = "TransferActiveTaskCancelExecution" TaskTypeTransferActiveTaskSignalExecution = "TransferActiveTaskSignalExecution" TaskTypeTransferActiveTaskStartChildExecution = "TransferActiveTaskStartChildExecution" TaskTypeTransferActiveTaskResetWorkflow = "TransferActiveTaskResetWorkflow" TaskTypeTransferActiveTaskDeleteExecution = "TransferActiveTaskDeleteExecution" TaskTypeTransferStandbyTaskActivity = "TransferStandbyTaskActivity" TaskTypeTransferStandbyTaskWorkflowTask = "TransferStandbyTaskWorkflowTask" TaskTypeTransferStandbyTaskCloseExecution = "TransferStandbyTaskCloseExecution" TaskTypeTransferStandbyTaskCancelExecution = "TransferStandbyTaskCancelExecution" TaskTypeTransferStandbyTaskSignalExecution = "TransferStandbyTaskSignalExecution" TaskTypeTransferStandbyTaskStartChildExecution = "TransferStandbyTaskStartChildExecution" TaskTypeTransferStandbyTaskResetWorkflow = "TransferStandbyTaskResetWorkflow" TaskTypeTransferStandbyTaskDeleteExecution = "TransferStandbyTaskDeleteExecution" TaskTypeVisibilityTaskStartExecution = "VisibilityTaskStartExecution" TaskTypeVisibilityTaskUpsertExecution = "VisibilityTaskUpsertExecution" TaskTypeVisibilityTaskCloseExecution = "VisibilityTaskCloseExecution" TaskTypeVisibilityTaskDeleteExecution = "VisibilityTaskDeleteExecution" TaskTypeArchivalTaskArchiveExecution = "ArchivalTaskArchiveExecution" TaskTypeTimerActiveTaskActivityTimeout = "TimerActiveTaskActivityTimeout" TaskTypeTimerActiveTaskWorkflowTaskTimeout = "TimerActiveTaskWorkflowTaskTimeout" TaskTypeTimerActiveTaskUserTimer = "TimerActiveTaskUserTimer" TaskTypeTimerActiveTaskWorkflowRunTimeout = "TimerActiveTaskWorkflowRunTimeout" TaskTypeTimerActiveTaskWorkflowExecutionTimeout = "TimerActiveTaskWorkflowExecutionTimeout" TaskTypeTimerActiveTaskActivityRetryTimer = "TimerActiveTaskActivityRetryTimer" TaskTypeTimerActiveTaskWorkflowBackoffTimer = "TimerActiveTaskWorkflowBackoffTimer" TaskTypeTimerActiveTaskDeleteHistoryEvent = "TimerActiveTaskDeleteHistoryEvent" TaskTypeTimerActiveTaskSpeculativeWorkflowTaskTimeout = "TimerActiveTaskSpeculativeWorkflowTaskTimeout" TaskTypeTimerStandbyTaskActivityTimeout = "TimerStandbyTaskActivityTimeout" TaskTypeTimerStandbyTaskWorkflowTaskTimeout = "TimerStandbyTaskWorkflowTaskTimeout" TaskTypeTimerStandbyTaskUserTimer = "TimerStandbyTaskUserTimer" TaskTypeTimerStandbyTaskWorkflowRunTimeout = "TimerStandbyTaskWorkflowRunTimeout" TaskTypeTimerStandbyTaskWorkflowExecutionTimeout = "TimerStandbyTaskWorkflowExecutionTimeout" TaskTypeTimerStandbyTaskActivityRetryTimer = "TimerStandbyTaskActivityRetryTimer" TaskTypeTimerStandbyTaskWorkflowBackoffTimer = "TimerStandbyTaskWorkflowBackoffTimer" TaskTypeTimerStandbyTaskDeleteHistoryEvent = "TimerStandbyTaskDeleteHistoryEvent" )
History task type
const ( ScheduleActionTypeTag = "schedule_action" ScheduleActionStartWorkflow = "start_workflow" )
Schedule action types
const (
// AdminClientStreamWorkflowReplicationMessagesScope tracks RPC calls to admin service
AdminClientStreamWorkflowReplicationMessagesScope = "AdminClientStreamWorkflowReplicationMessages"
)
Admin Client Operations
const (
// HistoryClientStreamWorkflowReplicationMessagesScope tracks RPC calls to history service
HistoryClientStreamWorkflowReplicationMessagesScope = "HistoryClientStreamWorkflowReplicationMessages"
)
History Client Operations
Variables ¶
var ( ServiceRequests = NewCounterDef( "service_requests", WithDescription("The number of RPC requests received by the service."), ) ServicePendingRequests = NewGaugeDef("service_pending_requests") ServiceFailures = NewCounterDef("service_errors") ServicePanic = NewCounterDef("service_panics") ServiceErrorWithType = NewCounterDef("service_error_with_type") ServiceLatency = NewTimerDef("service_latency") ServiceLatencyNoUserLatency = NewTimerDef("service_latency_nouserlatency") ServiceLatencyUserLatency = NewTimerDef("service_latency_userlatency") ServiceErrInvalidArgumentCounter = NewCounterDef("service_errors_invalid_argument") ServiceErrNamespaceNotActiveCounter = NewCounterDef("service_errors_namespace_not_active") ServiceErrResourceExhaustedCounter = NewCounterDef("service_errors_resource_exhausted") ServiceErrNotFoundCounter = NewCounterDef("service_errors_entity_not_found") ServiceErrExecutionAlreadyStartedCounter = NewCounterDef("service_errors_execution_already_started") ServiceErrContextTimeoutCounter = NewCounterDef("service_errors_context_timeout") ServiceErrRetryTaskCounter = NewCounterDef("service_errors_retry_task") ServiceErrIncompleteHistoryCounter = NewCounterDef("service_errors_incomplete_history") ServiceErrNonDeterministicCounter = NewCounterDef("service_errors_nondeterministic") ServiceErrAuthorizeFailedCounter = NewCounterDef("service_errors_authorize_failed") ActionCounter = NewCounterDef("action") TlsCertsExpired = NewGaugeDef("certificates_expired") TlsCertsExpiring = NewGaugeDef("certificates_expiring") ServiceAuthorizationLatency = NewTimerDef("service_authorization_latency") EventBlobSize = NewBytesHistogramDef("event_blob_size") LockRequests = NewCounterDef("lock_requests") LockLatency = NewTimerDef("lock_latency") SemaphoreRequests = NewCounterDef("semaphore_requests") SemaphoreFailures = NewCounterDef("semaphore_failures") SemaphoreLatency = NewTimerDef("semaphore_latency") ClientRequests = NewCounterDef( "client_requests", WithDescription("The number of requests sent by the client to an individual service, keyed by `service_role` and `operation`."), ) ClientFailures = NewCounterDef("client_errors") ClientLatency = NewTimerDef("client_latency") ClientRedirectionRequests = NewCounterDef("client_redirection_requests") ClientRedirectionFailures = NewCounterDef("client_redirection_errors") ClientRedirectionLatency = NewTimerDef("client_redirection_latency") StateTransitionCount = NewDimensionlessHistogramDef("state_transition_count") HistorySize = NewBytesHistogramDef("history_size") HistoryCount = NewDimensionlessHistogramDef("history_count") TasksCompletedPerShardInfoUpdate = NewDimensionlessHistogramDef("tasks_per_shardinfo_update") TimeBetweenShardInfoUpdates = NewTimerDef("time_between_shardinfo_update") SearchAttributesSize = NewBytesHistogramDef("search_attributes_size") MemoSize = NewBytesHistogramDef("memo_size") TooManyPendingChildWorkflows = NewCounterDef( "wf_too_many_pending_child_workflows", WithDescription("The number of Workflow Tasks failed because they would cause the limit on the number of pending child workflows to be exceeded. See https://t.mp/limits for more information."), ) TooManyPendingActivities = NewCounterDef( "wf_too_many_pending_activities", WithDescription("The number of Workflow Tasks failed because they would cause the limit on the number of pending activities to be exceeded. See https://t.mp/limits for more information."), ) TooManyPendingCancelRequests = NewCounterDef( "wf_too_many_pending_cancel_requests", WithDescription("The number of Workflow Tasks failed because they would cause the limit on the number of pending cancel requests to be exceeded. See https://t.mp/limits for more information."), ) TooManyPendingSignalsToExternalWorkflows = NewCounterDef( "wf_too_many_pending_external_workflow_signals", WithDescription("The number of Workflow Tasks failed because they would cause the limit on the number of pending signals to external workflows to be exceeded. See https://t.mp/limits for more information."), ) UTF8ValidationErrors = NewCounterDef( "utf8_validation_errors", WithDescription("Number of times the service encountered a proto message with invalid UTF-8 in a string field"), ) // Frontend AddSearchAttributesWorkflowSuccessCount = NewCounterDef("add_search_attributes_workflow_success") AddSearchAttributesWorkflowFailuresCount = NewCounterDef("add_search_attributes_workflow_failure") DeleteNamespaceWorkflowSuccessCount = NewCounterDef("delete_namespace_workflow_success") DeleteNamespaceWorkflowFailuresCount = NewCounterDef("delete_namespace_workflow_failure") VersionCheckSuccessCount = NewCounterDef("version_check_success") VersionCheckFailedCount = NewCounterDef("version_check_failed") VersionCheckRequestFailedCount = NewCounterDef("version_check_request_failed") VersionCheckLatency = NewTimerDef("version_check_latency") HTTPServiceRequests = NewCounterDef( "http_service_requests", WithDescription("The number of HTTP requests received by the service."), ) NexusRequests = NewCounterDef( "nexus_requests", WithDescription("The number of Nexus requests received by the service."), ) NexusRequestPreProcessErrors = NewCounterDef( "nexus_request_preprocess_errors", WithDescription("The number of Nexus requests for which pre-processing failed."), ) NexusLatency = NewTimerDef( "nexus_latency", WithDescription("Latency of Nexus requests."), ) NexusCompletionRequests = NewCounterDef( "nexus_completion_requests", WithDescription("The number of Nexus completion (callback) requests received by the service."), ) NexusCompletionLatencyHistogram = NewTimerDef( "nexus_completion_latency", WithDescription("Latency histogram of Nexus completion (callback) requests."), ) NexusCompletionRequestPreProcessErrors = NewCounterDef( "nexus_completion_request_preprocess_errors", WithDescription("The number of Nexus completion requests for which pre-processing failed."), ) HostRPSLimit = NewGaugeDef("host_rps_limit") NamespaceHostRPSLimit = NewGaugeDef("namespace_host_rps_limit") // History CacheRequests = NewCounterDef("cache_requests") CacheFailures = NewCounterDef("cache_errors") CacheLatency = NewTimerDef("cache_latency") CacheMissCounter = NewCounterDef("cache_miss") CacheSize = NewGaugeDef("cache_size") CacheUsage = NewGaugeDef("cache_usage") CachePinnedUsage = NewGaugeDef("cache_pinned_usage") CacheTtl = NewTimerDef("cache_ttl") CacheEntryAgeOnGet = NewTimerDef("cache_entry_age_on_get") CacheEntryAgeOnEviction = NewTimerDef("cache_entry_age_on_eviction") HistoryEventNotificationQueueingLatency = NewTimerDef("history_event_notification_queueing_latency") HistoryEventNotificationFanoutLatency = NewTimerDef("history_event_notification_fanout_latency") HistoryEventNotificationInFlightMessageGauge = NewGaugeDef("history_event_notification_inflight_message_gauge") HistoryEventNotificationFailDeliveryCount = NewCounterDef("history_event_notification_fail_delivery_count") // ArchivalTaskInvalidURI is emitted by the archival queue task executor when the history or visibility URI for an // archival task is not a valid URI. // We may emit this metric several times for a single task if the task is retried. ArchivalTaskInvalidURI = NewCounterDef("archival_task_invalid_uri") ArchiverArchiveLatency = NewTimerDef("archiver_archive_latency") ArchiverArchiveTargetLatency = NewTimerDef("archiver_archive_target_latency") ShardContextClosedCounter = NewCounterDef("shard_closed_count") ShardContextCreatedCounter = NewCounterDef("sharditem_created_count") ShardContextRemovedCounter = NewCounterDef("sharditem_removed_count") ShardContextAcquisitionLatency = NewTimerDef("sharditem_acquisition_latency") ShardInfoImmediateQueueLagHistogram = NewDimensionlessHistogramDef( "shardinfo_immediate_queue_lag", WithDescription("A histogram across history shards for the difference between the smallest taskID of pending history tasks and the last generated history task ID."), ) ShardInfoScheduledQueueLagTimer = NewTimerDef( "shardinfo_scheduled_queue_lag", WithDescription("A histogram across history shards for the difference between the earliest scheduled time of pending history tasks and current time."), ) SyncShardFromRemoteCounter = NewCounterDef("syncshard_remote_count") SyncShardFromRemoteFailure = NewCounterDef("syncshard_remote_failed") FinalizerItemsCompleted = NewCounterDef("finalizer_items_completed") FinalizerItemsUnfinished = NewCounterDef("finalizer_items_unfinished") FinalizerLatency = NewTimerDef("finalizer_latency") TaskRequests = NewCounterDef( "task_requests", WithDescription("The number of history tasks processed."), ) TaskLoadLatency = NewTimerDef( "task_latency_load", WithDescription("Latency from history task generation to loading into memory (persistence schedule to start latency)."), ) TaskScheduleLatency = NewTimerDef( "task_latency_schedule", WithDescription("Latency from history task loading to start processing (in-memory schedule to start latency)."), ) TaskProcessingLatency = NewTimerDef( "task_latency_processing", WithDescription("Latency for processing a history task one time."), ) TaskLatency = NewTimerDef( "task_latency", WithDescription("Latency for procsssing and completing a history task. This latency is across all attempts but excludes any latencies related to workflow lock or user qutoa limit."), ) TaskQueueLatency = NewTimerDef( "task_latency_queue", WithDescription("End-to-end latency for processing and completing a history task, from task generation to completion."), ) TaskAttempt = NewDimensionlessHistogramDef( "task_attempt", WithDescription("The number of attempts took to complete a history task."), ) TaskFailures = NewCounterDef( "task_errors", WithDescription("The number of unexpected history task processing errors."), ) TaskTerminalFailures = NewCounterDef( "task_terminal_failures", WithDescription("The number of times a history task failed with a terminal failure, causing it to be sent to the DLQ."), ) TaskDLQFailures = NewCounterDef( "task_dlq_failures", WithDescription("The number of times we failed to send a history task to the DLQ."), ) TaskDLQSendLatency = NewTimerDef( "task_dlq_latency", WithDescription("The amount of time it took to successfully send a task to the DLQ. This only records the"+ " latency of the final attempt to send the task to the DLQ, not the cumulative latency of all attempts."), ) TaskDiscarded = NewCounterDef("task_errors_discarded") TaskSkipped = NewCounterDef("task_skipped") TaskVersionMisMatch = NewCounterDef("task_errors_version_mismatch") TasksDependencyTaskNotCompleted = NewCounterDef("task_dependency_task_not_completed") TaskStandbyRetryCounter = NewCounterDef("task_errors_standby_retry_counter") TaskWorkflowBusyCounter = NewCounterDef( "task_errors_workflow_busy", WithDescription("The number of history task processing errors caused by failing to acquire workflow lock within the configured timeout (history.cacheNonUserContextLockTimeout)."), ) TaskNotActiveCounter = NewCounterDef("task_errors_not_active_counter") TaskNamespaceHandoverCounter = NewCounterDef("task_errors_namespace_handover") TaskInternalErrorCounter = NewCounterDef("task_errors_internal") TaskThrottledCounter = NewCounterDef( "task_errors_throttled", WithDescription("The number of history task processing errors caused by resource exhausted errors, excluding workflow busy case."), ) TaskCorruptionCounter = NewCounterDef("task_errors_corruption") TaskScheduleToStartLatency = NewTimerDef("task_schedule_to_start_latency") TaskBatchCompleteCounter = NewCounterDef("task_batch_complete_counter") TaskReschedulerPendingTasks = NewDimensionlessHistogramDef("task_rescheduler_pending_tasks") PendingTasksCounter = NewDimensionlessHistogramDef( "pending_tasks", WithDescription("A histogram across history shards for the number of in-memory pending history tasks."), ) TaskSchedulerThrottled = NewCounterDef("task_scheduler_throttled") QueueScheduleLatency = NewTimerDef("queue_latency_schedule") // latency for scheduling 100 tasks in one task channel QueueReaderCountHistogram = NewDimensionlessHistogramDef("queue_reader_count") QueueSliceCountHistogram = NewDimensionlessHistogramDef("queue_slice_count") QueueActionCounter = NewCounterDef("queue_actions") ActivityE2ELatency = NewTimerDef("activity_end_to_end_latency") AckLevelUpdateCounter = NewCounterDef("ack_level_update") AckLevelUpdateFailedCounter = NewCounterDef("ack_level_update_failed") CommandCounter = NewCounterDef("command") MessageTypeRequestWorkflowExecutionUpdateCounter = NewCounterDef("request_workflow_update_message") MessageTypeAcceptWorkflowExecutionUpdateCounter = NewCounterDef("accept_workflow_update_message") MessageTypeRespondWorkflowExecutionUpdateCounter = NewCounterDef("respond_workflow_update_message") MessageTypeRejectWorkflowExecutionUpdateCounter = NewCounterDef("reject_workflow_update_message") InvalidStateTransitionWorkflowExecutionUpdateCounter = NewCounterDef("invalid_state_transition_workflow_update_message") WorkflowExecutionUpdateRegistrySize = NewBytesHistogramDef("workflow_update_registry_size") WorkflowExecutionUpdateRequestRateLimited = NewCounterDef("workflow_update_request_rate_limited") WorkflowExecutionUpdateTooMany = NewCounterDef("workflow_update_request_too_many") WorkflowExecutionUpdateAborted = NewCounterDef("workflow_update_aborted") WorkflowExecutionUpdateSentToWorker = NewCounterDef("workflow_update_sent_to_worker") WorkflowExecutionUpdateSentToWorkerAgain = NewCounterDef("workflow_update_sent_to_worker_again") WorkflowExecutionUpdateWaitStageAccepted = NewCounterDef("workflow_update_wait_stage_accepted") WorkflowExecutionUpdateWaitStageCompleted = NewCounterDef("workflow_update_wait_stage_completed") WorkflowExecutionUpdateClientTimeout = NewCounterDef("workflow_update_client_timeout") WorkflowExecutionUpdateServerTimeout = NewCounterDef("workflow_update_server_timeout") SpeculativeWorkflowTaskCommits = NewCounterDef("speculative_workflow_task_commits") SpeculativeWorkflowTaskRollbacks = NewCounterDef("speculative_workflow_task_rollbacks") ActivityEagerExecutionCounter = NewCounterDef("activity_eager_execution") // WorkflowEagerExecutionCounter is emitted any time eager workflow start is requested. WorkflowEagerExecutionCounter = NewCounterDef("workflow_eager_execution") // WorkflowEagerExecutionDeniedCounter is emitted any time eager workflow start is requested and the serer fell back // to standard dispatch. // Timeouts and failures are not counted in this metric. // This metric has a "reason" tag attached to it to understand why eager start was denied. WorkflowEagerExecutionDeniedCounter = NewCounterDef("workflow_eager_execution_denied") EmptyCompletionCommandsCounter = NewCounterDef("empty_completion_commands") MultipleCompletionCommandsCounter = NewCounterDef("multiple_completion_commands") FailedWorkflowTasksCounter = NewCounterDef("failed_workflow_tasks") WorkflowTaskAttempt = NewDimensionlessHistogramDef("workflow_task_attempt") StaleMutableStateCounter = NewCounterDef("stale_mutable_state") AutoResetPointsLimitExceededCounter = NewCounterDef("auto_reset_points_exceed_limit") AutoResetPointCorruptionCounter = NewCounterDef("auto_reset_point_corruption") BatchableTaskBatchCount = NewGaugeDef("batchable_task_batch_count") ConcurrencyUpdateFailureCounter = NewCounterDef("concurrency_update_failure") ServiceErrShardOwnershipLostCounter = NewCounterDef("service_errors_shard_ownership_lost") HeartbeatTimeoutCounter = NewCounterDef("heartbeat_timeout") ScheduleToStartTimeoutCounter = NewCounterDef("schedule_to_start_timeout") StartToCloseTimeoutCounter = NewCounterDef("start_to_close_timeout") ScheduleToCloseTimeoutCounter = NewCounterDef("schedule_to_close_timeout") NewTimerNotifyCounter = NewCounterDef("new_timer_notifications") StateMachineTimerProcessingFailuresCounter = NewCounterDef("state_machine_timer_processing_failures") StateMachineTimerSkipsCounter = NewCounterDef("state_machine_timer_skips") AcquireShardsCounter = NewCounterDef("acquire_shards_count") AcquireShardsLatency = NewTimerDef("acquire_shards_latency") MembershipChangedCounter = NewCounterDef("membership_changed_count") NumShardsGauge = NewGaugeDef("numshards_gauge") GetEngineForShardErrorCounter = NewCounterDef("get_engine_for_shard_errors") GetEngineForShardLatency = NewTimerDef("get_engine_for_shard_latency") RemoveEngineForShardLatency = NewTimerDef("remove_engine_for_shard_latency") CompleteWorkflowTaskWithStickyEnabledCounter = NewCounterDef("complete_workflow_task_sticky_enabled_count") CompleteWorkflowTaskWithStickyDisabledCounter = NewCounterDef("complete_workflow_task_sticky_disabled_count") WorkflowTaskHeartbeatTimeoutCounter = NewCounterDef("workflow_task_heartbeat_timeout_count") SignalWithStartSkipDelayCounter = NewCounterDef("signal_with_start_skip_delay_count") DuplicateReplicationEventsCounter = NewCounterDef("duplicate_replication_events") AcquireLockFailedCounter = NewCounterDef("acquire_lock_failed") WorkflowContextCleared = NewCounterDef("workflow_context_cleared") MutableStateSize = NewBytesHistogramDef( "mutable_state_size", WithDescription("The size of an individual Workflow Execution's state, emitted each time a workflow execution is retrieved or updated."), ) PersistedMutableStateSize = NewBytesHistogramDef( "persisted_mutable_state_size", WithDescription("Size of the persisted Workflow Execution's state in DB, emitted each time a workflow execution is updated."), ) ExecutionInfoSize = NewBytesHistogramDef("execution_info_size") ExecutionStateSize = NewBytesHistogramDef("execution_state_size") ActivityInfoSize = NewBytesHistogramDef("activity_info_size") TimerInfoSize = NewBytesHistogramDef("timer_info_size") ChildInfoSize = NewBytesHistogramDef("child_info_size") RequestCancelInfoSize = NewBytesHistogramDef("request_cancel_info_size") SignalInfoSize = NewBytesHistogramDef("signal_info_size") SignalRequestIDSize = NewBytesHistogramDef("signal_request_id_size") BufferedEventsSize = NewBytesHistogramDef("buffered_events_size") ActivityInfoCount = NewDimensionlessHistogramDef("activity_info_count") TimerInfoCount = NewDimensionlessHistogramDef("timer_info_count") ChildInfoCount = NewDimensionlessHistogramDef("child_info_count") SignalInfoCount = NewDimensionlessHistogramDef("signal_info_count") RequestCancelInfoCount = NewDimensionlessHistogramDef("request_cancel_info_count") SignalRequestIDCount = NewDimensionlessHistogramDef("signal_request_id_count") BufferedEventsCount = NewDimensionlessHistogramDef("buffered_events_count") TaskCount = NewDimensionlessHistogramDef("task_count") TotalActivityCount = NewDimensionlessHistogramDef("total_activity_count") TotalUserTimerCount = NewDimensionlessHistogramDef("total_user_timer_count") TotalChildExecutionCount = NewDimensionlessHistogramDef("total_child_execution_count") TotalRequestCancelExternalCount = NewDimensionlessHistogramDef("total_request_cancel_external_count") TotalSignalExternalCount = NewDimensionlessHistogramDef("total_signal_external_count") TotalSignalCount = NewDimensionlessHistogramDef("total_signal_count") WorkflowBackoffCount = NewCounterDef("workflow_backoff_timer") WorkflowRetryBackoffTimerCount = NewCounterDef("workflow_retry_backoff_timer") WorkflowCronBackoffTimerCount = NewCounterDef("workflow_cron_backoff_timer") WorkflowDelayedStartBackoffTimerCount = NewCounterDef("workflow_delayed_start_backoff_timer") WorkflowCleanupDeleteCount = NewCounterDef("workflow_cleanup_delete") WorkflowSuccessCount = NewCounterDef("workflow_success") WorkflowCancelCount = NewCounterDef("workflow_cancel") WorkflowFailedCount = NewCounterDef("workflow_failed") WorkflowTimeoutCount = NewCounterDef("workflow_timeout") WorkflowTerminateCount = NewCounterDef("workflow_terminate") WorkflowContinuedAsNewCount = NewCounterDef("workflow_continued_as_new") ReplicationStreamPanic = NewCounterDef("replication_stream_panic") ReplicationStreamError = NewCounterDef("replication_stream_error") ReplicationServiceError = NewCounterDef("replication_service_error") ReplicationStreamStuck = NewCounterDef("replication_stream_stuck") ReplicationTasksSend = NewCounterDef("replication_tasks_send") ReplicationTasksRecv = NewCounterDef("replication_tasks_recv") ReplicationTasksRecvBacklog = NewDimensionlessHistogramDef("replication_tasks_recv_backlog") ReplicationTasksSkipped = NewCounterDef("replication_tasks_skipped") ReplicationTasksApplied = NewCounterDef("replication_tasks_applied") ReplicationTasksFailed = NewCounterDef("replication_tasks_failed") // ReplicationTasksLag is a heuristic for how far behind the remote DC is for a given cluster. It measures the // difference between task IDs so its unit should be "tasks". ReplicationTasksLag = NewDimensionlessHistogramDef("replication_tasks_lag") // ReplicationTasksFetched records the number of tasks fetched by the poller. ReplicationTasksFetched = NewDimensionlessHistogramDef("replication_tasks_fetched") ReplicationLatency = NewTimerDef("replication_latency") ReplicationTaskTransmissionLatency = NewTimerDef("replication_task_transmission_latency") ReplicationDLQFailed = NewCounterDef("replication_dlq_enqueue_failed") ReplicationDLQMaxLevelGauge = NewGaugeDef("replication_dlq_max_level") ReplicationDLQAckLevelGauge = NewGaugeDef("replication_dlq_ack_level") ReplicationNonEmptyDLQCount = NewCounterDef("replication_dlq_non_empty") ReplicationOutlierNamespace = NewCounterDef("replication_outlier_namespace") EventReapplySkippedCount = NewCounterDef("event_reapply_skipped_count") DirectQueryDispatchLatency = NewTimerDef("direct_query_dispatch_latency") DirectQueryDispatchStickyLatency = NewTimerDef("direct_query_dispatch_sticky_latency") DirectQueryDispatchNonStickyLatency = NewTimerDef("direct_query_dispatch_non_sticky_latency") DirectQueryDispatchStickySuccessCount = NewCounterDef("direct_query_dispatch_sticky_success") DirectQueryDispatchNonStickySuccessCount = NewCounterDef("direct_query_dispatch_non_sticky_success") DirectQueryDispatchClearStickinessLatency = NewTimerDef("direct_query_dispatch_clear_stickiness_latency") DirectQueryDispatchClearStickinessSuccessCount = NewCounterDef("direct_query_dispatch_clear_stickiness_success") DirectQueryDispatchTimeoutBeforeNonStickyCount = NewCounterDef("direct_query_dispatch_timeout_before_non_sticky") WorkflowTaskQueryLatency = NewTimerDef("workflow_task_query_latency") ConsistentQueryTimeoutCount = NewCounterDef("consistent_query_timeout") QueryBufferExceededCount = NewCounterDef("query_buffer_exceeded") QueryRegistryInvalidStateCount = NewCounterDef("query_registry_invalid_state") WorkflowTaskTimeoutOverrideCount = NewCounterDef("workflow_task_timeout_overrides") WorkflowRunTimeoutOverrideCount = NewCounterDef("workflow_run_timeout_overrides") ReplicationTaskCleanupCount = NewCounterDef("replication_task_cleanup_count") ReplicationTaskCleanupFailure = NewCounterDef("replication_task_cleanup_failed") MutableStateDirty = NewCounterDef("mutable_state_dirty") MutableStateChecksumMismatch = NewCounterDef("mutable_state_checksum_mismatch") MutableStateChecksumInvalidated = NewCounterDef("mutable_state_checksum_invalidated") ClosedWorkflowBufferEventCount = NewCounterDef("closed_workflow_buffer_event_counter") OutOfOrderBufferedEventsCounter = NewCounterDef("out_of_order_buffered_events") ShardLingerSuccess = NewTimerDef("shard_linger_success") ShardLingerTimeouts = NewCounterDef("shard_linger_timeouts") DynamicRateLimiterMultiplier = NewGaugeDef("dynamic_rate_limit_multiplier") DLQWrites = NewCounterDef( "dlq_writes", WithDescription("The number of times a message is enqueued to DLQ. DLQ can be inspected using tdbg dlq command."), ) DLQMessageCount = NewGaugeDef( "dlq_message_count", WithDescription("The number of messages currently in DLQ."), ) ReadNamespaceErrors = NewCounterDef("read_namespace_errors") RateLimitedTaskRunnableWaitTime = NewTimerDef("rate_limited_task_runnable_wait_time") CircuitBreakerExecutableBlocked = NewCounterDef("circuit_breaker_executable_blocked") DynamicWorkerPoolSchedulerBufferSize = NewGaugeDef("dynamic_worker_pool_scheduler_buffer_size") DynamicWorkerPoolSchedulerActiveWorkers = NewGaugeDef("dynamic_worker_pool_scheduler_active_workers") DynamicWorkerPoolSchedulerEnqueuedTasks = NewCounterDef("dynamic_worker_pool_scheduler_enqueued_tasks") DynamicWorkerPoolSchedulerDequeuedTasks = NewCounterDef("dynamic_worker_pool_scheduler_dequeued_tasks") DynamicWorkerPoolSchedulerRejectedTasks = NewCounterDef("dynamic_worker_pool_scheduler_rejected_tasks") // Deadlock detector latency metrics DDClusterMetadataLockLatency = NewTimerDef("dd_cluster_metadata_lock_latency") DDClusterMetadataCallbackLockLatency = NewTimerDef("dd_cluster_metadata_callback_lock_latency") DDShardControllerLockLatency = NewTimerDef("dd_shard_controller_lock_latency") DDShardLockLatency = NewTimerDef("dd_shard_lock_latency") DDShardIOSemaphoreLatency = NewTimerDef("dd_shard_io_semaphore_latency") DDNamespaceRegistryLockLatency = NewTimerDef("dd_namespace_registry_lock_latency") // Matching MatchingClientForwardedCounter = NewCounterDef("forwarded") MatchingClientInvalidTaskQueueName = NewCounterDef("invalid_task_queue_name") MatchingClientInvalidTaskQueuePartition = NewCounterDef("invalid_task_queue_partition") SyncMatchLatencyPerTaskQueue = NewTimerDef("syncmatch_latency") AsyncMatchLatencyPerTaskQueue = NewTimerDef("asyncmatch_latency") PollSuccessPerTaskQueueCounter = NewCounterDef("poll_success") PollTimeoutPerTaskQueueCounter = NewCounterDef("poll_timeouts") PollSuccessWithSyncPerTaskQueueCounter = NewCounterDef("poll_success_sync") PollLatencyPerTaskQueue = NewTimerDef("poll_latency") LeaseRequestPerTaskQueueCounter = NewCounterDef("lease_requests") LeaseFailurePerTaskQueueCounter = NewCounterDef("lease_failures") ConditionFailedErrorPerTaskQueueCounter = NewCounterDef("condition_failed_errors") RespondQueryTaskFailedPerTaskQueueCounter = NewCounterDef("respond_query_failed") RespondNexusTaskFailedPerTaskQueueCounter = NewCounterDef("respond_nexus_failed") SyncThrottlePerTaskQueueCounter = NewCounterDef("sync_throttle_count") BufferThrottlePerTaskQueueCounter = NewCounterDef("buffer_throttle_count") ExpiredTasksPerTaskQueueCounter = NewCounterDef("tasks_expired") ForwardedPerTaskQueueCounter = NewCounterDef("forwarded_per_tl") ForwardTaskErrorsPerTaskQueue = NewCounterDef("forward_task_errors") LocalToLocalMatchPerTaskQueueCounter = NewCounterDef("local_to_local_matches") LocalToRemoteMatchPerTaskQueueCounter = NewCounterDef("local_to_remote_matches") RemoteToLocalMatchPerTaskQueueCounter = NewCounterDef("remote_to_local_matches") RemoteToRemoteMatchPerTaskQueueCounter = NewCounterDef("remote_to_remote_matches") LoadedTaskQueueFamilyGauge = NewGaugeDef("loaded_task_queue_family_count") LoadedTaskQueueGauge = NewGaugeDef("loaded_task_queue_count") LoadedTaskQueuePartitionGauge = NewGaugeDef("loaded_task_queue_partition_count") ForceLoadedTaskQueuePartitions = NewCounterDef("force_loaded_task_queue_partitions_count") ForceLoadedTaskQueuePartitionUnnecessarilyCounter = NewCounterDef("force_loaded_task_queue_partition_unnecessarily_count") LoadedPhysicalTaskQueueGauge = NewGaugeDef("loaded_physical_task_queue_count") TaskQueueStartedCounter = NewCounterDef("task_queue_started") TaskQueueStoppedCounter = NewCounterDef("task_queue_stopped") TaskWriteThrottlePerTaskQueueCounter = NewCounterDef("task_write_throttle_count") TaskWriteLatencyPerTaskQueue = NewTimerDef("task_write_latency") TaskLagPerTaskQueueGauge = NewGaugeDef("task_lag_per_tl") NoRecentPollerTasksPerTaskQueueCounter = NewCounterDef("no_poller_tasks") UnknownBuildPollsCounter = NewCounterDef("unknown_build_polls") UnknownBuildTasksCounter = NewCounterDef("unknown_build_tasks") TaskDispatchLatencyPerTaskQueue = NewTimerDef("task_dispatch_latency") ApproximateBacklogCount = NewGaugeDef("approximate_backlog_count") ApproximateBacklogAgeSeconds = NewGaugeDef("approximate_backlog_age_seconds") NonRetryableTasks = NewCounterDef( "non_retryable_tasks", WithDescription("The number of non-retryable matching tasks which are dropped due to specific errors")) // Versioning and Reachability ReachabilityExitPointCounter = NewCounterDef("reachability_exit_point_count") // Worker ExecutorTasksDoneCount = NewCounterDef("executor_done") ExecutorTasksErrCount = NewCounterDef("executor_err") ExecutorTasksDeferredCount = NewCounterDef("executor_deferred") ExecutorTasksDroppedCount = NewCounterDef("executor_dropped") StartedCount = NewCounterDef("started") StoppedCount = NewCounterDef("stopped") TaskProcessedCount = NewGaugeDef("task_processed") TaskDeletedCount = NewGaugeDef("task_deleted") TaskQueueProcessedCount = NewGaugeDef("taskqueue_processed") TaskQueueDeletedCount = NewGaugeDef("taskqueue_deleted") TaskQueueOutstandingCount = NewGaugeDef("taskqueue_outstanding") HistoryArchiverArchiveNonRetryableErrorCount = NewCounterDef("history_archiver_archive_non_retryable_error") HistoryArchiverArchiveTransientErrorCount = NewCounterDef("history_archiver_archive_transient_error") HistoryArchiverArchiveSuccessCount = NewCounterDef("history_archiver_archive_success") HistoryArchiverTotalUploadSize = NewBytesHistogramDef("history_archiver_total_upload_size") HistoryArchiverHistorySize = NewBytesHistogramDef("history_archiver_history_size") HistoryArchiverDuplicateArchivalsCount = NewCounterDef("history_archiver_duplicate_archivals") HistoryArchiverBlobExistsCount = NewCounterDef("history_archiver_blob_exists") HistoryArchiverBlobSize = NewBytesHistogramDef("history_archiver_blob_size") HistoryWorkflowExecutionCacheLatency = NewTimerDef("history_workflow_execution_cache_latency") HistoryWorkflowExecutionCacheLockHoldDuration = NewTimerDef("history_workflow_execution_cache_lock_hold_duration") VisibilityArchiverArchiveNonRetryableErrorCount = NewCounterDef("visibility_archiver_archive_non_retryable_error") VisibilityArchiverArchiveTransientErrorCount = NewCounterDef("visibility_archiver_archive_transient_error") VisibilityArchiveSuccessCount = NewCounterDef("visibility_archiver_archive_success") HistoryScavengerSuccessCount = NewCounterDef("scavenger_success") HistoryScavengerErrorCount = NewCounterDef("scavenger_errors") HistoryScavengerSkipCount = NewCounterDef("scavenger_skips") ExecutionsOutstandingCount = NewGaugeDef("executions_outstanding") ScavengerValidationRequestsCount = NewCounterDef("scavenger_validation_requests") ScavengerValidationFailuresCount = NewCounterDef("scavenger_validation_failures") ScavengerValidationSkipsCount = NewCounterDef("scavenger_validation_skips") AddSearchAttributesFailuresCount = NewCounterDef("add_search_attributes_failures") DeleteNamespaceSuccessCount = NewCounterDef("delete_namespace_success") RenameNamespaceSuccessCount = NewCounterDef("rename_namespace_success") DeleteExecutionsSuccessCount = NewCounterDef("delete_executions_success") DeleteNamespaceFailuresCount = NewCounterDef("delete_namespace_failures") UpdateNamespaceFailuresCount = NewCounterDef("update_namespace_failures") RenameNamespaceFailuresCount = NewCounterDef("rename_namespace_failures") ReadNamespaceFailuresCount = NewCounterDef("read_namespace_failures") ListExecutionsFailuresCount = NewCounterDef("list_executions_failures") CountExecutionsFailuresCount = NewCounterDef("count_executions_failures") DeleteExecutionFailuresCount = NewCounterDef("delete_execution_failures") DeleteExecutionNotFoundCount = NewCounterDef("delete_execution_not_found") RateLimiterFailuresCount = NewCounterDef("rate_limiter_failures") BatcherProcessorSuccess = NewCounterDef( "batcher_processor_requests", WithDescription("The number of individual workflow execution tasks successfully processed by the batch request processor"), ) BatcherProcessorFailures = NewCounterDef("batcher_processor_errors") BatcherOperationFailures = NewCounterDef("batcher_operation_errors") ElasticsearchBulkProcessorRequests = NewCounterDef("elasticsearch_bulk_processor_requests") ElasticsearchBulkProcessorQueuedRequests = NewDimensionlessHistogramDef("elasticsearch_bulk_processor_queued_requests") ElasticsearchBulkProcessorFailures = NewCounterDef("elasticsearch_bulk_processor_errors") ElasticsearchBulkProcessorCorruptedData = NewCounterDef("elasticsearch_bulk_processor_corrupted_data") ElasticsearchBulkProcessorDuplicateRequest = NewCounterDef("elasticsearch_bulk_processor_duplicate_request") ElasticsearchBulkProcessorRequestLatency = NewTimerDef("elasticsearch_bulk_processor_request_latency") ElasticsearchBulkProcessorCommitLatency = NewTimerDef("elasticsearch_bulk_processor_commit_latency") ElasticsearchBulkProcessorWaitAddLatency = NewTimerDef("elasticsearch_bulk_processor_wait_add_latency") ElasticsearchBulkProcessorWaitStartLatency = NewTimerDef("elasticsearch_bulk_processor_wait_start_latency") ElasticsearchBulkProcessorBulkSize = NewDimensionlessHistogramDef("elasticsearch_bulk_processor_bulk_size") ElasticsearchBulkProcessorBulkResquestTookLatency = NewTimerDef("elasticsearch_bulk_processor_bulk_request_took_latency") ElasticsearchDocumentParseFailuresCount = NewCounterDef("elasticsearch_document_parse_failures_counter") ElasticsearchDocumentGenerateFailuresCount = NewCounterDef("elasticsearch_document_generate_failures_counter") ElasticsearchCustomOrderByClauseCount = NewCounterDef("elasticsearch_custom_order_by_clause_counter") CatchUpReadyShardCountGauge = NewGaugeDef("catchup_ready_shard_count") HandoverReadyShardCountGauge = NewGaugeDef("handover_ready_shard_count") ReplicatorMessages = NewCounterDef("replicator_messages") ReplicatorFailures = NewCounterDef("replicator_errors") ReplicatorLatency = NewTimerDef("replicator_latency") ReplicatorDLQFailures = NewCounterDef("replicator_dlq_enqueue_fails") NamespaceReplicationEnqueueDLQCount = NewCounterDef("namespace_replication_dlq_enqueue_requests") ParentClosePolicyProcessorSuccess = NewCounterDef("parent_close_policy_processor_requests") ParentClosePolicyProcessorFailures = NewCounterDef("parent_close_policy_processor_errors") ScheduleMissedCatchupWindow = NewCounterDef( "schedule_missed_catchup_window", WithDescription("The number of times a schedule missed an action due to the configured catchup window"), ) ScheduleRateLimited = NewCounterDef( "schedule_rate_limited", WithDescription("The number of times a schedule action was delayed by more than 1s due to rate limiting"), ) ScheduleBufferOverruns = NewCounterDef( "schedule_buffer_overruns", WithDescription("The number of schedule actions that were dropped due to the action buffer being full"), ) ScheduleActionSuccess = NewCounterDef( "schedule_action_success", WithDescription("The number of schedule actions that were successfully taken by a schedule"), ) ScheduleActionAttempt = NewCounterDef( "schedule_action_attempt", WithDescription("The number of schedule actions attempts"), ) ScheduleActionErrors = NewCounterDef( "schedule_action_errors", WithDescription("The number of schedule actions that failed to start"), ) ScheduleCancelWorkflowErrors = NewCounterDef( "schedule_cancel_workflow_errors", WithDescription("The number of times a schedule got an error trying to cancel a previous run"), ) ScheduleTerminateWorkflowErrors = NewCounterDef( "schedule_terminate_workflow_errors", WithDescription("The number of times a schedule got an error trying to terminate a previous run"), ) ScheduleActionDelay = NewTimerDef( "schedule_action_delay", WithDescription("Delay between when scheduled actions should/actually happen"), ) // Force replication EncounterZombieWorkflowCount = NewCounterDef("encounter_zombie_workflow_count") EncounterNotFoundWorkflowCount = NewCounterDef("encounter_not_found_workflow_count") EncounterPassRetentionWorkflowCount = NewCounterDef("encounter_pass_retention_workflow_count") GenerateReplicationTasksLatency = NewTimerDef("generate_replication_tasks_latency") VerifyReplicationTaskSuccess = NewCounterDef("verify_replication_task_success") VerifyReplicationTaskNotFound = NewCounterDef("verify_replication_task_not_found") VerifyReplicationTaskFailed = NewCounterDef("verify_replication_task_failed") VerifyReplicationTasksLatency = NewTimerDef("verify_replication_tasks_latency") VerifyDescribeMutableStateLatency = NewTimerDef("verify_describe_mutable_state_latency") // Replication NamespaceReplicationTaskAckLevelGauge = NewGaugeDef("namespace_replication_task_ack_level") NamespaceReplicationDLQAckLevelGauge = NewGaugeDef("namespace_dlq_ack_level") NamespaceReplicationDLQMaxLevelGauge = NewGaugeDef("namespace_dlq_max_level") // Persistence PersistenceRequests = NewCounterDef( "persistence_requests", WithDescription("Persistence requests, keyed by `operation`"), ) PersistenceFailures = NewCounterDef("persistence_errors") PersistenceErrorWithType = NewCounterDef( "persistence_error_with_type", WithDescription("Persistence errors, keyed by `error_type`"), ) PersistenceLatency = NewTimerDef( "persistence_latency", WithDescription("Persistence latency, keyed by `operation`"), ) PersistenceShardRPS = NewDimensionlessHistogramDef("persistence_shard_rps") PersistenceErrResourceExhaustedCounter = NewCounterDef("persistence_errors_resource_exhausted") VisibilityPersistenceRequests = NewCounterDef("visibility_persistence_requests") VisibilityPersistenceErrorWithType = NewCounterDef("visibility_persistence_error_with_type") VisibilityPersistenceFailures = NewCounterDef("visibility_persistence_errors") VisibilityPersistenceResourceExhausted = NewCounterDef("visibility_persistence_resource_exhausted") VisibilityPersistenceLatency = NewTimerDef("visibility_persistence_latency") CassandraInitSessionLatency = NewTimerDef("cassandra_init_session_latency") CassandraSessionRefreshFailures = NewCounterDef("cassandra_session_refresh_failures") PersistenceSessionRefreshFailures = NewCounterDef("persistence_session_refresh_failures") PersistenceSessionRefreshAttempts = NewCounterDef("persistence_session_refresh_attempts") // Common service base metrics RestartCount = NewCounterDef("restarts") NumGoRoutinesGauge = NewGaugeDef("num_goroutines") GoMaxProcsGauge = NewGaugeDef("gomaxprocs") MemoryAllocatedGauge = NewGaugeDef("memory_allocated") MemoryHeapGauge = NewGaugeDef("memory_heap") MemoryHeapIdleGauge = NewGaugeDef("memory_heapidle") MemoryHeapInuseGauge = NewGaugeDef("memory_heapinuse") MemoryStackGauge = NewGaugeDef("memory_stack") NumGCCounter = NewBytesHistogramDef("memory_num_gc") GcPauseMsTimer = NewTimerDef("memory_gc_pause_ms") )
var NoopCounterMetricFunc = CounterFunc(func(i int64, t ...Tag) {})
var NoopGaugeMetricFunc = GaugeFunc(func(f float64, t ...Tag) {})
var NoopHistogramMetricFunc = HistogramFunc(func(i int64, t ...Tag) {})
var NoopTimerMetricFunc = TimerFunc(func(d time.Duration, t ...Tag) {})
var RuntimeMetricsReporterLifetimeHooksModule = fx.Options( fx.Invoke(RuntimeMetricsReporterLifetimeHooks), )
var RuntimeMetricsReporterModule = fx.Options( RuntimeMetricsReporterLifetimeHooksModule, )
Functions ¶
func AddMetricsContext ¶ added in v1.12.0
func CapturePanic ¶ added in v1.22.0
CapturePanic is used to capture panic, it will emit the service panic metric, log the panic and also return the error through pointer. If the panic value is not error then a default error is returned We have to use pointer is because in golang: "recover return nil if was not called directly by a deferred function." And we have to set the returned error otherwise our handler will return nil as error which is incorrect
func ContextCounterAdd ¶ added in v1.10.0
ContextCounterAdd adds value to counter within metrics context.
func ContextCounterGet ¶ added in v1.10.0
ContextCounterGet returns value and true if successfully retrieved value
func NewBytesHistogramDef ¶ added in v1.14.0
func NewClientMetricsTrailerPropagatorInterceptor ¶ added in v1.10.0
func NewClientMetricsTrailerPropagatorInterceptor(logger log.Logger) grpc.UnaryClientInterceptor
NewClientMetricsTrailerPropagatorInterceptor returns grpc client interceptor that injects metrics received in trailer into metrics context.
func NewCounterDef ¶ added in v1.14.0
func NewDimensionlessHistogramDef ¶ added in v1.14.0
func NewGaugeDef ¶ added in v1.14.0
func NewOpenTelemetryProvider ¶ added in v1.17.0
func NewOpenTelemetryProvider( logger log.Logger, prometheusConfig *PrometheusConfig, clientConfig *ClientConfig, ) (*openTelemetryProviderImpl, error)
func NewOtelMetricsHandler ¶ added in v1.17.0
func NewOtelMetricsHandler( l log.Logger, o OpenTelemetryProvider, cfg ClientConfig, ) (*otelMetricsHandler, error)
NewOtelMetricsHandler returns a new Handler that uses the provided OpenTelemetry metric.Meter to record metrics. This OTel handler supports metric descriptions for metrics registered with the New*Def functions. However, those functions must be called before this constructor. Otherwise, the descriptions will be empty. This is because the OTel metric descriptions are generated from the globalRegistry. You may also record metrics that are not registered via the New*Def functions. In that case, the metric description will be the OTel default (the metric name itself).
func NewScope ¶ added in v1.16.0
NewScope builds a new tally scope for this metrics configuration
If the underlying configuration is valid for multiple reporter types, only one of them will be used for reporting.
Current priority order is: statsd > prometheus
func NewServerMetricsContextInjectorInterceptor ¶ added in v1.10.0
func NewServerMetricsContextInjectorInterceptor() grpc.UnaryServerInterceptor
NewServerMetricsContextInjectorInterceptor returns grpc server interceptor that adds metrics context to golang context.
func NewServerMetricsTrailerPropagatorInterceptor ¶ added in v1.10.0
func NewServerMetricsTrailerPropagatorInterceptor(logger log.Logger) grpc.UnaryServerInterceptor
NewServerMetricsTrailerPropagatorInterceptor returns grpc server interceptor that injects metrics from context into gRPC trailer.
func NewTallyMetricsHandler ¶ added in v1.17.0
func NewTallyMetricsHandler(cfg ClientConfig, scope tally.Scope) *tallyMetricsHandler
func NewTimerDef ¶ added in v1.14.0
func RuntimeMetricsReporterLifetimeHooks ¶ added in v1.14.0
func RuntimeMetricsReporterLifetimeHooks( lc fx.Lifecycle, reporter *RuntimeMetricsReporter, )
Types ¶
type BatchHandler ¶ added in v1.26.2
Mostly cribbed from https://github.com/temporalio/sdk-go/blob/master/internal/common/metrics/handler.go and adapted to depend on golang.org/x/exp/event
type ClientConfig ¶ added in v1.14.0
type ClientConfig struct { // Tags is the set of key-value pairs to be reported as part of every metric Tags map[string]string `yaml:"tags"` // ExcludeTags is a map from tag name string to tag values string list. // Each value present in keys will have relevant tag value replaced with "_tag_excluded_" // Each value in values list will white-list tag values to be reported as usual. ExcludeTags map[string][]string `yaml:"excludeTags"` // Prefix sets the prefix to all outgoing metrics Prefix string `yaml:"prefix"` // DefaultHistogramBoundaries defines the default histogram bucket // boundaries. // Configuration of histogram boundaries for given metric unit. // // Supported values: // - "dimensionless" // - "milliseconds" // - "bytes" PerUnitHistogramBoundaries map[string][]float64 `yaml:"perUnitHistogramBoundaries"` }
type Config ¶ added in v1.5.7
type Config struct { ClientConfig `yaml:"clientConfig,inline"` // M3 is the configuration for m3 metrics reporter M3 *m3.Configuration `yaml:"m3"` // Statsd is the configuration for statsd reporter Statsd *StatsdConfig `yaml:"statsd"` // Prometheus is the configuration for prometheus reporter Prometheus *PrometheusConfig `yaml:"prometheus"` }
Config contains the config items for metrics subsystem
type CounterFunc ¶ added in v1.20.0
Mostly cribbed from https://github.com/temporalio/sdk-go/blob/master/internal/common/metrics/handler.go and adapted to depend on golang.org/x/exp/event
func (CounterFunc) Record ¶ added in v1.20.0
func (c CounterFunc) Record(v int64, tags ...Tag)
type CounterIface ¶ added in v1.20.0
type CounterIface interface { // Record increments the counter value. // Tags provided are merged with the source MetricsHandler Record(int64, ...Tag) }
CounterIface is an ever-increasing counter.
type GaugeFunc ¶ added in v1.20.0
Mostly cribbed from https://github.com/temporalio/sdk-go/blob/master/internal/common/metrics/handler.go and adapted to depend on golang.org/x/exp/event
type GaugeIface ¶ added in v1.20.0
type GaugeIface interface { // Record updates the gauge value. // Tags provided are merged with the source MetricsHandler Record(float64, ...Tag) }
GaugeIface can be set to any float and represents a latest value instrument.
type Handler ¶ added in v1.20.0
type Handler interface { // WithTags creates a new Handler with provided Tag list. // Tags are merged with registered Tags from the source Handler. WithTags(...Tag) Handler // Counter obtains a counter for the given name. Counter(string) CounterIface // Gauge obtains a gauge for the given name. Gauge(string) GaugeIface // Timer obtains a timer for the given name. Timer(string) TimerIface // Histogram obtains a histogram for the given name. Histogram(string, MetricUnit) HistogramIface Stop(log.Logger) // StartBatch returns a BatchHandler that can emit a series of metrics as a single "wide event". // If wide events aren't supported in the underlying implementation, metrics can still be sent individually. StartBatch(string) BatchHandler }
Handler is a wrapper around a metrics client. If you are interacting with metrics registered with New*Def functions, e.g. NewCounterDef, please use the With method of those definitions instead of calling Counter directly on the Handler. This will ensure that you don't accidentally use the wrong metric type, and you don't need to re-specify metric types or units.
Example ¶
// The MIT License // // Copyright (c) 2020 Temporal Technologies Inc. All rights reserved. // // Copyright (c) 2020 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. package main import ( "fmt" "slices" "time" "go.temporal.io/server/common/metrics" "go.temporal.io/server/common/metrics/metricstest" expmaps "golang.org/x/exp/maps" ) var ( bytesHist = metrics.NewBytesHistogramDef("test-bytes-histogram") counter = metrics.NewCounterDef("test-counter") gauge = metrics.NewGaugeDef("test-gauge") hist = metrics.NewDimensionlessHistogramDef("test-histogram") timer = metrics.NewTimerDef("test-timer") ) func main() { handler := metricstest.NewCaptureHandler() capture := handler.StartCapture() // Instead of calling handler.Histogram(bytesHist.Name(), bytesHist.Unit()).Record(1), you should use the With // method of the metric definition instead. bytesHist.With(handler).Record(1) counter.With(handler).Record(2) gauge.With(handler).Record(3) hist.With(handler).Record(4) timer.With(handler).Record(5 * time.Second) snapshot := capture.Snapshot() keys := expmaps.Keys(snapshot) slices.Sort(keys) for _, key := range keys { fmt.Printf("%s:", key) for _, rec := range snapshot[key] { fmt.Printf(" %v (%v)", rec.Value, rec.Unit) } fmt.Println() } // Notice that the output includes the proper units without having to specify them in the call to Record. }
Output: test-bytes-histogram: 1 (By) test-counter: 2 () test-gauge: 3 () test-histogram: 4 (1) test-timer: 5s ()
var (
NoopMetricsHandler Handler = newNoopMetricsHandler()
)
func GetPerTaskQueueFamilyScope ¶ added in v1.25.0
func GetPerTaskQueueFamilyScope( handler Handler, namespaceName string, taskQueueFamily *tqid.TaskQueueFamily, taskQueueBreakdown bool, tags ...Tag, ) Handler
GetPerTaskQueueFamilyScope returns "namespace" and "taskqueue" tags. "taskqueue" will be "__omitted__" if taskQueueBreakdown is false.
func GetPerTaskQueuePartitionIDScope ¶ added in v1.26.2
func GetPerTaskQueuePartitionIDScope( handler Handler, namespaceName string, partition tqid.Partition, taskQueueBreakdown bool, partitionIDBreakdown bool, tags ...Tag, ) Handler
GetPerTaskQueuePartitionIDScope is similar to GetPerTaskQueuePartitionTypeScope, except that the partition tag will hold the normal partition ID if partitionIDBreakdown is true.
func GetPerTaskQueuePartitionTypeScope ¶ added in v1.26.2
func GetPerTaskQueuePartitionTypeScope( handler Handler, namespaceName string, partition tqid.Partition, taskQueueBreakdown bool, tags ...Tag, ) Handler
GetPerTaskQueuePartitionTypeScope returns GetPerTaskQueueScope scope plus a "partition" tag which can be "__normal__", "__sticky__", or "_unknown_".
type HistogramFunc ¶ added in v1.20.0
Mostly cribbed from https://github.com/temporalio/sdk-go/blob/master/internal/common/metrics/handler.go and adapted to depend on golang.org/x/exp/event
func (HistogramFunc) Record ¶ added in v1.20.0
func (c HistogramFunc) Record(v int64, tags ...Tag)
type HistogramIface ¶ added in v1.20.0
type HistogramIface interface { // Record adds a value to the distribution // Tags provided are merged with the source MetricsHandler Record(int64, ...Tag) }
HistogramIface records a distribution of values.
type HistogramObjective ¶ added in v1.9.0
type HistogramObjective struct {
Upper float64 `yaml:"upper"`
}
Deprecated. HistogramObjective is a Prometheus histogram bucket. Added for backwards compatibility.
type MetricUnit ¶ added in v1.14.0
type MetricUnit string
type MockBatchHandler ¶ added in v1.26.2
type MockBatchHandler struct {
// contains filtered or unexported fields
}
MockBatchHandler is a mock of BatchHandler interface.
func NewMockBatchHandler ¶ added in v1.26.2
func NewMockBatchHandler(ctrl *gomock.Controller) *MockBatchHandler
NewMockBatchHandler creates a new mock instance.
func (*MockBatchHandler) Close ¶ added in v1.26.2
func (m *MockBatchHandler) Close() error
Close mocks base method.
func (*MockBatchHandler) Counter ¶ added in v1.26.2
func (m *MockBatchHandler) Counter(arg0 string) CounterIface
Counter mocks base method.
func (*MockBatchHandler) EXPECT ¶ added in v1.26.2
func (m *MockBatchHandler) EXPECT() *MockBatchHandlerMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockBatchHandler) Gauge ¶ added in v1.26.2
func (m *MockBatchHandler) Gauge(arg0 string) GaugeIface
Gauge mocks base method.
func (*MockBatchHandler) Histogram ¶ added in v1.26.2
func (m *MockBatchHandler) Histogram(arg0 string, arg1 MetricUnit) HistogramIface
Histogram mocks base method.
func (*MockBatchHandler) StartBatch ¶ added in v1.26.2
func (m *MockBatchHandler) StartBatch(arg0 string) BatchHandler
StartBatch mocks base method.
func (*MockBatchHandler) Stop ¶ added in v1.26.2
func (m *MockBatchHandler) Stop(arg0 log.Logger)
Stop mocks base method.
func (*MockBatchHandler) Timer ¶ added in v1.26.2
func (m *MockBatchHandler) Timer(arg0 string) TimerIface
Timer mocks base method.
func (*MockBatchHandler) WithTags ¶ added in v1.26.2
func (m *MockBatchHandler) WithTags(arg0 ...Tag) Handler
WithTags mocks base method.
type MockBatchHandlerMockRecorder ¶ added in v1.26.2
type MockBatchHandlerMockRecorder struct {
// contains filtered or unexported fields
}
MockBatchHandlerMockRecorder is the mock recorder for MockBatchHandler.
func (*MockBatchHandlerMockRecorder) Close ¶ added in v1.26.2
func (mr *MockBatchHandlerMockRecorder) Close() *gomock.Call
Close indicates an expected call of Close.
func (*MockBatchHandlerMockRecorder) Counter ¶ added in v1.26.2
func (mr *MockBatchHandlerMockRecorder) Counter(arg0 any) *gomock.Call
Counter indicates an expected call of Counter.
func (*MockBatchHandlerMockRecorder) Gauge ¶ added in v1.26.2
func (mr *MockBatchHandlerMockRecorder) Gauge(arg0 any) *gomock.Call
Gauge indicates an expected call of Gauge.
func (*MockBatchHandlerMockRecorder) Histogram ¶ added in v1.26.2
func (mr *MockBatchHandlerMockRecorder) Histogram(arg0, arg1 any) *gomock.Call
Histogram indicates an expected call of Histogram.
func (*MockBatchHandlerMockRecorder) StartBatch ¶ added in v1.26.2
func (mr *MockBatchHandlerMockRecorder) StartBatch(arg0 any) *gomock.Call
StartBatch indicates an expected call of StartBatch.
func (*MockBatchHandlerMockRecorder) Stop ¶ added in v1.26.2
func (mr *MockBatchHandlerMockRecorder) Stop(arg0 any) *gomock.Call
Stop indicates an expected call of Stop.
type MockCounterIface ¶ added in v1.20.0
type MockCounterIface struct {
// contains filtered or unexported fields
}
MockCounterIface is a mock of CounterIface interface.
func NewMockCounterIface ¶ added in v1.20.0
func NewMockCounterIface(ctrl *gomock.Controller) *MockCounterIface
NewMockCounterIface creates a new mock instance.
func (*MockCounterIface) EXPECT ¶ added in v1.20.0
func (m *MockCounterIface) EXPECT() *MockCounterIfaceMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockCounterIface) Record ¶ added in v1.20.0
func (m *MockCounterIface) Record(arg0 int64, arg1 ...Tag)
Record mocks base method.
type MockCounterIfaceMockRecorder ¶ added in v1.20.0
type MockCounterIfaceMockRecorder struct {
// contains filtered or unexported fields
}
MockCounterIfaceMockRecorder is the mock recorder for MockCounterIface.
type MockGaugeIface ¶ added in v1.20.0
type MockGaugeIface struct {
// contains filtered or unexported fields
}
MockGaugeIface is a mock of GaugeIface interface.
func NewMockGaugeIface ¶ added in v1.20.0
func NewMockGaugeIface(ctrl *gomock.Controller) *MockGaugeIface
NewMockGaugeIface creates a new mock instance.
func (*MockGaugeIface) EXPECT ¶ added in v1.20.0
func (m *MockGaugeIface) EXPECT() *MockGaugeIfaceMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockGaugeIface) Record ¶ added in v1.20.0
func (m *MockGaugeIface) Record(arg0 float64, arg1 ...Tag)
Record mocks base method.
type MockGaugeIfaceMockRecorder ¶ added in v1.20.0
type MockGaugeIfaceMockRecorder struct {
// contains filtered or unexported fields
}
MockGaugeIfaceMockRecorder is the mock recorder for MockGaugeIface.
type MockHandler ¶ added in v1.20.0
type MockHandler struct {
// contains filtered or unexported fields
}
MockHandler is a mock of Handler interface.
func NewMockHandler ¶ added in v1.20.0
func NewMockHandler(ctrl *gomock.Controller) *MockHandler
NewMockHandler creates a new mock instance.
func (*MockHandler) Counter ¶ added in v1.20.0
func (m *MockHandler) Counter(arg0 string) CounterIface
Counter mocks base method.
func (*MockHandler) EXPECT ¶ added in v1.20.0
func (m *MockHandler) EXPECT() *MockHandlerMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockHandler) Gauge ¶ added in v1.20.0
func (m *MockHandler) Gauge(arg0 string) GaugeIface
Gauge mocks base method.
func (*MockHandler) Histogram ¶ added in v1.20.0
func (m *MockHandler) Histogram(arg0 string, arg1 MetricUnit) HistogramIface
Histogram mocks base method.
func (*MockHandler) StartBatch ¶ added in v1.26.2
func (m *MockHandler) StartBatch(arg0 string) BatchHandler
StartBatch mocks base method.
func (*MockHandler) Stop ¶ added in v1.20.0
func (m *MockHandler) Stop(arg0 log.Logger)
Stop mocks base method.
func (*MockHandler) Timer ¶ added in v1.20.0
func (m *MockHandler) Timer(arg0 string) TimerIface
Timer mocks base method.
func (*MockHandler) WithTags ¶ added in v1.20.0
func (m *MockHandler) WithTags(arg0 ...Tag) Handler
WithTags mocks base method.
type MockHandlerMockRecorder ¶ added in v1.20.0
type MockHandlerMockRecorder struct {
// contains filtered or unexported fields
}
MockHandlerMockRecorder is the mock recorder for MockHandler.
func (*MockHandlerMockRecorder) Counter ¶ added in v1.20.0
func (mr *MockHandlerMockRecorder) Counter(arg0 any) *gomock.Call
Counter indicates an expected call of Counter.
func (*MockHandlerMockRecorder) Gauge ¶ added in v1.20.0
func (mr *MockHandlerMockRecorder) Gauge(arg0 any) *gomock.Call
Gauge indicates an expected call of Gauge.
func (*MockHandlerMockRecorder) Histogram ¶ added in v1.20.0
func (mr *MockHandlerMockRecorder) Histogram(arg0, arg1 any) *gomock.Call
Histogram indicates an expected call of Histogram.
func (*MockHandlerMockRecorder) StartBatch ¶ added in v1.26.2
func (mr *MockHandlerMockRecorder) StartBatch(arg0 any) *gomock.Call
StartBatch indicates an expected call of StartBatch.
func (*MockHandlerMockRecorder) Stop ¶ added in v1.20.0
func (mr *MockHandlerMockRecorder) Stop(arg0 any) *gomock.Call
Stop indicates an expected call of Stop.
type MockHistogramIface ¶ added in v1.20.0
type MockHistogramIface struct {
// contains filtered or unexported fields
}
MockHistogramIface is a mock of HistogramIface interface.
func NewMockHistogramIface ¶ added in v1.20.0
func NewMockHistogramIface(ctrl *gomock.Controller) *MockHistogramIface
NewMockHistogramIface creates a new mock instance.
func (*MockHistogramIface) EXPECT ¶ added in v1.20.0
func (m *MockHistogramIface) EXPECT() *MockHistogramIfaceMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockHistogramIface) Record ¶ added in v1.20.0
func (m *MockHistogramIface) Record(arg0 int64, arg1 ...Tag)
Record mocks base method.
type MockHistogramIfaceMockRecorder ¶ added in v1.20.0
type MockHistogramIfaceMockRecorder struct {
// contains filtered or unexported fields
}
MockHistogramIfaceMockRecorder is the mock recorder for MockHistogramIface.
type MockTimerIface ¶ added in v1.20.0
type MockTimerIface struct {
// contains filtered or unexported fields
}
MockTimerIface is a mock of TimerIface interface.
func NewMockTimerIface ¶ added in v1.20.0
func NewMockTimerIface(ctrl *gomock.Controller) *MockTimerIface
NewMockTimerIface creates a new mock instance.
func (*MockTimerIface) EXPECT ¶ added in v1.20.0
func (m *MockTimerIface) EXPECT() *MockTimerIfaceMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
type MockTimerIfaceMockRecorder ¶ added in v1.20.0
type MockTimerIfaceMockRecorder struct {
// contains filtered or unexported fields
}
MockTimerIfaceMockRecorder is the mock recorder for MockTimerIface.
type OpenTelemetryProvider ¶ added in v1.17.0
type Option ¶ added in v1.22.0
type Option interface {
// contains filtered or unexported methods
}
Option is used to configure a metric definition. Note that options are currently only supported when using the Prometheus reporter with the OpenTelemetry framework.
type PrometheusConfig ¶ added in v1.5.7
type PrometheusConfig struct { // Metric framework: Tally/OpenTelemetry Framework string `yaml:"framework"` // Address for prometheus to serve metrics from. ListenAddress string `yaml:"listenAddress"` // HandlerPath if specified will be used instead of using the default // HTTP handler path "/metrics". HandlerPath string `yaml:"handlerPath"` // LoggerRPS sets the RPS of the logger provided to prometheus. Default of 0 means no limit. LoggerRPS float64 `yaml:"loggerRPS"` // Deprecated. ListenNetwork if specified will be used instead of using tcp network. // Supported networks: tcp, tcp4, tcp6 and unix. ListenNetwork string `yaml:"listenNetwork"` // Deprecated. TimerType is the default Prometheus type to use for Tally timers. // TimerType is always histogram. TimerType string `yaml:"timerType"` // Deprecated. Please use PerUnitHistogramBoundaries in ClientConfig. // DefaultHistogramBoundaries defines the default histogram bucket boundaries for tally timer metrics. DefaultHistogramBoundaries []float64 `yaml:"defaultHistogramBoundaries"` // Deprecated. Please use PerUnitHistogramBoundaries in ClientConfig. // DefaultHistogramBuckets if specified will set the default histogram // buckets to be used by the reporter for tally timer metrics. // The unit for value specified is Second. // If specified, will override DefaultSummaryObjectives and PerUnitHistogramBoundaries["milliseconds"]. DefaultHistogramBuckets []HistogramObjective `yaml:"defaultHistogramBuckets"` // Deprecated. DefaultSummaryObjectives if specified will set the default summary // objectives to be used by the reporter. // The unit for value specified is Second. // If specified, will override PerUnitHistogramBoundaries["milliseconds"]. DefaultSummaryObjectives []SummaryObjective `yaml:"defaultSummaryObjectives"` // Deprecated. OnError specifies what to do when an error either with listening // on the specified listen address or registering a metric with the // Prometheus. By default the registerer will panic. OnError string `yaml:"onError"` // Deprecated. SanitizeOptions is an optional field that enables a user to // specify which characters are valid and/or should be replaced before metrics // are emitted. SanitizeOptions *SanitizeOptions `yaml:"sanitizeOptions"` }
PrometheusConfig is a new format for config for prometheus metrics.
type ReasonString ¶ added in v1.20.0
type ReasonString string
ReasonString is just a string but the special type is defined here to remind callers of ReasonTag to limit the cardinality of possible reasons.
type RuntimeMetricsReporter ¶
type RuntimeMetricsReporter struct {
// contains filtered or unexported fields
}
RuntimeMetricsReporter A struct containing the state of the RuntimeMetricsReporter.
func NewRuntimeMetricsReporter ¶
func NewRuntimeMetricsReporter( handler Handler, reportInterval time.Duration, logger log.Logger, instanceID string, ) *RuntimeMetricsReporter
NewRuntimeMetricsReporter Creates a new RuntimeMetricsReporter.
func (*RuntimeMetricsReporter) Start ¶
func (r *RuntimeMetricsReporter) Start()
Start Starts the reporter thread that periodically emits metrics.
func (*RuntimeMetricsReporter) Stop ¶
func (r *RuntimeMetricsReporter) Stop()
Stop Stops reporting of runtime metrics. The reporter cannot be started again after it's been stopped.
type SanitizeOptions ¶ added in v1.17.2
type SanitizeOptions struct { NameCharacters *ValidCharacters `yaml:"nameChars"` KeyCharacters *ValidCharacters `yaml:"keyChars"` ValueCharacters *ValidCharacters `yaml:"valueChars"` ReplacementCharacter string `yaml:"replacementChar"` }
type SanitizeRange ¶ added in v1.17.2
type StatsdConfig ¶ added in v1.5.7
type StatsdConfig struct { // The host and port of the statsd server HostPort string `yaml:"hostPort" validate:"nonzero"` // The prefix to use in reporting to statsd Prefix string `yaml:"prefix" validate:"nonzero"` // FlushInterval is the maximum interval for sending packets. // If it is not specified, it defaults to 1 second. FlushInterval time.Duration `yaml:"flushInterval"` // FlushBytes specifies the maximum udp packet size you wish to send. // If FlushBytes is unspecified, it defaults to 1432 bytes, which is // considered safe for local traffic. FlushBytes int `yaml:"flushBytes"` // Reporter allows additional configuration of the stats reporter, e.g. with custom tagging options. Reporter StatsdReporterConfig `yaml:"reporter"` }
StatsdConfig contains the config items for statsd metrics reporter
type StatsdReporterConfig ¶ added in v1.17.0
type StatsdReporterConfig struct { // TagSeparator allows tags to be appended with a separator. If not specified tag keys and values // are embedded to the stat name directly. TagSeparator string `yaml:"tagSeparator"` }
type SummaryObjective ¶ added in v1.9.0
type SummaryObjective struct { Percentile float64 `yaml:"percentile"` AllowedError float64 `yaml:"allowedError"` }
Deprecated. SummaryObjective is a Prometheus summary objective. Added for backwards compatibility.
type Tag ¶ added in v0.5.7
Tag is an interface to define metrics tags
func ActionType ¶ added in v1.17.0
func ActivityTypeTag ¶ added in v0.27.0
ActivityTypeTag returns a new activity type tag.
func CacheTypeTag ¶ added in v1.19.0
func CommandTypeTag ¶ added in v0.27.0
CommandTypeTag returns a new command type tag.
func DestinationTag ¶ added in v1.25.0
DestinationTag is a tag for metrics emitted by outbound task executors for the task's destination.
func FromClusterIDTag ¶ added in v1.21.0
FromClusterIDTag returns a new from cluster tag.
func HttpStatusTag ¶ added in v1.14.0
HttpStatusTag returns a new httpStatusTag.
func InstanceTag ¶ added in v0.5.9
InstanceTag returns a new instance tag
func NamespaceIDTag ¶ added in v1.25.0
NamespaceIDTag returns a new namespace ID tag.
func NamespaceStateTag ¶ added in v1.20.0
NamespaceStateTag returns a new namespace state tag.
func NamespaceTag ¶ added in v0.27.0
NamespaceTag returns a new namespace tag. For timers, this also ensures that we dual emit the metric with the all tag. If a blank namespace is provided then this converts that to an unknown namespace.
func NamespaceUnknownTag ¶ added in v0.27.0
func NamespaceUnknownTag() Tag
NamespaceUnknownTag returns a new namespace:unknown tag-value
func NexusEndpointTag ¶ added in v1.25.0
func NexusMethodTag ¶ added in v1.24.0
func OperationTag ¶ added in v1.17.0
func OutcomeTag ¶ added in v1.25.0
func PartitionTag ¶ added in v1.25.0
func PriorityTag ¶ added in v1.25.0
func QueueActionTag ¶ added in v1.21.0
func QueueReaderIDTag ¶ added in v1.18.0
func QueueTypeTag ¶ added in v1.14.0
func ReasonTag ¶ added in v1.20.0
func ReasonTag(value ReasonString) Tag
ReasonTag is a generic tag can be used anywhere a reason is needed. Make sure that the value is of limited cardinality.
func ReplicationTaskTypeTag ¶ added in v1.21.0
func ReplicationTaskTypeTag(value enumsspb.ReplicationTaskType) Tag
ReplicationTaskTypeTag returns a new replication task type tag.
func ResourceExhaustedCauseTag ¶ added in v1.15.0
func ResourceExhaustedCauseTag(cause enumspb.ResourceExhaustedCause) Tag
func ResourceExhaustedScopeTag ¶ added in v1.25.0
func ResourceExhaustedScopeTag(scope enumspb.ResourceExhaustedScope) Tag
func ServiceErrorTypeTag ¶ added in v1.15.0
func ServiceNameTag ¶ added in v1.19.0
func ServiceNameTag(value primitives.ServiceName) Tag
func ServiceRoleTag ¶ added in v1.4.0
Returns a new service role tag.
func SourceClusterTag ¶ added in v1.25.0
SourceClusterTag returns a new source cluster tag.
func TargetClusterTag ¶ added in v0.6.0
TargetClusterTag returns a new target cluster tag.
func TaskCategoryTag ¶ added in v1.17.0
func TaskPriorityTag ¶ added in v1.17.0
func TaskQueueTypeTag ¶ added in v1.16.0
func TaskQueueTypeTag(tqType enumspb.TaskQueueType) Tag
func TaskQueueUnknownTag ¶ added in v0.27.0
func TaskQueueUnknownTag() Tag
TaskQueueUnknownTag returns a new taskqueue:unknown tag-value
func TaskTypeTag ¶ added in v1.13.0
func ToClusterIDTag ¶ added in v1.21.0
ToClusterIDTag returns a new to cluster tag.
func UnsafeTaskQueueTag ¶ added in v1.25.0
UnsafeTaskQueueTag returns a new task queue tag. WARNING: Do not use this function directly in production code as it may create high number of unique task queue tag values that can trouble the observability stack. Instead, use one of the following helper functions and pass a proper breakdown boolean (typically based on the task queue dynamic configs): - `workflow.PerTaskQueueFamilyScope` - `tqid.PerTaskQueueFamilyScope` - `tqid.PerTaskQueueScope` - `tqid.PerTaskQueuePartitionScope`
func VersionedTag ¶ added in v1.22.0
VersionedTag represents whether a loaded task queue manager represents a specific version set or build ID or not.
func VisibilityIndexNameTag ¶ added in v1.26.0
func VisibilityPluginNameTag ¶ added in v1.23.0
func WorkerBuildIdTag ¶ added in v1.24.0
Consider passing the value of "metrics.breakdownByBuildID" dynamic config to this function.
func WorkflowTypeTag ¶ added in v0.27.0
WorkflowTypeTag returns a new workflow type tag.
type TimerFunc ¶ added in v1.20.0
Mostly cribbed from https://github.com/temporalio/sdk-go/blob/master/internal/common/metrics/handler.go and adapted to depend on golang.org/x/exp/event
type TimerIface ¶ added in v1.20.0
type TimerIface interface { // Record sets the timer value. // Tags provided are merged with the source MetricsHandler Record(time.Duration, ...Tag) }
TimerIface records time durations.
type ValidCharacters ¶ added in v1.17.2
type ValidCharacters struct { Ranges []SanitizeRange `yaml:"ranges"` SafeCharacters string `yaml:"safeChars"` }
type WithDescription ¶ added in v1.22.0
type WithDescription string
WithDescription sets the description, or "help text", of a metric. See ServiceRequests for an example.
type WithUnit ¶ added in v1.22.0
type WithUnit MetricUnit
WithUnit sets the unit of a metric. See NewBytesHistogramDef for an example.