Documentation ¶
Index ¶
- Constants
- Variables
- type Client
- type ClientImpl
- func (m *ClientImpl) AddCounter(scopeIdx int, counterIdx int, delta int64)
- func (m *ClientImpl) IncCounter(scopeIdx int, counterIdx int)
- func (m *ClientImpl) RecordTimer(scopeIdx int, timerIdx int, d time.Duration)
- func (m *ClientImpl) StartTimer(scopeIdx int, timerIdx int) tally.Stopwatch
- func (m *ClientImpl) Tagged(tags map[string]string) Client
- func (m *ClientImpl) UpdateGauge(scopeIdx int, gaugeIdx int, delta float64)
- type ErrorClass
- type MetricName
- type MetricType
- type RuntimeMetricsReporter
- type ServiceIdx
Constants ¶
const ( Common = iota Frontend History Matching NumServices )
Service names for all services that emit metrics.
const ( HostnameTagName = "hostname" OperationTagName = "operation" ShardTagName = "shard" )
Common tags for all services
const ( RestartCount = "restarts" NumGoRoutinesGauge = "num-goroutines" GoMaxProcsGauge = "gomaxprocs" MemoryAllocatedGauge = "memory.allocated" MemoryHeapGauge = "memory.heap" MemoryHeapIdleGauge = "memory.heapidle" MemoryHeapInuseGauge = "memory.heapinuse" MemoryStackGauge = "memory.stack" NumGCCounter = "memory.num-gc" GcPauseMsTimer = "memory.gc-pause-ms" )
Common service base metrics
const ( // PersistenceCreateShardScope tracks CreateShard calls made by service to persistence layer PersistenceCreateShardScope = iota // PersistenceGetShardScope tracks GetShard calls made by service to persistence layer PersistenceGetShardScope // PersistenceUpdateShardScope tracks UpdateShard calls made by service to persistence layer PersistenceUpdateShardScope // PersistenceCreateWorkflowExecutionScope tracks CreateWorkflowExecution calls made by service to persistence layer PersistenceCreateWorkflowExecutionScope // PersistenceGetWorkflowExecutionScope tracks GetWorkflowExecution calls made by service to persistence layer PersistenceGetWorkflowExecutionScope // PersistenceUpdateWorkflowExecutionScope tracks UpdateWorkflowExecution calls made by service to persistence layer PersistenceUpdateWorkflowExecutionScope // PersistenceDeleteWorkflowExecutionScope tracks DeleteWorkflowExecution calls made by service to persistence layer PersistenceDeleteWorkflowExecutionScope // PersistenceGetCurrentExecutionScope tracks GetCurrentExecution calls made by service to persistence layer PersistenceGetCurrentExecutionScope // PersistenceGetTransferTasksScope tracks GetTransferTasks calls made by service to persistence layer PersistenceGetTransferTasksScope // PersistenceCompleteTransferTaskScope tracks CompleteTransferTasks calls made by service to persistence layer PersistenceCompleteTransferTaskScope // PersistenceGetTimerIndexTasksScope tracks GetTimerIndexTasks calls made by service to persistence layer PersistenceGetTimerIndexTasksScope // PersistenceCompleteTimerTaskScope tracks CompleteTimerTasks calls made by service to persistence layer PersistenceCompleteTimerTaskScope // PersistenceCreateTaskScope tracks CreateTask calls made by service to persistence layer PersistenceCreateTaskScope // PersistenceGetTasksScope tracks GetTasks calls made by service to persistence layer PersistenceGetTasksScope // PersistenceCompleteTaskScope tracks CompleteTask calls made by service to persistence layer PersistenceCompleteTaskScope // PersistenceLeaseTaskListScope tracks LeaseTaskList calls made by service to persistence layer PersistenceLeaseTaskListScope // PersistenceUpdateTaskListScope tracks PersistenceUpdateTaskListScope calls made by service to persistence layer PersistenceUpdateTaskListScope // PersistenceAppendHistoryEventsScope tracks AppendHistoryEvents calls made by service to persistence layer PersistenceAppendHistoryEventsScope // PersistenceGetWorkflowExecutionHistoryScope tracks GetWorkflowExecutionHistory calls made by service to persistence layer PersistenceGetWorkflowExecutionHistoryScope // PersistenceDeleteWorkflowExecutionHistoryScope tracks DeleteWorkflowExecutionHistory calls made by service to persistence layer PersistenceDeleteWorkflowExecutionHistoryScope // PersistenceCreateDomainScope tracks CreateDomain calls made by service to persistence layer PersistenceCreateDomainScope // PersistenceGetDomainScope tracks GetDomain calls made by service to persistence layer PersistenceGetDomainScope // PersistenceUpdateDomainScope tracks UpdateDomain calls made by service to persistence layer PersistenceUpdateDomainScope // PersistenceDeleteDomainScope tracks DeleteDomain calls made by service to persistence layer PersistenceDeleteDomainScope // PersistenceDeleteDomainByNameScope tracks DeleteDomainByName calls made by service to persistence layer PersistenceDeleteDomainByNameScope // HistoryClientStartWorkflowExecutionScope tracks RPC calls to history service HistoryClientStartWorkflowExecutionScope // HistoryClientRecordActivityTaskHeartbeatScope tracks RPC calls to history service HistoryClientRecordActivityTaskHeartbeatScope // HistoryClientRespondDecisionTaskCompletedScope tracks RPC calls to history service HistoryClientRespondDecisionTaskCompletedScope // HistoryClientRespondActivityTaskCompletedScope tracks RPC calls to history service HistoryClientRespondActivityTaskCompletedScope // HistoryClientRespondActivityTaskFailedScope tracks RPC calls to history service HistoryClientRespondActivityTaskFailedScope // HistoryClientRespondActivityTaskCanceledScope tracks RPC calls to history service HistoryClientRespondActivityTaskCanceledScope // HistoryClientGetWorkflowExecutionNextEventIDScope tracks RPC calls to history service HistoryClientGetWorkflowExecutionNextEventIDScope // HistoryClientRecordDecisionTaskStartedScope tracks RPC calls to history service HistoryClientRecordDecisionTaskStartedScope // HistoryClientRecordActivityTaskStartedScope tracks RPC calls to history service HistoryClientRecordActivityTaskStartedScope // HistoryClientRequestCancelWorkflowExecutionScope tracks RPC calls to history service HistoryClientRequestCancelWorkflowExecutionScope // HistoryClientSignalWorkflowExecutionScope tracks RPC calls to history service HistoryClientSignalWorkflowExecutionScope // HistoryClientTerminateWorkflowExecutionScope tracks RPC calls to history service HistoryClientTerminateWorkflowExecutionScope // HistoryClientScheduleDecisionTaskScope tracks RPC calls to history service HistoryClientScheduleDecisionTaskScope // HistoryClientRecordChildExecutionCompletedScope tracks RPC calls to history service HistoryClientRecordChildExecutionCompletedScope // MatchingClientPollForDecisionTaskScope tracks RPC calls to matching service MatchingClientPollForDecisionTaskScope // MatchingClientPollForActivityTaskScope tracks RPC calls to matching service MatchingClientPollForActivityTaskScope // MatchingClientAddActivityTaskScope tracks RPC calls to matching service MatchingClientAddActivityTaskScope // MatchingClientAddDecisionTaskScope tracks RPC calls to matching service MatchingClientAddDecisionTaskScope NumCommonScopes )
Scopes enum
const ( // StartWorkflowExecutionScope tracks StartWorkflowExecution API calls received by service StartWorkflowExecutionScope = iota + NumCommonScopes // PollForDecisionTaskScope tracks PollForDecisionTask API calls received by service PollForDecisionTaskScope // PollForActivityTaskScope tracks PollForActivityTask API calls received by service PollForActivityTaskScope // RecordActivityTaskHeartbeatScope tracks RecordActivityTaskHeartbeat API calls received by service RecordActivityTaskHeartbeatScope // RespondDecisionTaskCompletedScope tracks RespondDecisionTaskCompleted API calls received by service RespondDecisionTaskCompletedScope // RespondActivityTaskCompletedScope tracks RespondActivityTaskCompleted API calls received by service RespondActivityTaskCompletedScope // RespondActivityTaskFailedScope tracks RespondActivityTaskFailed API calls received by service RespondActivityTaskFailedScope // GetWorkflowExecutionHistoryScope tracks GetWorkflowExecutionHistory API calls received by service GetWorkflowExecutionHistoryScope NumFrontendScopes )
-- Operation scopes for Frontend service --
const ( // HistoryStartWorkflowExecutionScope tracks StartWorkflowExecution API calls received by service HistoryStartWorkflowExecutionScope = iota + NumCommonScopes // HistoryRecordActivityTaskHeartbeatScope tracks RecordActivityTaskHeartbeat API calls received by service HistoryRecordActivityTaskHeartbeatScope // HistoryRespondDecisionTaskCompletedScope tracks RespondDecisionTaskCompleted API calls received by service HistoryRespondDecisionTaskCompletedScope // HistoryRespondActivityTaskCompletedScope tracks RespondActivityTaskCompleted API calls received by service HistoryRespondActivityTaskCompletedScope // HistoryRespondActivityTaskFailedScope tracks RespondActivityTaskFailed API calls received by service HistoryRespondActivityTaskFailedScope // HistoryRespondActivityTaskCanceledScope tracks RespondActivityTaskCanceled API calls received by service HistoryRespondActivityTaskCanceledScope // HistoryGetWorkflowExecutionNextEventIDScope tracks GetWorkflowExecutionHistory API calls received by service HistoryGetWorkflowExecutionNextEventIDScope // HistoryRecordDecisionTaskStartedScope tracks RecordDecisionTaskStarted API calls received by service HistoryRecordDecisionTaskStartedScope // HistoryRecordActivityTaskStartedScope tracks RecordActivityTaskStarted API calls received by service HistoryRecordActivityTaskStartedScope // HistorySignalWorkflowExecutionScope tracks SignalWorkflowExecution API calls received by service HistorySignalWorkflowExecutionScope // HistoryTerminateWorkflowExecutionScope tracks TerminateWorkflowExecution API calls received by service HistoryTerminateWorkflowExecutionScope // HistoryScheduleDecisionTaskScope tracks ScheduleDecisionTask API calls received by service HistoryScheduleDecisionTaskScope // HistoryRecordChildExecutionCompletedScope tracks CompleteChildExecution API calls received by service HistoryRecordChildExecutionCompletedScope // HistoryProcessTransferTasksScope tracks number of transfer tasks processed HistoryProcessTransferTasksScope // HistoryRequestCancelWorkflowExecutionScope tracks RequestCancelWorkflowExecution API calls received by service HistoryRequestCancelWorkflowExecutionScope // HistoryMultipleCompletionDecisionsScope tracks number of duplicate completion decisions for an execution HistoryMultipleCompletionDecisionsScope NumHistoryScopes )
-- Operation scopes for History service --
const ( // PollForDecisionTaskScope tracks PollForDecisionTask API calls received by service MatchingPollForDecisionTaskScope = iota + NumCommonScopes // PollForActivityTaskScope tracks PollForActivityTask API calls received by service MatchingPollForActivityTaskScope // MatchingAddActivityTaskScope tracks AddActivityTask API calls received by service MatchingAddActivityTaskScope // MatchingAddDecisionTaskScope tracks AddDecisionTask API calls received by service MatchingAddDecisionTaskScope NumMatchingScopes )
-- Operation scopes for Matching service --
const ( CadenceRequests = iota CadenceFailures CadenceLatency CadenceErrBadRequestCounter CadenceErrEntityNotExistsCounter CadenceErrExecutionAlreadyStartedCounter CadenceErrDomainAlreadyExistsCounter PersistenceRequests PersistenceFailures PersistenceLatency PersistenceErrShardExistsCounter PersistenceErrShardOwnershipLostCounter PersistenceErrConditionFailedCounter PersistenceErrTimeoutCounter NumCommonMetrics )
Common Metrics enum
const ( TransferTasksProcessedCounter = iota + NumCommonMetrics MultipleCompletionDecisionsCounter FailedDecisionsCounter CadenceErrEventAlreadyStartedCounter CadenceErrShardOwnershipLostCounter )
History Metrics enum
const ( // NoError indicates that there is no error (error should be nil) NoError = ErrorClass(iota) // UserError indicates that this is NOT an SLA-reportable error UserError // InternalError indicates that this is an SLA-reportable error InternalError )
const (
UnknownDirectoryTagValue = "Unknown"
)
This package should hold all the metrics and tags for cadence
Variables ¶
var GoRuntimeMetrics = map[MetricName]MetricType{ NumGoRoutinesGauge: Gauge, GoMaxProcsGauge: Gauge, MemoryAllocatedGauge: Gauge, MemoryHeapGauge: Gauge, MemoryHeapIdleGauge: Gauge, MemoryHeapInuseGauge: Gauge, MemoryStackGauge: Gauge, NumGCCounter: Counter, GcPauseMsTimer: Timer, }
GoRuntimeMetrics represent the runtime stats from go runtime
var MetricDefs = map[ServiceIdx]map[int]metricDefinition{ Common: { CadenceRequests: {/* contains filtered or unexported fields */}, CadenceFailures: {/* contains filtered or unexported fields */}, CadenceLatency: {/* contains filtered or unexported fields */}, CadenceErrBadRequestCounter: {/* contains filtered or unexported fields */}, CadenceErrEntityNotExistsCounter: {/* contains filtered or unexported fields */}, CadenceErrExecutionAlreadyStartedCounter: {/* contains filtered or unexported fields */}, CadenceErrDomainAlreadyExistsCounter: {/* contains filtered or unexported fields */}, PersistenceRequests: {/* contains filtered or unexported fields */}, PersistenceFailures: {/* contains filtered or unexported fields */}, PersistenceLatency: {/* contains filtered or unexported fields */}, PersistenceErrShardExistsCounter: {/* contains filtered or unexported fields */}, PersistenceErrShardOwnershipLostCounter: {/* contains filtered or unexported fields */}, PersistenceErrConditionFailedCounter: {/* contains filtered or unexported fields */}, PersistenceErrTimeoutCounter: {/* contains filtered or unexported fields */}, }, Frontend: {}, History: { TransferTasksProcessedCounter: {/* contains filtered or unexported fields */}, MultipleCompletionDecisionsCounter: {/* contains filtered or unexported fields */}, FailedDecisionsCounter: {/* contains filtered or unexported fields */}, CadenceErrShardOwnershipLostCounter: {/* contains filtered or unexported fields */}, CadenceErrEventAlreadyStartedCounter: {/* contains filtered or unexported fields */}, }, Matching: {}, }
MetricDefs record the metrics for all services
var ScopeDefs = map[ServiceIdx]map[int]scopeDefinition{ Common: { PersistenceCreateShardScope: {/* contains filtered or unexported fields */}, PersistenceGetShardScope: {/* contains filtered or unexported fields */}, PersistenceUpdateShardScope: {/* contains filtered or unexported fields */}, PersistenceCreateWorkflowExecutionScope: {/* contains filtered or unexported fields */}, PersistenceGetWorkflowExecutionScope: {/* contains filtered or unexported fields */}, PersistenceUpdateWorkflowExecutionScope: {/* contains filtered or unexported fields */}, PersistenceDeleteWorkflowExecutionScope: {/* contains filtered or unexported fields */}, PersistenceGetCurrentExecutionScope: {/* contains filtered or unexported fields */}, PersistenceGetTransferTasksScope: {/* contains filtered or unexported fields */}, PersistenceCompleteTransferTaskScope: {/* contains filtered or unexported fields */}, PersistenceGetTimerIndexTasksScope: {/* contains filtered or unexported fields */}, PersistenceCompleteTimerTaskScope: {/* contains filtered or unexported fields */}, PersistenceCreateTaskScope: {/* contains filtered or unexported fields */}, PersistenceGetTasksScope: {/* contains filtered or unexported fields */}, PersistenceCompleteTaskScope: {/* contains filtered or unexported fields */}, PersistenceLeaseTaskListScope: {/* contains filtered or unexported fields */}, PersistenceUpdateTaskListScope: {/* contains filtered or unexported fields */}, PersistenceAppendHistoryEventsScope: {/* contains filtered or unexported fields */}, PersistenceGetWorkflowExecutionHistoryScope: {/* contains filtered or unexported fields */}, PersistenceDeleteWorkflowExecutionHistoryScope: {/* contains filtered or unexported fields */}, PersistenceCreateDomainScope: {/* contains filtered or unexported fields */}, PersistenceGetDomainScope: {/* contains filtered or unexported fields */}, PersistenceUpdateDomainScope: {/* contains filtered or unexported fields */}, PersistenceDeleteDomainScope: {/* contains filtered or unexported fields */}, PersistenceDeleteDomainByNameScope: {/* contains filtered or unexported fields */}, HistoryClientStartWorkflowExecutionScope: {/* contains filtered or unexported fields */}, HistoryClientRecordActivityTaskHeartbeatScope: {/* contains filtered or unexported fields */}, HistoryClientRespondDecisionTaskCompletedScope: {/* contains filtered or unexported fields */}, HistoryClientRespondActivityTaskCompletedScope: {/* contains filtered or unexported fields */}, HistoryClientRespondActivityTaskFailedScope: {/* contains filtered or unexported fields */}, HistoryClientRespondActivityTaskCanceledScope: {/* contains filtered or unexported fields */}, HistoryClientGetWorkflowExecutionNextEventIDScope: {/* contains filtered or unexported fields */}, HistoryClientRecordDecisionTaskStartedScope: {/* contains filtered or unexported fields */}, HistoryClientRecordActivityTaskStartedScope: {/* contains filtered or unexported fields */}, HistoryClientRequestCancelWorkflowExecutionScope: {/* contains filtered or unexported fields */}, HistoryClientSignalWorkflowExecutionScope: {/* contains filtered or unexported fields */}, HistoryClientTerminateWorkflowExecutionScope: {/* contains filtered or unexported fields */}, HistoryClientScheduleDecisionTaskScope: {/* contains filtered or unexported fields */}, HistoryClientRecordChildExecutionCompletedScope: {/* contains filtered or unexported fields */}, MatchingClientPollForDecisionTaskScope: {/* contains filtered or unexported fields */}, MatchingClientPollForActivityTaskScope: {/* contains filtered or unexported fields */}, MatchingClientAddActivityTaskScope: {/* contains filtered or unexported fields */}, MatchingClientAddDecisionTaskScope: {/* contains filtered or unexported fields */}, }, Frontend: { StartWorkflowExecutionScope: {/* contains filtered or unexported fields */}, PollForDecisionTaskScope: {/* contains filtered or unexported fields */}, PollForActivityTaskScope: {/* contains filtered or unexported fields */}, RecordActivityTaskHeartbeatScope: {/* contains filtered or unexported fields */}, RespondDecisionTaskCompletedScope: {/* contains filtered or unexported fields */}, RespondActivityTaskCompletedScope: {/* contains filtered or unexported fields */}, RespondActivityTaskFailedScope: {/* contains filtered or unexported fields */}, GetWorkflowExecutionHistoryScope: {/* contains filtered or unexported fields */}, }, History: { HistoryStartWorkflowExecutionScope: {/* contains filtered or unexported fields */}, HistoryRecordActivityTaskHeartbeatScope: {/* contains filtered or unexported fields */}, HistoryRespondDecisionTaskCompletedScope: {/* contains filtered or unexported fields */}, HistoryRespondActivityTaskCompletedScope: {/* contains filtered or unexported fields */}, HistoryRespondActivityTaskFailedScope: {/* contains filtered or unexported fields */}, HistoryRespondActivityTaskCanceledScope: {/* contains filtered or unexported fields */}, HistoryGetWorkflowExecutionNextEventIDScope: {/* contains filtered or unexported fields */}, HistoryRecordDecisionTaskStartedScope: {/* contains filtered or unexported fields */}, HistoryRecordActivityTaskStartedScope: {/* contains filtered or unexported fields */}, HistorySignalWorkflowExecutionScope: {/* contains filtered or unexported fields */}, HistoryTerminateWorkflowExecutionScope: {/* contains filtered or unexported fields */}, HistoryScheduleDecisionTaskScope: {/* contains filtered or unexported fields */}, HistoryRecordChildExecutionCompletedScope: {/* contains filtered or unexported fields */}, HistoryProcessTransferTasksScope: {/* contains filtered or unexported fields */}, HistoryRequestCancelWorkflowExecutionScope: {/* contains filtered or unexported fields */}, HistoryMultipleCompletionDecisionsScope: {/* contains filtered or unexported fields */}, }, Matching: { MatchingPollForDecisionTaskScope: {/* contains filtered or unexported fields */}, MatchingPollForActivityTaskScope: {/* contains filtered or unexported fields */}, MatchingAddActivityTaskScope: {/* contains filtered or unexported fields */}, MatchingAddDecisionTaskScope: {/* contains filtered or unexported fields */}, }, }
ScopeDefs record the scopes for all services
var ServiceMetrics = map[MetricName]MetricType{ RestartCount: Counter, }
ServiceMetrics are types for common service base metrics
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client interface { // IncCounter increments a counter metric IncCounter(scope int, counter int) // AddCounter adds delta to the counter metric AddCounter(scope int, counter int, delta int64) // StartTimer starts a timer for the given // metric name. Time will be recorded when stopwatch is stopped. StartTimer(scope int, timer int) tally.Stopwatch // RecordTimer starts a timer for the given // metric name RecordTimer(scope int, timer int, d time.Duration) // UpdateGauge reports Gauge type metric UpdateGauge(scope int, gauge int, delta float64) // Tagged returns a client that adds the given tags to all metrics Tagged(tags map[string]string) Client }
Client is the interface used to report metrics tally.
type ClientImpl ¶
type ClientImpl struct {
// contains filtered or unexported fields
}
ClientImpl is used for reporting metrics by various Cadence services
func (*ClientImpl) AddCounter ¶
func (m *ClientImpl) AddCounter(scopeIdx int, counterIdx int, delta int64)
AddCounter adds delta to the counter and emits to the metrics backend
func (*ClientImpl) IncCounter ¶
func (m *ClientImpl) IncCounter(scopeIdx int, counterIdx int)
IncCounter increments one for a counter and emits to metrics backend
func (*ClientImpl) RecordTimer ¶
func (m *ClientImpl) RecordTimer(scopeIdx int, timerIdx int, d time.Duration)
RecordTimer record and emit a timer for the given metric name
func (*ClientImpl) StartTimer ¶
func (m *ClientImpl) StartTimer(scopeIdx int, timerIdx int) tally.Stopwatch
StartTimer starts a timer for the given metric name
func (*ClientImpl) Tagged ¶
func (m *ClientImpl) Tagged(tags map[string]string) Client
Tagged returns a client that adds the given tags to all metrics
func (*ClientImpl) UpdateGauge ¶
func (m *ClientImpl) UpdateGauge(scopeIdx int, gaugeIdx int, delta float64)
UpdateGauge reports Gauge type metric
type ErrorClass ¶
type ErrorClass uint8
ErrorClass is an enum to help with classifying SLA vs. non-SLA errors (SLA = "service level agreement")
type MetricType ¶
type MetricType int
MetricType is the type of the metric
const ( Counter MetricType = iota Timer Gauge )
MetricTypes which are supported
type RuntimeMetricsReporter ¶
type RuntimeMetricsReporter struct {
// contains filtered or unexported fields
}
RuntimeMetricsReporter A struct containing the state of the RuntimeMetricsReporter.
func NewRuntimeMetricsReporter ¶
func NewRuntimeMetricsReporter(scope tally.Scope, reportInterval time.Duration, logger bark.Logger) *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.