Sha256: 4c0b9843a791e40f85533a59dd87e3ce66615d981a80bbaa3a3c1f3133a2c9f1
Contents?: true
Size: 1.59 KB
Versions: 9
Compression:
Stored size: 1.59 KB
Contents
# frozen_string_literal: true # Copyright The OpenTelemetry Authors # # SPDX-License-Identifier: Apache-2.0 require 'opentelemetry' require 'opentelemetry-instrumentation-base' module OpenTelemetry module Instrumentation # Contains the OpenTelemetry instrumentation for the Pg gem module PG extend self CURRENT_ATTRIBUTES_KEY = Context.create_key('pg-attributes-hash') private_constant :CURRENT_ATTRIBUTES_KEY # Returns the attributes hash representing the postgres client context found # in the optional context or the current context if none is provided. # # @param [optional Context] context The context to lookup the current # attributes hash. Defaults to Context.current def attributes(context = nil) context ||= Context.current context.value(CURRENT_ATTRIBUTES_KEY) || {} end # Activates/deactivates the merged attributes hash within the current Context, # which makes the "current attributes hash" available implicitly. # # On exit, the attributes hash that was active before calling this method # will be reactivated. # # @param [Span] span the span to activate # @yield [Hash, Context] yields attributes hash and a context containing the # attributes hash to the block. def with_attributes(attributes_hash) attributes_hash = attributes.merge(attributes_hash) Context.with_value(CURRENT_ATTRIBUTES_KEY, attributes_hash) { |c, h| yield h, c } end end end end require_relative './pg/instrumentation' require_relative './pg/version'
Version data entries
9 entries across 9 versions & 1 rubygems