This is the actual histogram data structure.
This is the actual histogram data structure. It knows nothing of tags or metrics
This is passed to new event collectors in addition to their own config.
This is passed to new event collectors in addition to their own config.
TODO: we might want to include global tags in here as well, and remove them from CollectionContext. This would mean event collectors would be constructed with global tagsinstead of them being passed in during collection, but right now that basically already happens since the tags are passed in during the collection's construction and then it passes it to each collector
The aggregation intervals configured for the MetricSystem this collection belongs to
Simple sender that just prints the stats to the log
Configuration class for the metric reporter
Configuration class for the metric reporter
The MetricAddress of the MetricSystem that this reporter is a member
A list of MetricSender instances that the reporter will use to send metrics
Tells a MetricReporter how to filter its Metrics before handing off to a Sender.
The MetricSystem is a set of actors which handle the background operations of dealing with metrics.
The MetricSystem is a set of actors which handle the background operations of dealing with metrics. In most cases, you only want to have one MetricSystem per application.
Metrics are generated periodically by a Tick message published on the global event bus. By default this happens once per second, but it can be configured to any time interval. So while events are being collected as they occur, compiled metrics (such as rates and histogram percentiles) are generated once per tick.
A Basic log-scale histogram, mainly designed to measure latency
A Basic log-scale histogram, mainly designed to measure latency
Each bucket handles an increasingly large range of values from 0 to MAX_INT.