Sha256: 92d003aa2a96188ed02cfb01d0bd248996ae15d9962cb68c1d7218d90eec7471

Contents?: true

Size: 1.19 KB

Versions: 3

Compression:

Stored size: 1.19 KB

Contents

# frozen_string_literal: true

# Copyright 2019 OpenTelemetry Authors
#
# SPDX-License-Identifier: Apache-2.0

module OpenTelemetry
  module SDK
    module Trace
      module Export
        # A noop exporter that demonstrates and documents the SpanExporter
        # duck type. SpanExporter allows different tracing services to export
        # recorded data for sampled spans in their own format.
        #
        # To export data an exporter MUST be registered to the {TracerProvider} using
        # a {SimpleSpanProcessor} or a {BatchSpanProcessor}.
        class NoopSpanExporter
          def initialize
            @stopped = false
          end

          # Called to export sampled {Span}s.
          #
          # @param [Enumerable<Span>] spans the list of sampled {Span}s to be
          #   exported.
          # @return [Integer] the result of the export.
          def export(spans)
            return SUCCESS unless @stopped

            FAILURE
          end

          # Called when {TracerProvider#shutdown} is called, if this exporter is
          # registered to a {TracerProvider} object.
          def shutdown
            @stopped = true
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
opentelemetry-sdk-0.6.0 lib/opentelemetry/sdk/trace/export/noop_span_exporter.rb
opentelemetry-sdk-0.5.1 lib/opentelemetry/sdk/trace/export/noop_span_exporter.rb
opentelemetry-sdk-0.5.0 lib/opentelemetry/sdk/trace/export/noop_span_exporter.rb