Sha256: 6aa1069ce57eda55f847375a0a9d1f545db3c93c16b42997ffdad9d2e222c07c
Contents?: true
Size: 1.21 KB
Versions: 1
Compression:
Stored size: 1.21 KB
Contents
# frozen_string_literal: true # Copyright 2019 OpenTelemetry Authors # # SPDX-License-Identifier: Apache-2.0 module OpenTelemetry module Instrumentation module ActiveModelSerializers # Instrumentation class that detects and installs the ActiveModelSerializers instrumentation class Instrumentation < OpenTelemetry::Instrumentation::Base MINIMUM_VERSION = Gem::Version.new('0.10.0') install do |_config| require_dependencies register_event_handler end present do !defined?(::ActiveSupport::Notifications).nil? && !defined?(::ActiveModelSerializers).nil? && gem_version >= MINIMUM_VERSION end private def gem_version Gem.loaded_specs['active_model_serializers'].version end def require_dependencies require_relative 'event_handler' end def register_event_handler ActiveSupport::Notifications.subscribe(event_name) do |_name, start, finish, _id, payload| EventHandler.handle(start, finish, payload) end end def event_name 'render.active_model_serializers' end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
opentelemetry-instrumentation-active_model_serializers-0.10.1 | lib/opentelemetry/instrumentation/active_model_serializers/instrumentation.rb |