Module: GvlMetricsMiddleware
- Defined in:
- lib/gvl_metrics_middleware.rb,
lib/gvl_metrics_middleware/rack.rb,
lib/gvl_metrics_middleware/railtie.rb,
lib/gvl_metrics_middleware/sidekiq.rb,
lib/gvl_metrics_middleware/version.rb,
sig/gvl_metrics_middleware.rbs
Defined Under Namespace
Classes: Rack, Railtie, Sidekiq
Constant Summary
collapse
- VERSION =
"0.4.0"
- @@enabled =
true
- @@on_report_failure =
nil
- @@safe_guard =
nil
- @@sampling_rate =
0.01
Class Method Summary
collapse
Class Method Details
8
|
# File 'lib/gvl_metrics_middleware.rb', line 8
def self.configure = yield(self)
|
.enabled=(value) ⇒ Object
32
33
34
|
# File 'lib/gvl_metrics_middleware.rb', line 32
def self.enabled=(value)
@@enabled = value
end
|
.enabled? ⇒ Boolean
30
|
# File 'lib/gvl_metrics_middleware.rb', line 30
def self.enabled? = @@enabled
|
.on_report_failure(&block) ⇒ Object
38
39
40
41
42
43
44
|
# File 'lib/gvl_metrics_middleware.rb', line 38
def self.on_report_failure(&block)
if block_given?
@@on_report_failure = block
else
@@on_report_failure
end
end
|
.rack(&block) ⇒ Object
10
11
12
13
14
15
16
|
# File 'lib/gvl_metrics_middleware.rb', line 10
def self.rack(&block)
if block_given?
GvlMetricsMiddleware::Rack.reporter = block
else
GvlMetricsMiddleware::Rack.reporter
end
end
|
.safe_guard=(value) ⇒ Object
50
51
52
|
# File 'lib/gvl_metrics_middleware.rb', line 50
def self.safe_guard=(value)
@@safe_guard = value
end
|
.safe_guard? ⇒ Boolean
48
|
# File 'lib/gvl_metrics_middleware.rb', line 48
def self.safe_guard? = @@safe_guard
|
.sampling_rate ⇒ Object
56
57
58
|
# File 'lib/gvl_metrics_middleware.rb', line 56
def self.sampling_rate
@@sampling_rate
end
|
.sampling_rate=(rate) ⇒ Object
60
61
62
63
64
65
66
67
|
# File 'lib/gvl_metrics_middleware.rb', line 60
def self.sampling_rate=(rate)
rate = rate.to_f
if rate < 0.0 || rate > 1.0
raise ArgumentError, "sampling_rate must be between 0.0 and 1.0, got #{rate}"
end
@@sampling_rate = rate
end
|
.should_sample? ⇒ Boolean
69
70
71
72
73
74
|
# File 'lib/gvl_metrics_middleware.rb', line 69
def self.should_sample?
return true if @@sampling_rate == 1.0
return false if @@sampling_rate == 0.0
enabled? && (rand < @@sampling_rate)
end
|
.sidekiq(&block) ⇒ Object
18
19
20
21
22
23
24
25
26
|
# File 'lib/gvl_metrics_middleware.rb', line 18
def self.sidekiq(&block)
require "gvl_metrics_middleware/sidekiq"
if block_given?
GvlMetricsMiddleware::Sidekiq.reporter = block
else
GvlMetricsMiddleware::Sidekiq.reporter
end
end
|