Sha256: 11c5a0000cb93a73c1790f5772715ace2a757f18658905a2bb49c3bc8d256ca0
Contents?: true
Size: 1.74 KB
Versions: 3
Compression:
Stored size: 1.74 KB
Contents
# frozen_string_literal: true # Copyright The OpenTelemetry Authors # # SPDX-License-Identifier: Apache-2.0 module OpenTelemetry module SDK module Trace # {Tracer} is the SDK implementation of {OpenTelemetry::Trace::Tracer}. class Tracer < OpenTelemetry::Trace::Tracer # @api private # # Returns a new {Tracer} instance. # # @param [String] name Instrumentation package name # @param [String] version Instrumentation package version # @param [TracerProvider] tracer_provider TracerProvider that initialized the tracer # # @return [Tracer] def initialize(name, version, tracer_provider) @instrumentation_library = InstrumentationLibrary.new(name, version) @tracer_provider = tracer_provider end def start_root_span(name, attributes: nil, links: nil, start_timestamp: nil, kind: nil) start_span(name, with_parent: Context.empty, attributes: attributes, links: links, start_timestamp: start_timestamp, kind: kind) end def start_span(name, with_parent: nil, attributes: nil, links: nil, start_timestamp: nil, kind: nil) name ||= 'empty' with_parent ||= Context.current parent_span = OpenTelemetry::Trace.current_span(with_parent) parent_span_context = OpenTelemetry::Trace.current_span(with_parent).context if parent_span_context.valid? parent_span_id = parent_span_context.span_id trace_id = parent_span_context.trace_id end @tracer_provider.internal_create_span(name, kind, trace_id, parent_span_id, attributes, links, start_timestamp, with_parent, parent_span, @instrumentation_library) end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
opentelemetry-sdk-1.1.0 | lib/opentelemetry/sdk/trace/tracer.rb |
opentelemetry-sdk-1.0.3 | lib/opentelemetry/sdk/trace/tracer.rb |
opentelemetry-sdk-1.0.2 | lib/opentelemetry/sdk/trace/tracer.rb |