Sha256: def71068e98e1bd7f19284d5563645c6434d38adfebe92bdab0a6f08e98f6a0d
Contents?: true
Size: 1.33 KB
Versions: 7
Compression:
Stored size: 1.33 KB
Contents
# frozen_string_literal: true # Copyright The OpenTelemetry Authors # # SPDX-License-Identifier: Apache-2.0 module OpenTelemetry module Instrumentation module Dalli module Patches # Module to prepend to Dalli::Server (or Dalli::Protocol::Binary in 3.0+) for instrumentation module Server def request(op, *args) # rubocop:disable Naming/MethodParameterName operation = Utils.opname(op, multi?) attributes = { 'db.system' => 'memcached', 'db.operation' => operation, 'net.peer.name' => hostname, 'net.peer.port' => port } if config[:db_statement] == :include attributes['db.statement'] = Utils.format_command(operation, args) elsif config[:db_statement] == :obfuscate attributes['db.statement'] = "#{operation} ?" end attributes['peer.service'] = config[:peer_service] if config[:peer_service] tracer.in_span(operation, attributes: attributes, kind: :client) do super end end private def tracer Dalli::Instrumentation.instance.tracer end def config Dalli::Instrumentation.instance.config end end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems