Module: BrainzLab::Instrumentation
- Defined in:
- lib/brainzlab/instrumentation.rb,
lib/brainzlab/instrumentation/aws.rb,
lib/brainzlab/instrumentation/dalli.rb,
lib/brainzlab/instrumentation/excon.rb,
lib/brainzlab/instrumentation/grape.rb,
lib/brainzlab/instrumentation/redis.rb,
lib/brainzlab/instrumentation/resque.rb,
lib/brainzlab/instrumentation/stripe.rb,
lib/brainzlab/instrumentation/faraday.rb,
lib/brainzlab/instrumentation/graphql.rb,
lib/brainzlab/instrumentation/mongodb.rb,
lib/brainzlab/instrumentation/sidekiq.rb,
lib/brainzlab/instrumentation/good_job.rb,
lib/brainzlab/instrumentation/httparty.rb,
lib/brainzlab/instrumentation/net_http.rb,
lib/brainzlab/instrumentation/railties.rb,
lib/brainzlab/instrumentation/typhoeus.rb,
lib/brainzlab/instrumentation/active_job.rb,
lib/brainzlab/instrumentation/action_view.rb,
lib/brainzlab/instrumentation/delayed_job.rb,
lib/brainzlab/instrumentation/solid_queue.rb,
lib/brainzlab/instrumentation/action_cable.rb,
lib/brainzlab/instrumentation/action_mailer.rb,
lib/brainzlab/instrumentation/active_record.rb,
lib/brainzlab/instrumentation/elasticsearch.rb,
lib/brainzlab/instrumentation/action_mailbox.rb,
lib/brainzlab/instrumentation/active_storage.rb,
lib/brainzlab/instrumentation/action_dispatch.rb,
lib/brainzlab/instrumentation/action_controller.rb,
lib/brainzlab/instrumentation/rails_deprecation.rb,
lib/brainzlab/instrumentation/active_support_cache.rb
Defined Under Namespace
Modules: AWSInstrumentation, ActionMailerInstrumentation, DalliInstrumentation, DelayedJobInstrumentation, ElasticsearchInstrumentation, ExconInstrumentation, FaradayMiddleware, GoodJobInstrumentation, GrapeInstrumentation, GraphQLInstrumentation, HTTPartyInstrumentation, MongoDBInstrumentation, NetHttp, RedisInstrumentation, ResqueInstrumentation, SidekiqInstrumentation, SolidQueueInstrumentation, StripeInstrumentation, TyphoeusInstrumentation
Classes: ActionCable, ActionController, ActionDispatch, ActionMailbox, ActionView, ActiveJob, ActiveRecord, ActiveStorage, ActiveSupportCache, RailsDeprecation, Railties
Class Method Summary
collapse
Class Method Details
.install! ⇒ Object
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
# File 'lib/brainzlab/instrumentation.rb', line 6
def install!
config = BrainzLab.configuration
unless config.enabled?
BrainzLab.debug_log('[Instrumentation] SDK disabled via BRAINZLAB_SDK_ENABLED=false, skipping all instrumentation')
return
end
if config.rails_instrumentation_handled_externally
BrainzLab.debug_log('[Instrumentation] Rails instrumentation handled by brainzlab-rails gem, skipping SDK instrumentation')
install_non_rails_instrumentation!(config)
return
end
if config.instrument_http
install_net_http!
install_faraday!
install_httparty!
end
install_active_record! if config.instrument_active_record
install_redis! if config.instrument_redis
install_sidekiq! if config.instrument_sidekiq
install_graphql! if config.instrument_graphql
install_mongodb! if config.instrument_mongodb
install_elasticsearch! if config.instrument_elasticsearch
install_action_controller! if config.instrument_action_controller
install_action_view! if config.instrument_action_view
install_action_mailer! if config.instrument_action_mailer
install_active_job! if config.instrument_active_job
install_active_support_cache! if config.instrument_active_support_cache
install_delayed_job! if config.instrument_delayed_job
install_grape! if config.instrument_grape
install_solid_queue! if config.instrument_solid_queue
install_good_job! if config.instrument_good_job
install_resque! if config.instrument_resque
install_excon! if config.instrument_excon
install_typhoeus! if config.instrument_typhoeus
install_dalli! if config.instrument_dalli
install_aws! if config.instrument_aws
install_stripe! if config.instrument_stripe
install_active_storage! if config.instrument_active_storage
install_action_cable! if config.instrument_action_cable
install_action_dispatch! if config.instrument_action_dispatch
install_rails_deprecation! if config.instrument_rails_deprecation
install_action_mailbox! if config.instrument_action_mailbox
install_railties! if config.instrument_railties
end
|
.install_action_cable! ⇒ Object
265
266
267
268
269
270
|
# File 'lib/brainzlab/instrumentation.rb', line 265
def install_action_cable!
return unless defined?(::ActionCable)
require_relative 'instrumentation/action_cable'
ActionCable.install!
end
|
.install_action_controller! ⇒ Object
153
154
155
156
157
158
|
# File 'lib/brainzlab/instrumentation.rb', line 153
def install_action_controller!
return unless defined?(::ActionController)
require_relative 'instrumentation/action_controller'
ActionController.install!
end
|
.install_action_dispatch! ⇒ Object
272
273
274
275
276
277
|
# File 'lib/brainzlab/instrumentation.rb', line 272
def install_action_dispatch!
return unless defined?(::ActionDispatch)
require_relative 'instrumentation/action_dispatch'
ActionDispatch.install!
end
|
.install_action_mailbox! ⇒ Object
286
287
288
289
290
291
|
# File 'lib/brainzlab/instrumentation.rb', line 286
def install_action_mailbox!
return unless defined?(::ActionMailbox)
require_relative 'instrumentation/action_mailbox'
ActionMailbox.install!
end
|
.install_action_mailer! ⇒ Object
167
168
169
170
171
172
|
# File 'lib/brainzlab/instrumentation.rb', line 167
def install_action_mailer!
return unless defined?(::ActionMailer)
require_relative 'instrumentation/action_mailer'
ActionMailerInstrumentation.install!
end
|
.install_action_view! ⇒ Object
160
161
162
163
164
165
|
# File 'lib/brainzlab/instrumentation.rb', line 160
def install_action_view!
return unless defined?(::ActionView)
require_relative 'instrumentation/action_view'
ActionView.install!
end
|
.install_active_job! ⇒ Object
174
175
176
177
178
179
|
# File 'lib/brainzlab/instrumentation.rb', line 174
def install_active_job!
return unless defined?(::ActiveJob)
require_relative 'instrumentation/active_job'
ActiveJob.install!
end
|
.install_active_record! ⇒ Object
113
114
115
116
|
# File 'lib/brainzlab/instrumentation.rb', line 113
def install_active_record!
require_relative 'instrumentation/active_record'
ActiveRecord.install!
end
|
.install_active_storage! ⇒ Object
258
259
260
261
262
263
|
# File 'lib/brainzlab/instrumentation.rb', line 258
def install_active_storage!
return unless defined?(::ActiveStorage)
require_relative 'instrumentation/active_storage'
ActiveStorage.install!
end
|
.install_active_support_cache! ⇒ Object
181
182
183
184
185
186
|
# File 'lib/brainzlab/instrumentation.rb', line 181
def install_active_support_cache!
return unless defined?(::ActiveSupport::Cache)
require_relative 'instrumentation/active_support_cache'
ActiveSupportCache.install!
end
|
.install_aws! ⇒ Object
244
245
246
247
248
249
|
# File 'lib/brainzlab/instrumentation.rb', line 244
def install_aws!
return unless defined?(::Aws)
require_relative 'instrumentation/aws'
AWSInstrumentation.install!
end
|
.install_dalli! ⇒ Object
237
238
239
240
241
242
|
# File 'lib/brainzlab/instrumentation.rb', line 237
def install_dalli!
return unless defined?(::Dalli::Client)
require_relative 'instrumentation/dalli'
DalliInstrumentation.install!
end
|
.install_delayed_job! ⇒ Object
188
189
190
191
192
193
|
# File 'lib/brainzlab/instrumentation.rb', line 188
def install_delayed_job!
return unless defined?(::Delayed::Job) || defined?(::Delayed::Backend)
require_relative 'instrumentation/delayed_job'
DelayedJobInstrumentation.install!
end
|
.install_elasticsearch! ⇒ Object
146
147
148
149
150
151
|
# File 'lib/brainzlab/instrumentation.rb', line 146
def install_elasticsearch!
return unless defined?(::Elasticsearch) || defined?(::OpenSearch)
require_relative 'instrumentation/elasticsearch'
ElasticsearchInstrumentation.install!
end
|
.install_excon! ⇒ Object
223
224
225
226
227
228
|
# File 'lib/brainzlab/instrumentation.rb', line 223
def install_excon!
return unless defined?(::Excon)
require_relative 'instrumentation/excon'
ExconInstrumentation.install!
end
|
.install_faraday! ⇒ Object
99
100
101
102
103
104
|
# File 'lib/brainzlab/instrumentation.rb', line 99
def install_faraday!
return unless defined?(::Faraday)
require_relative 'instrumentation/faraday'
FaradayMiddleware.install!
end
|
.install_good_job! ⇒ Object
209
210
211
212
213
214
|
# File 'lib/brainzlab/instrumentation.rb', line 209
def install_good_job!
return unless defined?(::GoodJob)
require_relative 'instrumentation/good_job'
GoodJobInstrumentation.install!
end
|
.install_grape! ⇒ Object
195
196
197
198
199
200
|
# File 'lib/brainzlab/instrumentation.rb', line 195
def install_grape!
return unless defined?(::Grape::API)
require_relative 'instrumentation/grape'
GrapeInstrumentation.install!
end
|
.install_graphql! ⇒ Object
132
133
134
135
136
137
|
# File 'lib/brainzlab/instrumentation.rb', line 132
def install_graphql!
return unless defined?(::GraphQL)
require_relative 'instrumentation/graphql'
GraphQLInstrumentation.install!
end
|
.install_http! ⇒ Object
Manual installation methods for lazy-loaded libraries
301
302
303
304
305
|
# File 'lib/brainzlab/instrumentation.rb', line 301
def install_http!
install_net_http!
install_faraday!
install_httparty!
end
|
.install_httparty! ⇒ Object
106
107
108
109
110
111
|
# File 'lib/brainzlab/instrumentation.rb', line 106
def install_httparty!
return unless defined?(::HTTParty)
require_relative 'instrumentation/httparty'
HTTPartyInstrumentation.install!
end
|
.install_mongodb! ⇒ Object
139
140
141
142
143
144
|
# File 'lib/brainzlab/instrumentation.rb', line 139
def install_mongodb!
return unless defined?(::Mongo) || defined?(::Mongoid)
require_relative 'instrumentation/mongodb'
MongoDBInstrumentation.install!
end
|
.install_net_http! ⇒ Object
94
95
96
97
|
# File 'lib/brainzlab/instrumentation.rb', line 94
def install_net_http!
require_relative 'instrumentation/net_http'
NetHttp.install!
end
|
.install_rails_deprecation! ⇒ Object
279
280
281
282
283
284
|
# File 'lib/brainzlab/instrumentation.rb', line 279
def install_rails_deprecation!
return unless defined?(::Rails)
require_relative 'instrumentation/rails_deprecation'
RailsDeprecation.install!
end
|
.install_railties! ⇒ Object
293
294
295
296
297
298
|
# File 'lib/brainzlab/instrumentation.rb', line 293
def install_railties!
return unless defined?(::Rails)
require_relative 'instrumentation/railties'
Railties.install!
end
|
.install_redis! ⇒ Object
118
119
120
121
122
123
|
# File 'lib/brainzlab/instrumentation.rb', line 118
def install_redis!
return unless defined?(::Redis)
require_relative 'instrumentation/redis'
RedisInstrumentation.install!
end
|
.install_resque! ⇒ Object
216
217
218
219
220
221
|
# File 'lib/brainzlab/instrumentation.rb', line 216
def install_resque!
return unless defined?(::Resque)
require_relative 'instrumentation/resque'
ResqueInstrumentation.install!
end
|
.install_sidekiq! ⇒ Object
125
126
127
128
129
130
|
# File 'lib/brainzlab/instrumentation.rb', line 125
def install_sidekiq!
return unless defined?(::Sidekiq)
require_relative 'instrumentation/sidekiq'
SidekiqInstrumentation.install!
end
|
.install_solid_queue! ⇒ Object
202
203
204
205
206
207
|
# File 'lib/brainzlab/instrumentation.rb', line 202
def install_solid_queue!
return unless defined?(::SolidQueue)
require_relative 'instrumentation/solid_queue'
SolidQueueInstrumentation.install!
end
|
.install_stripe! ⇒ Object
251
252
253
254
255
256
|
# File 'lib/brainzlab/instrumentation.rb', line 251
def install_stripe!
return unless defined?(::Stripe)
require_relative 'instrumentation/stripe'
StripeInstrumentation.install!
end
|
.install_typhoeus! ⇒ Object
230
231
232
233
234
235
|
# File 'lib/brainzlab/instrumentation.rb', line 230
def install_typhoeus!
return unless defined?(::Typhoeus)
require_relative 'instrumentation/typhoeus'
TyphoeusInstrumentation.install!
end
|