Loading lib/labkit/tracing.rb +4 −1 Original line number Diff line number Diff line Loading @@ -150,8 +150,11 @@ module Labkit # span.set_attribute("expensive_data", compute_expensive_data) # end # # @return [OpenTelemetry::Trace::Span] The current span (may be a no-op span when tracing is disabled) # @return [OpenTelemetry::Trace::Span, nil] The current span (may be a no-op span when tracing is disabled, or nil when using OpenTracing) def self.current_span return nil if opentracing_connection? require "opentelemetry/sdk" OpenTelemetry::Trace.current_span end Loading spec/labkit/tracing_spec.rb +16 −3 Original line number Diff line number Diff line Loading @@ -188,11 +188,24 @@ describe Labkit::Tracing do end describe ".current_span" do context "when using OpenTelemetry" do before do stub_const("ENV", ENV.to_hash.merge("GITLAB_TRACING" => "otlp://localhost:4318")) end it "delegates to OpenTelemetry::Trace.current_span" do fake_span = double("span") allow(OpenTelemetry::Trace).to receive(:current_span).and_return(fake_span) expect(described_class.current_span).not_to be_nil end end expect(described_class.current_span).to eq(fake_span) context "when using OpenTracing" do before do stub_const("ENV", ENV.to_hash.merge("GITLAB_TRACING" => "opentracing://jaeger")) end it "returns nil" do expect(described_class.current_span).to be_nil end end end Loading Loading
lib/labkit/tracing.rb +4 −1 Original line number Diff line number Diff line Loading @@ -150,8 +150,11 @@ module Labkit # span.set_attribute("expensive_data", compute_expensive_data) # end # # @return [OpenTelemetry::Trace::Span] The current span (may be a no-op span when tracing is disabled) # @return [OpenTelemetry::Trace::Span, nil] The current span (may be a no-op span when tracing is disabled, or nil when using OpenTracing) def self.current_span return nil if opentracing_connection? require "opentelemetry/sdk" OpenTelemetry::Trace.current_span end Loading
spec/labkit/tracing_spec.rb +16 −3 Original line number Diff line number Diff line Loading @@ -188,11 +188,24 @@ describe Labkit::Tracing do end describe ".current_span" do context "when using OpenTelemetry" do before do stub_const("ENV", ENV.to_hash.merge("GITLAB_TRACING" => "otlp://localhost:4318")) end it "delegates to OpenTelemetry::Trace.current_span" do fake_span = double("span") allow(OpenTelemetry::Trace).to receive(:current_span).and_return(fake_span) expect(described_class.current_span).not_to be_nil end end expect(described_class.current_span).to eq(fake_span) context "when using OpenTracing" do before do stub_const("ENV", ENV.to_hash.merge("GITLAB_TRACING" => "opentracing://jaeger")) end it "returns nil" do expect(described_class.current_span).to be_nil end end end Loading