Class: Sqreen::Ecosystem::Tracing::VirtualScopesHolder
- Inherits:
-
Object
- Object
- Sqreen::Ecosystem::Tracing::VirtualScopesHolder
- Includes:
- Loggable
- Defined in:
- lib/sqreen/ecosystem/tracing/sampling_configuration.rb
Constant Summary collapse
- MAX_VIRTUAL_SCOPES =
120- DISCARD_SIZE =
20
Instance Method Summary collapse
- #[](qualifier) ⇒ Object
- #delete!(qualifier) ⇒ Object
-
#initialize(parent, cfg) ⇒ VirtualScopesHolder
constructor
A new instance of VirtualScopesHolder.
Constructor Details
#initialize(parent, cfg) ⇒ VirtualScopesHolder
Returns a new instance of VirtualScopesHolder.
107 108 109 110 111 112 |
# File 'lib/sqreen/ecosystem/tracing/sampling_configuration.rb', line 107 def initialize(parent, cfg) @parent = parent @cfg = cfg @virtual_scopes = {} @mutex = Mutex.new end |
Instance Method Details
#[](qualifier) ⇒ Object
114 115 116 117 118 119 120 121 122 123 |
# File 'lib/sqreen/ecosystem/tracing/sampling_configuration.rb', line 114 def [](qualifier) return false unless @cfg['enabled'] @mutex.synchronize do sampler = @virtual_scopes[qualifier] return sampler if sampler @virtual_scopes[qualifier] = create_virtual(qualifier) end end |
#delete!(qualifier) ⇒ Object
125 126 127 |
# File 'lib/sqreen/ecosystem/tracing/sampling_configuration.rb', line 125 def delete!(qualifier) @virtual_scopes.delete(qualifier) end |