Documentation ¶
Index ¶
- Constants
- Variables
- func RegisterHandler(metricName, filterTag, filterTagVal string, handler HandlerFn)
- type Client
- type ClientImpl
- func (m *ClientImpl) AddCounter(scopeIdx int, metricIdx int, delta int64)
- func (m *ClientImpl) GetParentReporter() Reporter
- func (m *ClientImpl) IncCounter(scopeIdx int, metricIdx int)
- func (m *ClientImpl) RecordTimer(scopeIdx int, metricIdx int, d time.Duration)
- func (m *ClientImpl) StartTimer(scopeIdx int, metricIdx int) Stopwatch
- func (m *ClientImpl) UpdateGauge(scopeIdx int, metricIdx int, delta int64)
- type ErrorClass
- type HandlerFn
- type MetricName
- type MetricType
- type Reporter
- type RuntimeMetricsReporter
- type ServiceIdx
- type SimpleReporter
- func (r *SimpleReporter) GetChildReporter(tags map[string]string) Reporter
- func (r *SimpleReporter) GetTags() map[string]string
- func (r *SimpleReporter) IncCounter(name string, tags map[string]string, delta int64)
- func (r *SimpleReporter) InitMetrics(metricMap map[MetricName]MetricType)
- func (r *SimpleReporter) RecordTimer(name string, tags map[string]string, d time.Duration)
- func (r *SimpleReporter) StartTimer(name string, tags map[string]string) Stopwatch
- func (r *SimpleReporter) UpdateGauge(name string, tags map[string]string, value int64)
- type StatsdReporter
- func (r *StatsdReporter) GetChildReporter(tags map[string]string) Reporter
- func (r *StatsdReporter) GetTags() map[string]string
- func (r *StatsdReporter) IncCounter(name string, tags map[string]string, delta int64)
- func (r *StatsdReporter) InitMetrics(metricMap map[MetricName]MetricType)
- func (r *StatsdReporter) RecordTimer(name string, tags map[string]string, d time.Duration)
- func (r *StatsdReporter) StartTimer(name string, tags map[string]string) Stopwatch
- func (r *StatsdReporter) UpdateGauge(name string, tags map[string]string, value int64)
- type StatsdStopwatch
- type Stopwatch
- type TestReporter
- func (r *TestReporter) GetChildReporter(tags map[string]string) Reporter
- func (r *TestReporter) GetTags() map[string]string
- func (r *TestReporter) IncCounter(name string, tags map[string]string, delta int64)
- func (r *TestReporter) InitMetrics(metricMap map[MetricName]MetricType)
- func (r *TestReporter) RecordTimer(name string, tags map[string]string, d time.Duration)
- func (r *TestReporter) StartTimer(name string, tags map[string]string) Stopwatch
- func (r *TestReporter) UpdateGauge(name string, tags map[string]string, value int64)
Constants ¶
const ( Counter = iota Timer Gauge )
MetricTypes which are supported
const ( OperationTagName = "operation" DestinationTagName = "destination" ConsumerGroupTagName = "consumerGroup" HostnameTagName = "hostname" )
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 ( // MetadataListEntityOpsScope defines scope for an operation on metadata MetadataListEntityOpsScope = iota // MetadataHostAddrToUUIDScope defines scope for an operation on metadata MetadataHostAddrToUUIDScope // MetadataListAllConsumerGroupsScope defines scope for an operation on metadata MetadataListAllConsumerGroupsScope // MetadataListConsumerGroupsScope defines scope for an operation on metadata MetadataListConsumerGroupsScope // MetadataListDestinationsScope defines scope for an operation on metadata MetadataListDestinationsScope // MetadataListDestinationsByUUIDScope defines scope for an operation on metadata MetadataListDestinationsByUUIDScope // MetadataListDestinationExtentsScope defines the scope for an operation on metadata MetadataListDestinationExtentsScope // MetadataListExtentsStatsScope defines scope for an operation on metadata MetadataListExtentsStatsScope // MetadataListHostsScope defines scope for an operation on metadata MetadataListHostsScope // MetadataListInputHostExtentsStatsScope defines scope for an operation on metadata MetadataListInputHostExtentsStatsScope // MetadataListStoreExtentsStatsScope defines scope for an operation on metadata MetadataListStoreExtentsStatsScope // MetadataReadConsumerGroupScope defines scope for an operation on metadata MetadataReadConsumerGroupScope // MetadataReadConsumerGroupByUUIDScope defines scope for an operation on metadata MetadataReadConsumerGroupByUUIDScope // MetadataReadConsumerGroupExtentScope defines scope for an operation on metadata MetadataReadConsumerGroupExtentScope // MetadataReadConsumerGroupExtentsScope defines scope for an operation on metadata MetadataReadConsumerGroupExtentsScope // MetadataReadConsumerGroupExtentsLiteScope defines scope for an operation on metadata MetadataReadConsumerGroupExtentsLiteScope // MetadataReadConsumerGroupExtentsByExtUUIDScope defines scope for an operation on metadata MetadataReadConsumerGroupExtentsByExtUUIDScope // MetadataReadDestinationScope defines scope for an operation on metadata MetadataReadDestinationScope // MetadataReadExtentStatsScope defines scope for an operation on metadata MetadataReadExtentStatsScope // MetadataUUIDToHostAddrScope defines scope for an operation on metadata MetadataUUIDToHostAddrScope // MetadataUpdateServiceConfigScope defines scope for an operation on metadata MetadataUpdateServiceConfigScope // MetadataCreateConsumerGroupScope defines scope for an operation on metadata MetadataCreateConsumerGroupScope // MetadataCreateConsumerGroupUUIDScope defines scope for an operation on metadata MetadataCreateConsumerGroupUUIDScope // MetadataCreateConsumerGroupExtentScope defines scope for an operation on metadata MetadataCreateConsumerGroupExtentScope // MetadataCreateDestinationScope defines scope for an operation on metadata MetadataCreateDestinationScope // MetadataCreateDestinationUUIDScope defines scope for an operation on metadata MetadataCreateDestinationUUIDScope // MetadataCreateExtentScope defines scope for an operation on metadata MetadataCreateExtentScope // MetadataCreateHostInfoScope defines scope for an operation on metadata MetadataCreateHostInfoScope // MetadataCreateServiceConfigScope defines scope for an operation on metadata MetadataCreateServiceConfigScope // MetadataDeleteConsumerGroupScope defines scope for an operation on metadata MetadataDeleteConsumerGroupScope // MetadataDeleteConsumerGroupUUIDScope defines scope for an operation on metadata MetadataDeleteConsumerGroupUUIDScope // MetadataDeleteDestinationScope defines scope for an operation on metadata MetadataDeleteDestinationScope // MetadataDeleteDestinationUUIDScope defines scope for an operation on metadata MetadataDeleteDestinationUUIDScope // MetadataDeleteHostInfoScope defines scope for an operation on metadata MetadataDeleteHostInfoScope // MetadataDeleteServiceConfigScope defines scope for an operation on metadata MetadataDeleteServiceConfigScope // MetadataMoveExtentScope defines scope for an operation on metadata MetadataMoveExtentScope // MetadataReadHostInfoScope defines scope for an operation on metadata MetadataReadHostInfoScope // MetadataReadServiceConfigScope defines scope for an operation on metadata MetadataReadServiceConfigScope // MetadataReadStoreExtentReplicaStatsScope defines scope for an operation on metadata MetadataReadStoreExtentReplicaStatsScope // MetadataRegisterHostUUIDScope defines scope for an operation on metadata MetadataRegisterHostUUIDScope // MetadataSealExtentScope defines scope for an operation on metadata MetadataSealExtentScope // MetadataSetAckOffsetScope defines scope for an operation on metadata MetadataSetAckOffsetScope // MetadataSetOutputHostScope defines scope for an operation on metadata MetadataSetOutputHostScope // MetadataUpdateConsumerGroupScope defines scope for an operation on metadata MetadataUpdateConsumerGroupScope // MetadataUpdateConsumerGroupExtentStatusScope defines scope for an operation on metadata MetadataUpdateConsumerGroupExtentStatusScope // MetadataUpdateDestinationScope defines scope for an operation on metadata MetadataUpdateDestinationScope // MetadataUpdateDestinationDLQCursorsScope defines scope for an operation on metadata MetadataUpdateDestinationDLQCursorsScope // MetadataUpdateExtentReplicaStatsScope defines scope for an operation on metadata MetadataUpdateExtentReplicaStatsScope // MetadataUpdateExtentStatsScope defines scope for an operation on metadata MetadataUpdateExtentStatsScope // MetadataUpdateHostInfoScope defines scope for an operation on metadata MetadataUpdateHostInfoScope // MetadataUpdateStoreExtentReplicaStatsScope defines scope for an operation on metadata MetadataUpdateStoreExtentReplicaStatsScope // -- Operation scopes for ZoneFailoverManager (common) -- ZoneFailoverMgrScope // OpenPublisherStreamScope represents OpenPublisherStream API OpenPublisherStreamScope // DestinationsUpdatedScope represents DestinationsUpdated API DestinationsUpdatedScope // PubConnectionStreamScope represents Streaming Message received by inputhost PubConnectionStreamScope // PutMessageBatchInputHostScope represents PutMessageBatch API PutMessageBatchInputHostScope //PubConnectionScope represents Streaming Message received by inputhost PubConnectionScope //ReplicaConnectionScope represents inputhost's replica connection stream ReplicaConnectionScope //PutMessageBatchInputHostDestScope represent API PutMessageBatch for per destination PutMessageBatchInputHostDestScope // UnloadDestinationsScope represents UnloadDestinations API UnloadDestinationsScope // ListLoadedDestinationsScope represents ListLoadedDestinations API ListLoadedDestinationsScope // ReadDestStateScope represents ReadDestState API ReadDestStateScope // DrainExtentsScope represents DrainExtentsScope API DrainExtentsScope //OpenConsumerStreamScope represents OpenConsumerStream API OpenConsumerStreamScope //AckMessagesScope represents AckMessages API AckMessagesScope // ConsumerGroupsUpdatedScope represents ConsumerGroupsUpdated API ConsumerGroupsUpdatedScope // ConsConnectionStreamScope represents Streamming Message sent by outputhost ConsConnectionStreamScope // ReceiveMessageBatchOutputHostScope represents ReceiveMessageBatch API ReceiveMessageBatchOutputHostScope // UnloadConsumerGroupsScope represents UnloadConsumerGroups API UnloadConsumerGroupsScope // ConsConnectionScope represents Streamming Message sent by outputhost ConsConnectionScope // ReceiveMessageBatchOutputHostCGScope represents API ReceiveMessageBatch for per destination ReceiveMessageBatchOutputHostCGScope // GetInputHostsScope represents GetInputHost API GetInputHostsScope // GetOutputHostsScope represents GetOutputHost API GetOutputHostsScope // ReportNodeMetricScope represents ReportNodeMetric API ReportNodeMetricScope // ReportDestinationMetricScope represents ReportDestinationMetric API ReportDestinationMetricScope // ReportDestinationExtentMetricScope represents ReportDestinationMetric API ReportDestinationExtentMetricScope // ReportConsumerGroupMetricScope represents ReportConsumerGroupMetric API ReportConsumerGroupMetricScope // ReportConsumerGroupExtentMetricScope represents ReportConsumerGroupExtentMetric API ReportConsumerGroupExtentMetricScope // ReportStoreExtentMetricScope represents ReportStoreExtentMetric API ReportStoreExtentMetricScope // RefreshInputHostsForDstScope represents the internal // API for handling GetInputHosts RefreshInputHostsForDstScope // RefreshOutputHostsForConsGroupScope represents the internal // API for handling GetOutputHosts RefreshOutputHostsForConsGroupScope // EventPipelineScope represents the EventPipeline operation EventPipelineScope // ExtentsUnreachableScope represents ExtentsUnreachable API ExtentsUnreachableScope // ExtentCreatedEventScope represents ExtentCreatedEvent ExtentCreatedEventScope // ConsGroupUpdatedEventScope represents event handler ConsGroupUpdatedEventScope // ExtentDownEventScope represents event handler ExtentDownEventScope // InputNotifyEventScope represents event handler InputNotifyEventScope // OutputNotifyEventScope represents event handler OutputNotifyEventScope // InputFailedEventScope represents event handler InputFailedEventScope // StoreFailedEventScope represents event handler StoreFailedEventScope // RemoteExtentPrimaryStoreDownEventScope represents event handler RemoteExtentPrimaryStoreDownEventScope // StoreExtentStatusOutOfSyncEventScope represents an event handler StoreExtentStatusOutOfSyncEventScope // StartReplicationForRemoteZoneExtentScope represents event handler StartReplicationForRemoteZoneExtentScope // ExtentMonitorScope represents the extent monitor daemon ExtentMonitorScope // RetentionMgrScope represents the retention manager RetentionMgrScope // DLQOperationScope represents the dlqMonitor DLQOperationScope // ControllerCreateDestinationScope represents controller CreateDestination API ControllerCreateDestinationScope // ControllerUpdateDestinationScope represents controller UpdateDestination API ControllerUpdateDestinationScope // ControllerDeleteDestinationScope represents controller DeleteDestination API ControllerDeleteDestinationScope // ControllerCreateConsumerGroupScope represents controller CreateConsumerGroup API ControllerCreateConsumerGroupScope // ControllerUpdateConsumerGroupScope represents controller UpdateConsumerGroup API ControllerUpdateConsumerGroupScope // ControllerDeleteConsumerGroupScope represents controller DeleteConsumerGroup API ControllerDeleteConsumerGroupScope // ControllerCreateRemoteZoneExtentScope represents controller CreateRemoteZoneExtent API ControllerCreateRemoteZoneExtentScope // ControllerCreateRemoteZoneCgExtentScope represents controller CreateRemoteZoneConsumerGroupExtent API ControllerCreateRemoteZoneCgExtentScope // QueueDepthBacklogCGScope represents metrics within queuedepth per consumer group QueueDepthBacklogCGScope // CreateDestinationScope represents CreateDestination API in frontend CreateDestinationScope // ReadDestinationScope represents ReadDestination API in frontend ReadDestinationScope // UpdateDestinationScope represents UpdateDestination API in frontend UpdateDestinationScope // DeleteDestinationScope represents DeleteDestination API in frontend DeleteDestinationScope // ListDestinationsScope ListDestinations API in frontend ListDestinationsScope // CreateConsumerGroupScope represents CreateConsumerGroup API in frontend CreateConsumerGroupScope // ReadConsumerGroupScope represents ReadConsumerGroup API in frontend ReadConsumerGroupScope // UpdateConsumerGroupScope represents UpdateConsumerGroup API in frontend UpdateConsumerGroupScope // DeleteConsumerGroupScope represents DeleteConsumerGroup API in frontend DeleteConsumerGroupScope // ListConsumerGroupsScope represents ListConsumerGroups API in frontend ListConsumerGroupsScope // ReadDestinationHostsScope represents ReadDestinationHosts API in frontend ReadDestinationHostsScope // ReadConsumerGroupHostsScope represents ReadConsumerGroupHosts API in frontend ReadConsumerGroupHostsScope // PutMessageBatchScope represents PutMessageBatch API in frontend PutMessageBatchScope // ReceiveMessageBatchScope represents ReseiveMessageBatch API in frontend ReceiveMessageBatchScope // CompleteMessageBatchScope represents CompleteMessageBatch API in frontend CompleteMessageBatchScope // PurgeDLQForConsumerGroupScope represents PurgeDLQForConsumerGroup API in frontend PurgeDLQForConsumerGroupScope // MergeDLQForConsumerGroupScope represents MergeDLQForConsumerGroup API in frontend MergeDLQForConsumerGroupScope // GetQueueDepthInfoScope GetQueueDepthInfoScope // OpenAppendStreamScope represents OpenAppendStream API OpenAppendStreamScope // OpenReadStreamScope represents OpenReadStream API OpenReadStreamScope // GetAddressFromTimestampScope represents StGetAddressFromTimestamp API GetAddressFromTimestampScope // GetExtentInfoScope represents GetExtentInfo API GetExtentInfoScope // SealExtentScope represents SealExtent API SealExtentScope // PurgeMessagesScope represents PurgeMessagesScope API PurgeMessagesScope // InConnScope represents related metrics for inConn in storage InConnScope // OutConnScope represents related metrics for OutConn in storage OutConnScope // ExtentManagerScope represents related metrics for ExtentManager in storage ExtentManagerScope // SystemResourceScope represenets related metrics for system resource in storage SystemResourceScope // ReplicateExtentScope represents related metrics for ReplicateExtent API ReplicateExtentScope // ListExtentsScope represents metrics for ListExtents API ListExtentsScope // OpenReplicationRemoteReadScope represents OpenReplicationRemoteRead API OpenReplicationRemoteReadScope // OpenReplicationReadScope represents OpenReplicationRead API OpenReplicationReadScope // OpenReplicationRemoteReadPerDestScope represents OpenReplicationRemoteRead API (per destination) OpenReplicationRemoteReadPerDestScope // OpenReplicationReadPerDestScope represents OpenReplicationRead API (per destination) OpenReplicationReadPerDestScope // ReplicatorCreateDestUUIDScope represents replicator CreateDestinationUUID API ReplicatorCreateDestUUIDScope // ReplicatorCreateRmtDestUUIDScope represents replicator CreateRemoteDestinationUUID API ReplicatorCreateRmtDestUUIDScope // ReplicatorUpdateDestScope represents replicator UpdateDestination API ReplicatorUpdateDestScope // ReplicatorUpdateRmtDestScope represents replicator UpdateRemoteDestination API ReplicatorUpdateRmtDestScope // ReplicatorDeleteDestScope represents replicator DeleteDestination API ReplicatorDeleteDestScope // ReplicatorDeleteRmtDestScope represents replicator DeleteRemoteDestination API ReplicatorDeleteRmtDestScope // ReplicatorCreateCgUUIDScope represents replicator CreateConsumerGroupUUID API ReplicatorCreateCgUUIDScope // ReplicatorCreateRmtCgUUIDScope represents replicator CreateRemoteConsumerGroupUUID API ReplicatorCreateRmtCgUUIDScope // ReplicatorUpdateCgScope represents replicator UpdateConsumerGroup API ReplicatorUpdateCgScope // ReplicatorUpdateRmtCgScope represents replicator UpdateRemoteConsumerGroup API ReplicatorUpdateRmtCgScope // ReplicatorDeleteCgScope represents replicator DeleteConsumerGroup API ReplicatorDeleteCgScope // ReplicatorDeleteRmtCgScope represents replicator DeleteRemoteConsumerGroup API ReplicatorDeleteRmtCgScope // ReplicatorCreateExtentScope represents replicator CreateExtent API ReplicatorCreateExtentScope // ReplicatorCreateRmtExtentScope represents replicator CreateRemoteExtent API ReplicatorCreateRmtExtentScope // ReplicatorCreateCgExtentScope represents replicator CreateConsumerGroupExtent API ReplicatorCreateCgExtentScope // ReplicatorCreateRmtCgExtentScope represents replicator CreateRemoteConsumerGroupExtent API ReplicatorCreateRmtCgExtentScope // ReplicatorSetAckOffsetScope represents replicator SetAckOffset API ReplicatorSetAckOffsetScope // ReplicatorSetAckOffsetInRemoteScope represents replicator SetAckOffsetInRemote API ReplicatorSetAckOffsetInRemoteScope // ReplicatorReadDestinationInRemoteZoneScope represents replicator ReadDestinationInRemoteZone API ReplicatorReadDestinationInRemoteZoneScope // ReplicatorReadCgInRemoteZoneScope represents replicator ReadConsumerGroupInRemoteZone API ReplicatorReadCgInRemoteZoneScope // ReplicatorHostUpdaterScope represents the host updater scope ReplicatorHostUpdaterScope // ReplicatorReconcileScope represents replicator's reconcile process ReplicatorReconcileScope )
Scope enum
const ( // MetadataRequests is the count of requests to metadata MetadataRequests = iota // MetadataFailures is the count of requests to metadata that have failed MetadataFailures // MetadataLatency is the latency of requests to metadata MetadataLatency // ZoneFailoverMgrRunSuccess indicates a success run ZoneFailoverMgrRunSuccess // ZoneFailoverMgrRunFailToDetectActiveZone indicates failure to detect active zone ZoneFailoverMgrRunFailToDetectActiveZone // ZoneFailoverMgrRunFailToWriteMetadata indicates failure to write metadata ZoneFailoverMgrRunFailToWriteMetadata // ZoneFailoverMgrRunFailToWriteMetadata indicates a failed run ZoneFailoverMgrRunFailure // InputhostRequests indicates the request count for inputhost InputhostRequests // InputhostFailures indicates failure count for inputhost InputhostFailures // InputhostMessageReceived records the count of messages received InputhostMessageReceived // InputhostMessageFailures records the count of messages received failures InputhostMessageFailures //InputhostReconfClientRequests indicates the request count for reconfige clients InputhostReconfClientRequests //InputhostMessageLimitThrottled indicates the request has been throttled due to our rate limit InputhostMessageLimitThrottled //InputhostMessageChannelFullThrottled indicates the request has been throttled due to the channel being full InputhostMessageChannelFullThrottled // InputhostUserFailures indicates this is a user failure (~HTTP 4xx) InputhostUserFailures // InputhostInternalFailures indicates this is an internal failure (HTTP 5xx) InputhostInternalFailures // InputhostMessageUserFailures records the count of messages received failures InputhostMessageUserFailures // InputhostMessageInternalFailures records the count of messages received failures InputhostMessageInternalFailures // InputhostGauges is the gauges for inputhost InputhostGauges // InputhostPubConnection is the gauges for active pubconnection InputhostPubConnection // InputhostLatencyTimer represents time taken by an operation InputhostLatencyTimer // InputhostWriteMessageLatency is the latency from receiving a message from stream to returning ack back to stream InputhostWriteMessageLatency // InputhostWriteMessageBeforeAckLatency is the latency from receiving a message from stream to getting ack from replicas // the only difference with InputhostWriteMessageLatency is this metrics excludes the latency for writing ack back to the stream InputhostWriteMessageBeforeAckLatency // InputhostDestMessageReceived indicates prefix name for destinations request counter // append the destination path will be the actual name for the counter. // each destination has a unique name tag InputhostDestMessageReceived // InputhostDestMessageFailures indicates prefix nmae of destinations failure counter // append the destination path will be the actual name for the counter. // each destination has a unique name tag InputhostDestMessageFailures // InputhostDestMessageLimitThrottled is used to indicate that this particular destination // is throttled due to token bucket rate limit InputhostDestMessageLimitThrottled // InputhostDestMessageChannelFullThrottled is used to indicate that this particular destination // is throttled due to the channel being full InputhostDestMessageChannelFullThrottled // InputhostDestMessageUserFailures indicates prefix nmae of destinations failure counter // append the destination path will be the actual name for the counter. // each destination has a unique name tag InputhostDestMessageUserFailures // InputhostDestMessageInternalFailures indicates prefix nmae of destinations failure counter // append the destination path will be the actual name for the counter. // each destination has a unique name tag InputhostDestMessageInternalFailures // InputhostDestWriteMessageLatency is the latency from receiving a message from stream to returning ack back to stream InputhostDestWriteMessageLatency // InputhostDestWriteMessageBeforeAckLatency is the latency from receiving a message from stream to getting ack from replicas // the only difference with InputhostDestWriteMessageLatency is this metrics excludes the latency for returning ack back to the stream InputhostDestWriteMessageBeforeAckLatency // InputhostDestPubConnection is the gauge of active connections per destination InputhostDestPubConnection // InputhostMessageReceivedBytes tracks the total incoming messages in bytes InputhostDestMessageReceivedBytes // InputhostMessageSentBytes tracks the total outgoing messages (to replica) in bytes InputhostDestMessageSentBytes // OutputhostRequests indicates the request count for outputhost OutputhostRequests // OutputhostFailures indicates failure count for outputhost OutputhostFailures // OutputhostLongPollingTimeOut indicates time out for long polling OutputhostLongPollingTimeOut // OutputhostReceiveMsgBatchWriteToMsgCacheTimeout indicates time out for ReceiveMsgBatch to write to msg cache OutputhostReceiveMsgBatchWriteToMsgCacheTimeout // OutputhostMessageSent records the count of messages sent OutputhostMessageSent // OutputhostMessageFailures records the count of messages sent failures OutputhostMessageFailures // OutputhostCreditsReceived indicates the count of the credits OutputhostCreditsReceived // OutputhostDLQMessageRequests records the count of DLQ messages requests OutputhostDLQMessageRequests // OutputhostDLQMessageFailures records the count of DLQ messages sent failures OutputhostDLQMessageFailures // OutputhostMessageRedelivered records the count of messages redeliverd OutputhostMessageRedelivered // OutputhostMessageSentAck records the count of ack messages OutputhostMessageSentAck // OutputhostMessageSentNAck records the count of nack messages OutputhostMessageSentNAck //OutputhostMessageAckFailures recores the count of messages ack failures OutputhostMessageAckFailures //OutputhostMessageNackFailures recores the count of messages nack failures OutputhostMessageNackFailures // OutputhostMessageNoAckManager records the count of acks which came where there was no Ack Manager OutputhostMessageNoAckManager // OutputhostMessageDiffSession records the count of acks which came for a different session OutputhostMessageDiffSession // OutputhostMessageAckManagerError records the count of errors from the ack manager OutputhostMessageAckManagerError // OutputhostUserFailures indicates this is a user failure (~HTTP 4xx) OutputhostUserFailures // OutputhostInternalFailures indicates this is an internal failure (HTTP 5xx) OutputhostInternalFailures // OutputhostConsConnection is the number of active connections OutputhostConsConnection // OutputhostCreditsAccumulated is a gauge to record credits that are accumulated locally OutputhostCreditsAccumulated // OutputhostLatencyTimer represents time taken by an operation OutputhostLatencyTimer // OutputhostCGMessageSent records the count of messages sent per consumer group OutputhostCGMessageSent // OutputhostCGMessageSentBytes records the total size of messages sent per consumer-group OutputhostCGMessageSentBytes // OutputhostCGMessageReceivedBytes records the total size of message received from replica per CG OutputhostCGMessageReceivedBytes // OutputhostCGMessageFailures records the count of messages sent failures per consumer group OutputhostCGMessageFailures // OutputhostCGCreditsReceived indicates the count of the credits per consumer group OutputhostCGCreditsReceived // OutputhostCGDLQMessageRequests records the count of DLQ messages requests per consumer group OutputhostCGDLQMessageRequests // OutputhostCGDLQMessageFailures records the count of DLQ messages sent failures per consumer group OutputhostCGDLQMessageFailures // OutputhostCGMessageRedelivered records the count of messages redelivered OutputhostCGMessageRedelivered // OutputhostCGMessageSentAck records the count of ack messages OutputhostCGMessageSentAck // OutputhostCGMessageSentNAck records the count of nack messages OutputhostCGMessageSentNAck // OutputhostCGMessageTimeout records the count of timeout messages OutputhostCGMessageTimeout // OutputhostCGMessagesThrottled records the count of messages throttled OutputhostCGMessagesThrottled // OutputhostCGAckMgrSeqNotFound is the gauge to track acks whose seq number is not found OutputhostCGAckMgrSeqNotFound // OutputhostCGReplicaReconnect is a counter that tracks replica reconnections OutputhostCGReplicaReconnect // OutputhostCGMessageSentLatency is the latency to send a message OutputhostCGMessageSentLatency //OutputhostCGMessageCacheSize is the cashe size of consumer group message OutputhostCGMessageCacheSize // OutputhostCGConsConnection is the number of active connections per consumer group OutputhostCGConsConnection // OutputhostCGOutstandingDeliveries is the number of outstanding messages for a single consumer group OutputhostCGOutstandingDeliveries // OutputhostCGHealthState is the most recent health state for the consumer group OutputhostCGHealthState // OutputhostCGNumExtents is the number of active extents for this CG OutputhostCGNumExtents // OutputhostCGAckMgrSize is a gauge for the size of the ack manager OutputhostCGAckMgrSize // OutputhostCGAckMgrLevelUpdate is a gauge to track the last time ack level moved OutputhostCGAckMgrLevelUpdate // OutputhostCGAckMgrConsumed is a gauge for the extents marked as consumed OutputhostCGAckMgrConsumed // OutputhostCGAckMgrResetMsg is the gauge to track the resets to the ackMgrMap OutputhostCGAckMgrResetMsg // OutputhostCGAckMgrResetMsgError is the gauge to track errors on reset to the ackMgrMap OutputhostCGAckMgrResetMsgError // OutputhostCGSkippedMessages is the gauge to track skipped messages OutputhostCGSkippedMessages // OutputhostCGCreditsAccumulated is a gauge to record credits that are accumulated locally per consumer group OutputhostCGCreditsAccumulated // OutputhostCGKafkaIncomingBytes corresponds to Kafka's (sarama's) incoming-byte-rate metric OutputhostCGKafkaIncomingBytes // OutputhostCGKafkaOutgoingBytes corresponds to Kafka's (sarama's) outgoing-byte-rate metric OutputhostCGKafkaOutgoingBytes // OutputhostCGKafkaRequestSent corresponds to Kafka's (sarama's) request-rate metric OutputhostCGKafkaRequestSent // OutputhostCGKafkaRequestSize corresponds to Kafka's (sarama's) request-size metric OutputhostCGKafkaRequestSize // OutputhostCGKafkaRequestLatency corresponds to Kafka's (sarama's) request-latency metric OutputhostCGKafkaRequestLatency // OutputhostCGKafkaResponseReceived corresponds to Kafka's (sarama's) response-rate metric OutputhostCGKafkaResponseReceived // OutputhostCGKafkaResponseSize corresponds to Kafka's (sarama's) response-size metric OutputhostCGKafkaResponseSize // FrontendRequests indicates the request count for frontend FrontendRequests // FrontendFailures indicates failure count for frontend FrontendFailures // FrontendEntityNotExist indicates entityNotExist Error for frontend FrontendEntityNotExist // FrontendUserFailures indicates this is a user failure (~HTTP 4xx) FrontendUserFailures // FrontendInternalFailures indicates this is an internal failure (HTTP 5xx) FrontendInternalFailures // FrontendLatencyTimer represents time taken by an operation FrontendLatencyTimer // StorageRequests is the count of requests StorageRequests // StorageFailures is the count of requests that have failed StorageFailures // StorageStoreFailures is the count of requests that have failed due to storage errors StorageStoreFailures // StorageMessageReceived records the count of messages received StorageMessageReceived // StorageMessageSent records the count of messages sent StorageMessageSent // WatermarksReceived records the count of fully replicated watermarks received WatermarksReceived // StorageOpenExtents is the number of active extents StorageOpenExtents // StorageWriteStreams is the number of active write streams StorageWriteStreams // StorageReadStreams is the number of active read streams StorageReadStreams // StorageInMsgChanDepth is the depth of the msg-chan buffer during writes StorageInMsgChanDepth // StorageInAckChanDepth is the depth of the ack-chan buffer during writes StorageInAckChanDepth // StorageOutMsgChanDepth is the depth of the msg-chan buffer during reads StorageOutMsgChanDepth // StorageDiskAvailableSpaceMB is the available disk space in MB StorageDiskAvailableSpaceMB // StorageDiskAvailableSpacePcnt is the available disk space percentage StorageDiskAvailableSpacePcnt // StorageLatencyTimer is the latency for every (non-streaming) request StorageLatencyTimer // StorageWriteStoreLatency is the latency to write message to store StorageWriteStoreLatency // StorageWriteMessageLatency is the latency from receiving a message from stream(input) to returning ack back to stream StorageWriteMessageLatency // StorageWriteMessageBeforeAckLatency is the latency from receiving a message from stream(input) to getting ack from store // the only difference with StorageWriteMessageLatency is this metrics excludes the latency for returning ack back to the stream StorageWriteMessageBeforeAckLatency // StorageReadStoreLatency is the latency to read message from store StorageReadStoreLatency // StorageReadMessageLatency is the latency to read and send out a message StorageReadMessageLatency // StorageInWriteTChannelLatency is the latency to write ack to tchannel in stream StorageInWriteTChannelLatency // StorageInFlushTChannelLatency is the latency to flush ack to tchannel in stream StorageInFlushTChannelLatency // StorageOutWriteTChannelLatency is the latench to write msg to tchannel out stream StorageOutWriteTChannelLatency // StorageOutFlushTChannelLatency is the latency to flush msg to tchannel out stream StorageOutFlushTChannelLatency // StorageReplicationJobMaxConsecutiveFailures is the max number of consecutive failures for any replication job StorageReplicationJobMaxConsecutiveFailures // StorageReplicationJobCurrentFailures is the number of failed job in current run StorageReplicationJobCurrentFailures // StorageReplicationJobCurrentSuccess is the number of success job in current run StorageReplicationJobCurrentSuccess // StorageReplicationJobRun indicates the replication job runs StorageReplicationJobRun // ControllerErrMetadataReadCounter indicates an error from metadata ControllerErrMetadataReadCounter // ControllerErrMetadataUpdateCounter indicates failure to update metadata ControllerErrMetadataUpdateCounter // ControllerErrMetadataEntityNotFoundCounter indicates non-existent entity ControllerErrMetadataEntityNotFoundCounter // ControllerErrTryLockCounter indicates failure to acquire try lock ControllerErrTryLockCounter // ControllerErrCreateExtentCounter indicates failure to create extent ControllerErrCreateExtentCounter // ControllerErrPickInHostCounter indicates failure to pick input host for extent ControllerErrPickInHostCounter // ControllerErrPickOutHostCounter indicates failure to pick output host for extent ControllerErrPickOutHostCounter // ControllerErrCallReplicatorCounter indicates failure to call replicator ControllerErrCallReplicatorCounter // ControllerErrPickStoreHostCounter indicates failure to pick store host for extent ControllerErrPickStoreHostCounter // ControllerErrResolveUUIDCounter indicates failure to resolve UUID to ip:port ControllerErrResolveUUIDCounter // ControllerErrCreateTChanClientCounter indicates failure to create tchannel client ControllerErrCreateTChanClientCounter // ControllerErrNoHealthyStoreCounter indicates unavailability of store hosts ControllerErrNoHealthyStoreCounter // ControllerErrSealFailed indicates failure of seal operation ControllerErrSealFailed // ControllerErrTooManyOpenCGExtents indicates too many open extents for some CG ControllerErrTooManyOpenCGExtents // ControllerErrNoRetryWorkers indicates that an event cannot be retried // because all of the retry workers are busy ControllerErrNoRetryWorkers // ControllerErrBadRequestCounter indicates a malformed request ControllerErrBadRequestCounter // ControllerErrBadEntityCounter indicates either an entity not exists or disabled error ControllerErrBadEntityCounter // ControllerErrDrainFailed indicates that a drain command issued to input failed ControllerErrDrainFailed // ControllerEventsDropped indicates an event drop due to queue full ControllerEventsDropped // ControllerRequests indicates the request count ControllerRequests // ControllerFailures indicates failure count ControllerFailures // ControllerRetries represents retry attempts on an operation ControllerRetries // ControllerRetriesExceeded indicates max retries being exceeded on an operation ControllerRetriesExceeded //ControllerRateLimited indicates count of the times that throttle kicked in ControllerRateLimited // ControllerRetentionJobStartCounter indicates the started retention job count ControllerRetentionJobStartCounter // ControllerRetentionJobFailedCounter indicates the failed retention job count ControllerRetentionJobFailedCounter // ControllerRetentionJobCompletedCounter indicates the completed retention job count ControllerRetentionJobCompletedCounter // ControllerRetentionJobCancelledCounter indicates the cancelled retention job count ControllerRetentionJobCancelledCounter // ControllerGetAddressFailedCounter indicates the failed getAddress calls ControllerGetAddressFailedCounter // ControllerGetAddressCompletedCounter indicates the completed getAddress calls ControllerGetAddressCompletedCounter // ControllerPurgeMessagesRequestCounter indicates the purge messages request count ControllerPurgeMessagesRequestCounter // ControllerLatencyTimer represents time taken by an operation ControllerLatencyTimer // ControllerRetentionJobDuration is the time spent to finish retention on an extent ControllerRetentionJobDuration // ControllerGetAddressLatency is the latency of getAddressFromTS ControllerGetAddressLatency // ControllerPurgeMessagesLatency is the letency of purge messages request ControllerPurgeMessagesLatency // ControllerCGBacklogAvailable is the numbers for availbale back log ControllerCGBacklogAvailable ControllerCGBacklogUnavailable // ControllerCGBacklogInflight is the numbers for inflight back log ControllerCGBacklogInflight // ControllerCGBacklogDLQ is the numbers for DLQ back log ControllerCGBacklogDLQ // ControllerCGBacklogProgress is an indication of progress made on the backlog ControllerCGBacklogProgress // ControllerNumOpenExtents represents the count of open extents ControllerNumOpenExtents // ControllerNumSealedExtents represents the count of sealed extents ControllerNumSealedExtents // ControllerNumConsumedExtents represents the count of consumed extents ControllerNumConsumedExtents // ControllerNumOpenDLQExtents represents the count of open dlq extents ControllerNumOpenDLQExtents // ControllerNumSealedDLQExtents represents the count of sealed dlq extents ControllerNumSealedDLQExtents // ControllerNumConsumedDLQExtents represents the count of consumed dlq extents ControllerNumConsumedDLQExtents // ControllerNumOpenCGExtents represents the count of open cg extents ControllerNumOpenCGExtents // ControllerNumConsumedCGExtents represents the count of consumed cg extents ControllerNumConsumedCGExtents // ControllerNoActiveZone indicates there's no active zone from dynamic config ControllerNoActiveZone // ReplicatorCreateInStreamFailure indicates failure when creating in stream ReplicatorCreateInStreamFailure // ReplicatorCreateOutStreamFailure indicates failure when creating out stream ReplicatorCreateOutStreamFailure // ReplicatorRequests indicates non-messaging request count for replicator ReplicatorRequests // ReplicatorFailures indicates non-messaging failure count for replicator ReplicatorFailures // ReplicatorBadRequest indicates bad request ReplicatorBadRequest // ReplicatorInConnCreditsReceived indicates how many credits InConn received ReplicatorInConnCreditsReceived // ReplicatorInConnMsgWritten indicates how many messages InConn writes to client ReplicatorInConnMsgWritten // ReplicatorInConnPerDestMsgWritten indicates how many messages InConn writes to client per destination ReplicatorInConnPerDestMsgWritten // ReplicatorInConnPerDestMsgLatency indicates the per destination replication latency ReplicatorInConnPerDestMsgLatency // ReplicatorOutConnCreditsSent indicates how many credits OutConn sent ReplicatorOutConnCreditsSent // ReplicatorOutConnMsgRead indicates how many messages OutConn read ReplicatorOutConnMsgRead // ReplicatorReconcileDestRun indicates the reconcile fails ReplicatorReconcileFail // ReplicatorReconcileDestRun indicates the reconcile for dest runs ReplicatorReconcileDestRun // ReplicatorReconcileDestFail indicates the reconcile for dest fails ReplicatorReconcileDestFail // ReplicatorReconcileDestFoundMissing indicates the reconcile for dest found a missing dest ReplicatorReconcileDestFoundMissing // ReplicatorReconcileCgRun indicates the reconcile for cg runs ReplicatorReconcileCgRun // ReplicatorReconcileCgFail indicates the reconcile for cg fails ReplicatorReconcileCgFail // ReplicatorReconcileCgFoundMissing indicates the reconcile for cg found a missing cg ReplicatorReconcileCgFoundMissing // ReplicatorReconcileCgFoundUpdated indicates the reconcile for cg found a updated cg ReplicatorReconcileCgFoundUpdated // ReplicatorReconcileDestExtentRun indicates the reconcile for dest extent runs ReplicatorReconcileDestExtentRun // ReplicatorReconcileDestExtentFail indicates the reconcile for dest extent fails ReplicatorReconcileDestExtentFail // ReplicatorReconcileDestExtentFoundMissing indicates the reconcile for dest extent found a missing dest extent ReplicatorReconcileDestExtentFoundMissing // ReplicatorReconcileDestExtentRemoteConsumedLocalMissing indicates the reconcile for dest extent found a dest extent that is consumed on remote side and local is missing ReplicatorReconcileDestExtentRemoteConsumedLocalMissing // ReplicatorReconcileDestExtentRemoteDeleted indicates the reconcile for dest extent found a dest extent that is deleted on remote side and local is missing ReplicatorReconcileDestExtentRemoteDeletedLocalMissing // ReplicatorReconcileDestExtentRemoteDeletedLocalNot indicates the reconcile for dest extent found an inconsistent extent status(remote is deleted, local is not) ReplicatorReconcileDestExtentRemoteDeletedLocalNot // ReplicatorReconcileDestExtentSuspectMissingExtents indicates the length of the suspect missing extent list ReplicatorReconcileDestExtentSuspectMissingExtents // ReplicatorReconcileCgExtentRun indicates the reconcile for cg extent runs ReplicatorReconcileCgExtentRun // ReplicatorReconcileCgExtentFail indicates the reconcile for cg extent fails ReplicatorReconcileCgExtentFail // ReplicatorReconcileCgExtentFoundMissing indicates the reconcile for cg extent found a missing cg extent ReplicatorReconcileCgExtentFoundMissing // ReplicatorReconcileCgExtentRemoteConsumedLocalMissing indicates the reconcile for cg extent found a cg extent that is consumed on remote side and local is missing ReplicatorReconcileCgExtentRemoteConsumedLocalMissing // ReplicatorReconcileCgExtentRemoteDeletedLocalMissing indicates the reconcile for cg extent found a cg extent that is deleted on remote side and local is missing ReplicatorReconcileCgExtentRemoteDeletedLocalMissing // ReplicatorInvalidHostUpdates indicates an invalid update received for hosts update ReplicatorInvalidHostsUpdate // ReplicatorHostUpdated indicates a success hosts update ReplicatorHostUpdated )
Metric enum
const (
UnknownDirectoryTagValue = "Unknown"
)
This package should hold all the metrics and tags for cherami
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 ServiceMetrics = map[MetricName]MetricType{ RestartCount: Counter, }
ServiceMetrics are types for common service base metrics
Functions ¶
func RegisterHandler ¶ added in v0.2.0
RegisterHandler registers a handler (closure) that receives updates for a particular guage or counter based on the metric name and the name/value of one of the metric's tags. If the filterTag/Val are both empty, all updates to that metric will trigger the handler. If metricName is empty, all metrics matching the tag filter will pass through your function. A nil handler unregisters the handler for the given filter parameters
Dev notes: * It is advisible to defer a call to unregister your handler when your test ends * Your handler can be called concurrently. Capture your own sync.Mutex if you must serialize * Counters report the delta; you must maintain the cumulative value of your counter if it is important * Your handler executes synchronously with the metrics code; DO NOT BLOCK
Types ¶
type Client ¶
type Client interface { // IncCounter increments a counter and emits // to m3 backend IncCounter(scope int, counter int) // AddCounter adds delta to the counter and // emits to the m3 backend AddCounter(scope int, counter int, delta int64) // StartTimer starts a timer for the given // metric name StartTimer(scope int, timer int) Stopwatch // RecordTimer starts a timer for the given // metric name RecordTimer(scope int, timer int, d time.Duration) // UpdateGauge reports Gauge type metric to M3 UpdateGauge(scope int, gauge int, delta int64) // GetParentReporter return the parentReporter GetParentReporter() Reporter }
Client is the interface used to report metrics to m3 backend.
func NewClient ¶
func NewClient(reporter Reporter, serviceIdx ServiceIdx) Client
NewClient creates and returns a new instance of Client implementation reporter holds the common tags for the servcie serviceIdx indicates the service type in (InputhostIndex, ... StorageIndex)
func NewClientWithTags ¶
func NewClientWithTags(m3Client Client, serviceIdx ServiceIdx, tags map[string]string) Client
NewClientWithTags creates and returens a new metrics.Client, with the new tags added to scope Use get client only for per destination or per consumer group right now. For other metrics, use NewClient.
type ClientImpl ¶
type ClientImpl struct {
// contains filtered or unexported fields
}
ClientImpl is for m3 emits within inputhost
func (*ClientImpl) AddCounter ¶
func (m *ClientImpl) AddCounter(scopeIdx int, metricIdx int, delta int64)
AddCounter adds delta to the counter and emits to the m3 backend
func (*ClientImpl) GetParentReporter ¶
func (m *ClientImpl) GetParentReporter() Reporter
GetParentReporter return the parentReporter
func (*ClientImpl) IncCounter ¶
func (m *ClientImpl) IncCounter(scopeIdx int, metricIdx int)
IncCounter increments one for a counter and emits to m3 backend
func (*ClientImpl) RecordTimer ¶
func (m *ClientImpl) RecordTimer(scopeIdx int, metricIdx int, d time.Duration)
RecordTimer record and emit a timer for the given metric name
func (*ClientImpl) StartTimer ¶
func (m *ClientImpl) StartTimer(scopeIdx int, metricIdx int) Stopwatch
StartTimer starts a timer for the given metric name
func (*ClientImpl) UpdateGauge ¶
func (m *ClientImpl) UpdateGauge(scopeIdx int, metricIdx int, delta int64)
UpdateGauge reports Gauge type metric to M3
type ErrorClass ¶
type ErrorClass uint8
ErrorClass is an enum to help with classifying SLA vs. non-SLA errors (SLA = "service level agreement")
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 )
type HandlerFn ¶ added in v0.2.0
HandlerFn is the handler function prototype for the test reporter; your provided functions must match this type.
type Reporter ¶
type Reporter interface { // InitMetrics is used to initialize the metrics map // with the respective type InitMetrics(metricMap map[MetricName]MetricType) // GetChildReporter is used to get a child reporter from the parent // this also makes sure we have all the tags from the parent in // addition to the tags supplied here GetChildReporter(tags map[string]string) Reporter // GetTags gets the tags for this reporter object GetTags() map[string]string // IncCounter should be used for Counter style metrics IncCounter(name string, tags map[string]string, delta int64) // UpdateGauge should be used for Gauge style metrics UpdateGauge(name string, tags map[string]string, value int64) // StartTimer should be used for measuring latency. // this returns a Stopwatch which can be used to stop the timer StartTimer(name string, tags map[string]string) Stopwatch // RecordTimer should be used for measuring latency when you cannot start the stop watch. RecordTimer(name string, tags map[string]string, d time.Duration) }
Reporter is the the interface used to report stats.
func NewSimpleReporter ¶
NewSimpleReporter create an instance of Reporter which can be used for driver to emit metric to console
func NewStatsdReporter ¶
func NewStatsdReporter(HostPort string, Prefix string, FlushInterval time.Duration, FlushBytes int, tags map[string]string) Reporter
NewStatsdReporter return a report which reports to statsd on the given addr
func NewTestReporter ¶ added in v0.2.0
NewTestReporter create an instance of Reporter which can be used for driver to emit metric to console
type RuntimeMetricsReporter ¶
type RuntimeMetricsReporter struct {
// contains filtered or unexported fields
}
RuntimeMetricsReporter A struct containing the state of the RuntimeMetricsReporter.
func NewRuntimeMetricsReporter ¶
func NewRuntimeMetricsReporter(reporter Reporter, 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.
type ServiceIdx ¶
type ServiceIdx int
ServiceIdx is an index that uniquely identifies the service
const ( Common ServiceIdx = iota Frontend Controller Inputhost Outputhost Storage Replicator )
Service names for all services that emit Metrics
type SimpleReporter ¶
type SimpleReporter struct {
// contains filtered or unexported fields
}
SimpleReporter is the reporter used to dump metric to console for stress runs
func (*SimpleReporter) GetChildReporter ¶
func (r *SimpleReporter) GetChildReporter(tags map[string]string) Reporter
GetChildReporter creates the child reporter for this parent reporter
func (*SimpleReporter) GetTags ¶
func (r *SimpleReporter) GetTags() map[string]string
GetTags returns the tags for this reporter object
func (*SimpleReporter) IncCounter ¶
func (r *SimpleReporter) IncCounter(name string, tags map[string]string, delta int64)
IncCounter reports Counter metric to M3
func (*SimpleReporter) InitMetrics ¶
func (r *SimpleReporter) InitMetrics(metricMap map[MetricName]MetricType)
InitMetrics is used to initialize the metrics map with the respective type
func (*SimpleReporter) RecordTimer ¶
RecordTimer should be used for measuring latency when you cannot start the stop watch.
func (*SimpleReporter) StartTimer ¶
func (r *SimpleReporter) StartTimer(name string, tags map[string]string) Stopwatch
StartTimer returns a Stopwatch which when stopped will report the metric to M3
func (*SimpleReporter) UpdateGauge ¶
func (r *SimpleReporter) UpdateGauge(name string, tags map[string]string, value int64)
UpdateGauge reports Gauge type metric
type StatsdReporter ¶
type StatsdReporter struct {
// contains filtered or unexported fields
}
StatsdReporter is a implementation of Reporter interface with statsd
func (*StatsdReporter) GetChildReporter ¶
func (r *StatsdReporter) GetChildReporter(tags map[string]string) Reporter
GetChildReporter is used to get a child reporter from the parent this also makes sure we have all the tags from the parent in addition to the tags supplied here
func (*StatsdReporter) GetTags ¶
func (r *StatsdReporter) GetTags() map[string]string
GetTags gets the tags for this reporter object
func (*StatsdReporter) IncCounter ¶
func (r *StatsdReporter) IncCounter(name string, tags map[string]string, delta int64)
IncCounter should be used for Counter style metrics
func (*StatsdReporter) InitMetrics ¶
func (r *StatsdReporter) InitMetrics(metricMap map[MetricName]MetricType)
InitMetrics is used to initialize the metrics map with the respective type
func (*StatsdReporter) RecordTimer ¶
RecordTimer should be used for measuring latency when you cannot start the stop watch.
func (*StatsdReporter) StartTimer ¶
func (r *StatsdReporter) StartTimer(name string, tags map[string]string) Stopwatch
StartTimer should be used for measuring latency. this returns a Stopwatch which can be used to stop the timer
func (*StatsdReporter) UpdateGauge ¶
func (r *StatsdReporter) UpdateGauge(name string, tags map[string]string, value int64)
UpdateGauge should be used for Gauge style metrics
type StatsdStopwatch ¶
type StatsdStopwatch struct {
// contains filtered or unexported fields
}
StatsdStopwatch is the struct which implements the Stopwatch interface to start and stop the timer
func (*StatsdStopwatch) Stop ¶
func (s *StatsdStopwatch) Stop() time.Duration
Stop stops the stop watch and records the latency to M3
type TestReporter ¶ added in v0.2.0
type TestReporter struct {
// contains filtered or unexported fields
}
TestReporter is the reporter used to dump metric to console for stress runs
func (*TestReporter) GetChildReporter ¶ added in v0.2.0
func (r *TestReporter) GetChildReporter(tags map[string]string) Reporter
GetChildReporter creates the child reporter for this parent reporter
func (*TestReporter) GetTags ¶ added in v0.2.0
func (r *TestReporter) GetTags() map[string]string
GetTags returns the tags for this reporter object
func (*TestReporter) IncCounter ¶ added in v0.2.0
func (r *TestReporter) IncCounter(name string, tags map[string]string, delta int64)
IncCounter reports Counter metric to M3
func (*TestReporter) InitMetrics ¶ added in v0.2.0
func (r *TestReporter) InitMetrics(metricMap map[MetricName]MetricType)
InitMetrics is used to initialize the metrics map with the respective type
func (*TestReporter) RecordTimer ¶ added in v0.2.0
RecordTimer should be used for measuring latency when you cannot start the stop watch.
func (*TestReporter) StartTimer ¶ added in v0.2.0
func (r *TestReporter) StartTimer(name string, tags map[string]string) Stopwatch
StartTimer returns a Stopwatch which when stopped will report the metric to M3
func (*TestReporter) UpdateGauge ¶ added in v0.2.0
func (r *TestReporter) UpdateGauge(name string, tags map[string]string, value int64)
UpdateGauge reports Gauge type metric