Method: Sentry::Metrics::Aggregator#initialize
- Defined in:
- lib/sentry/metrics/aggregator.rb
#initialize(configuration, client) ⇒ Aggregator
Returns a new instance of Aggregator.
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/sentry/metrics/aggregator.rb', line 36 def initialize(configuration, client) super(configuration.logger, FLUSH_INTERVAL) @client = client @before_emit = configuration.metrics.before_emit @enable_code_locations = configuration.metrics.enable_code_locations @stacktrace_builder = configuration.stacktrace_builder @default_tags = {} @default_tags["release"] = configuration.release if configuration.release @default_tags["environment"] = configuration.environment if configuration.environment @mutex = Mutex.new # a nested hash of timestamp -> bucket keys -> Metric instance @buckets = {} # the flush interval needs to be shifted once per startup to create jittering @flush_shift = Random.rand * ROLLUP_IN_SECONDS # a nested hash of timestamp (start of day) -> meta keys -> frame @code_locations = {} end |