Sha256: f5483bd908fc26348665bc7867a6d56847b8cabe75f9acf2adf5bb72156f0eca
Contents?: true
Size: 1.21 KB
Versions: 2
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?(::ActiveModel::Serializers).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
2 entries across 2 versions & 1 rubygems