Module: OpenTelemetry::Instrumentation::ActionView
- Defined in:
- lib/opentelemetry/instrumentation/action_view.rb,
lib/opentelemetry/instrumentation/action_view/railtie.rb,
lib/opentelemetry/instrumentation/action_view/version.rb,
lib/opentelemetry/instrumentation/action_view/instrumentation.rb,
lib/opentelemetry/instrumentation/action_view/span_subscriber.rb
Overview
rubocop:disable Style/Documentation
Defined Under Namespace
Classes: Instrumentation, Railtie, SpanSubscriber
Constant Summary collapse
- SUBSCRIPTIONS =
%w[ render_template.action_view render_partial.action_view render_collection.action_view ].freeze
- VERSION =
'0.1.3'
Class Method Summary collapse
-
.subscribe(pattern = nil, callable = nil) ⇒ Object
A very hacky way to make sure that OpenTelemetry::Instrumentation::ActionView::SpanSubscriber gets invoked first.
Class Method Details
.subscribe(pattern = nil, callable = nil) ⇒ Object
A very hacky way to make sure that OpenTelemetry::Instrumentation::ActionView::SpanSubscriber gets invoked first
17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/opentelemetry/instrumentation/action_view/span_subscriber.rb', line 17 def self.subscribe(pattern = nil, callable = nil) ActiveSupport::Notifications.subscribe(pattern, callable) ::ActiveSupport::Notifications.notifier.synchronize do if ::Rails::VERSION::MAJOR == 6 s = ::ActiveSupport::Notifications.notifier.instance_variable_get(:@string_subscribers)[pattern].pop ::ActiveSupport::Notifications.notifier.instance_variable_get(:@string_subscribers)[pattern].unshift(s) else s = ::ActiveSupport::Notifications.notifier.instance_variable_get(:@subscribers).pop ::ActiveSupport::Notifications.notifier.instance_variable_get(:@subscribers).unshift(s) end end end |