opentelemetry-exporter-otlp 0.21.2 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/README.md +1 -1
- data/lib/opentelemetry/exporter/otlp/exporter.rb +38 -38
- data/lib/opentelemetry/exporter/otlp/version.rb +1 -1
- metadata +51 -9
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 5f04f44504dc7f282168af4aeea6b08f8e010cdf50aa3352d604d4c689a84f96
         | 
| 4 | 
            +
              data.tar.gz: d70caacf75e05a78dc0ae2e81c8ae1acca2aa4a47b0b47a4c69d9f1aaa4b5e40
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: f735a7ddf73deba7d4e1708a01a19fc0deccb0869e5ec87d080d3bbabfb97e609cb2889766219ed0f611dad94097c5de87b7e7ff74d6e023d1f473aff098ad9c
         | 
| 7 | 
            +
              data.tar.gz: 7c2519a847240f89ebac52d2bd007364e197216017d8d996808eca9445c1b2748ae5feef9d4f05694ccc319aa9ae5c8d73ca26daf52d9b4d4fe5e5262ff4d09a
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,5 +1,17 @@ | |
| 1 1 | 
             
            # Release History: opentelemetry-exporter-otlp
         | 
| 2 2 |  | 
| 3 | 
            +
            ### v0.23.0 / 2022-06-23
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            * ADDED: Report bundle size stats in exporter; also don't re-gzip unnecessarily 
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            ### v0.22.0 / 2022-06-09
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            * ADDED: Otlp grpc 
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            ### v0.21.3 / 2022-05-12
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            * (No significant changes)
         | 
| 14 | 
            +
             | 
| 3 15 | 
             
            ### v0.21.2 / 2022-01-19
         | 
| 4 16 |  | 
| 5 17 | 
             
            * FIXED: Default scheme for OTLP endpoint 
         | 
    
        data/README.md
    CHANGED
    
    | @@ -78,7 +78,7 @@ The collector exporter can be configured explicitly in code, or via environment | |
| 78 78 | 
             
            | `ssl_verify_mode:`  | `OTEL_RUBY_EXPORTER_OTLP_SSL_VERIFY_PEER` or | `OpenSSL::SSL:VERIFY_PEER`          |
         | 
| 79 79 | 
             
            |                     | `OTEL_RUBY_EXPORTER_OTLP_SSL_VERIFY_NONE`    |                                     |
         | 
| 80 80 |  | 
| 81 | 
            -
            `ssl_verify_mode:` parameter values should be flags for server certificate verification: `OpenSSL::SSL:VERIFY_PEER` and `OpenSSL::SSL:VERIFY_NONE` are acceptable. These values can also be set using the appropriately named environment variables as shown where `VERIFY_PEER` will take precedence over `VERIFY_NONE`.  Please see [the Net::HTTP docs](https://ruby-doc.org/stdlib-2. | 
| 81 | 
            +
            `ssl_verify_mode:` parameter values should be flags for server certificate verification: `OpenSSL::SSL:VERIFY_PEER` and `OpenSSL::SSL:VERIFY_NONE` are acceptable. These values can also be set using the appropriately named environment variables as shown where `VERIFY_PEER` will take precedence over `VERIFY_NONE`.  Please see [the Net::HTTP docs](https://ruby-doc.org/stdlib-2.7.6/libdoc/net/http/rdoc/Net/HTTP.html#verify_mode) for more information about these flags.
         | 
| 82 82 |  | 
| 83 83 | 
             
            ## How can I get involved?
         | 
| 84 84 |  | 
| @@ -10,6 +10,8 @@ require 'net/http' | |
| 10 10 | 
             
            require 'csv'
         | 
| 11 11 | 
             
            require 'zlib'
         | 
| 12 12 |  | 
| 13 | 
            +
            require 'google/rpc/status_pb'
         | 
| 14 | 
            +
             | 
| 13 15 | 
             
            require 'opentelemetry/proto/common/v1/common_pb'
         | 
| 14 16 | 
             
            require 'opentelemetry/proto/resource/v1/resource_pb'
         | 
| 15 17 | 
             
            require 'opentelemetry/proto/trace/v1/trace_pb'
         | 
| @@ -43,14 +45,14 @@ module OpenTelemetry | |
| 43 45 | 
             
                      end
         | 
| 44 46 | 
             
                    end
         | 
| 45 47 |  | 
| 46 | 
            -
                    def initialize(endpoint: config_opt('OTEL_EXPORTER_OTLP_TRACES_ENDPOINT', 'OTEL_EXPORTER_OTLP_ENDPOINT', default: 'http://localhost:4318/v1/traces'), # rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
         | 
| 47 | 
            -
                                   certificate_file: config_opt('OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE', 'OTEL_EXPORTER_OTLP_CERTIFICATE'),
         | 
| 48 | 
            +
                    def initialize(endpoint: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_ENDPOINT', 'OTEL_EXPORTER_OTLP_ENDPOINT', default: 'http://localhost:4318/v1/traces'), # rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
         | 
| 49 | 
            +
                                   certificate_file: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE', 'OTEL_EXPORTER_OTLP_CERTIFICATE'),
         | 
| 48 50 | 
             
                                   ssl_verify_mode: Exporter.ssl_verify_mode,
         | 
| 49 | 
            -
                                   headers: config_opt('OTEL_EXPORTER_OTLP_TRACES_HEADERS', 'OTEL_EXPORTER_OTLP_HEADERS', default: {}),
         | 
| 50 | 
            -
                                   compression: config_opt('OTEL_EXPORTER_OTLP_TRACES_COMPRESSION', 'OTEL_EXPORTER_OTLP_COMPRESSION', default: 'gzip'),
         | 
| 51 | 
            -
                                   timeout: config_opt('OTEL_EXPORTER_OTLP_TRACES_TIMEOUT', 'OTEL_EXPORTER_OTLP_TIMEOUT', default: 10),
         | 
| 51 | 
            +
                                   headers: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_HEADERS', 'OTEL_EXPORTER_OTLP_HEADERS', default: {}),
         | 
| 52 | 
            +
                                   compression: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_COMPRESSION', 'OTEL_EXPORTER_OTLP_COMPRESSION', default: 'gzip'),
         | 
| 53 | 
            +
                                   timeout: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_TIMEOUT', 'OTEL_EXPORTER_OTLP_TIMEOUT', default: 10),
         | 
| 52 54 | 
             
                                   metrics_reporter: nil)
         | 
| 53 | 
            -
                      raise ArgumentError, "invalid url for OTLP::Exporter #{endpoint}"  | 
| 55 | 
            +
                      raise ArgumentError, "invalid url for OTLP::Exporter #{endpoint}" unless OpenTelemetry::Common::Utilities.valid_url?(endpoint)
         | 
| 54 56 | 
             
                      raise ArgumentError, "unsupported compression key #{compression}" unless compression.nil? || %w[gzip none].include?(compression)
         | 
| 55 57 |  | 
| 56 58 | 
             
                      @uri = if endpoint == ENV['OTEL_EXPORTER_OTLP_ENDPOINT']
         | 
| @@ -118,23 +120,6 @@ module OpenTelemetry | |
| 118 120 | 
             
                      http
         | 
| 119 121 | 
             
                    end
         | 
| 120 122 |  | 
| 121 | 
            -
                    def config_opt(*env_vars, default: nil)
         | 
| 122 | 
            -
                      env_vars.each do |env_var|
         | 
| 123 | 
            -
                        val = ENV[env_var]
         | 
| 124 | 
            -
                        return val unless val.nil?
         | 
| 125 | 
            -
                      end
         | 
| 126 | 
            -
                      default
         | 
| 127 | 
            -
                    end
         | 
| 128 | 
            -
             | 
| 129 | 
            -
                    def invalid_url?(url)
         | 
| 130 | 
            -
                      return true if url.nil? || url.strip.empty?
         | 
| 131 | 
            -
             | 
| 132 | 
            -
                      URI(url)
         | 
| 133 | 
            -
                      false
         | 
| 134 | 
            -
                    rescue URI::InvalidURIError
         | 
| 135 | 
            -
                      true
         | 
| 136 | 
            -
                    end
         | 
| 137 | 
            -
             | 
| 138 123 | 
             
                    # The around_request is a private method that provides an extension
         | 
| 139 124 | 
             
                    # point for the exporters network calls. The default behaviour
         | 
| 140 125 | 
             
                    # is to not trace these operations.
         | 
| @@ -146,23 +131,28 @@ module OpenTelemetry | |
| 146 131 | 
             
                      OpenTelemetry::Common::Utilities.untraced { yield }
         | 
| 147 132 | 
             
                    end
         | 
| 148 133 |  | 
| 149 | 
            -
                    def send_bytes(bytes, timeout:) # rubocop:disable Metrics/ | 
| 134 | 
            +
                    def send_bytes(bytes, timeout:) # rubocop:disable Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
         | 
| 150 135 | 
             
                      return FAILURE if bytes.nil?
         | 
| 151 136 |  | 
| 137 | 
            +
                      @metrics_reporter.record_value('otel.otlp_exporter.message.uncompressed_size', value: bytes.bytesize)
         | 
| 138 | 
            +
             | 
| 139 | 
            +
                      request = Net::HTTP::Post.new(@path)
         | 
| 140 | 
            +
                      if @compression == 'gzip'
         | 
| 141 | 
            +
                        request.add_field('Content-Encoding', 'gzip')
         | 
| 142 | 
            +
                        body = Zlib.gzip(bytes)
         | 
| 143 | 
            +
                        @metrics_reporter.record_value('otel.otlp_exporter.message.compressed_size', value: body.bytesize)
         | 
| 144 | 
            +
                      else
         | 
| 145 | 
            +
                        body = bytes
         | 
| 146 | 
            +
                      end
         | 
| 147 | 
            +
                      request.body = body
         | 
| 148 | 
            +
                      request.add_field('Content-Type', 'application/x-protobuf')
         | 
| 149 | 
            +
                      @headers.each { |key, value| request.add_field(key, value) }
         | 
| 150 | 
            +
             | 
| 152 151 | 
             
                      retry_count = 0
         | 
| 153 152 | 
             
                      timeout ||= @timeout
         | 
| 154 153 | 
             
                      start_time = OpenTelemetry::Common::Utilities.timeout_timestamp
         | 
| 155 | 
            -
                      around_request do # rubocop:disable Metrics/BlockLength
         | 
| 156 | 
            -
                        request = Net::HTTP::Post.new(@path)
         | 
| 157 | 
            -
                        request.body = if @compression == 'gzip'
         | 
| 158 | 
            -
                                         request.add_field('Content-Encoding', 'gzip')
         | 
| 159 | 
            -
                                         Zlib.gzip(bytes)
         | 
| 160 | 
            -
                                       else
         | 
| 161 | 
            -
                                         bytes
         | 
| 162 | 
            -
                                       end
         | 
| 163 | 
            -
                        request.add_field('Content-Type', 'application/x-protobuf')
         | 
| 164 | 
            -
                        @headers.each { |key, value| request.add_field(key, value) }
         | 
| 165 154 |  | 
| 155 | 
            +
                      around_request do # rubocop:disable Metrics/BlockLength
         | 
| 166 156 | 
             
                        remaining_timeout = OpenTelemetry::Common::Utilities.maybe_timeout(timeout, start_time)
         | 
| 167 157 | 
             
                        return FAILURE if remaining_timeout.zero?
         | 
| 168 158 |  | 
| @@ -185,8 +175,7 @@ module OpenTelemetry | |
| 185 175 | 
             
                          redo if backoff?(retry_count: retry_count += 1, reason: response.code)
         | 
| 186 176 | 
             
                          FAILURE
         | 
| 187 177 | 
             
                        when Net::HTTPBadRequest, Net::HTTPClientError, Net::HTTPServerError
         | 
| 188 | 
            -
                           | 
| 189 | 
            -
                          response.body # Read and discard body
         | 
| 178 | 
            +
                          log_status(response.body)
         | 
| 190 179 | 
             
                          @metrics_reporter.add_to_counter('otel.otlp_exporter.failure', labels: { 'reason' => response.code })
         | 
| 191 180 | 
             
                          FAILURE
         | 
| 192 181 | 
             
                        when Net::HTTPRedirection
         | 
| @@ -231,6 +220,17 @@ module OpenTelemetry | |
| 231 220 | 
             
                      # TODO: figure out destination and reinitialize @http and @path
         | 
| 232 221 | 
             
                    end
         | 
| 233 222 |  | 
| 223 | 
            +
                    def log_status(body)
         | 
| 224 | 
            +
                      status = Google::Rpc::Status.decode(body)
         | 
| 225 | 
            +
                      details = status.details.map do |detail|
         | 
| 226 | 
            +
                        klass_or_nil = ::Google::Protobuf::DescriptorPool.generated_pool.lookup(detail.type_name).msgclass
         | 
| 227 | 
            +
                        detail.unpack(klass_or_nil) if klass_or_nil
         | 
| 228 | 
            +
                      end.compact
         | 
| 229 | 
            +
                      OpenTelemetry.handle_error(message: "OTLP exporter received rpc.Status{message=#{status.message}, details=#{details}}")
         | 
| 230 | 
            +
                    rescue StandardError => e
         | 
| 231 | 
            +
                      OpenTelemetry.handle_error(exception: e, message: 'unexpected error decoding rpc.Status in OTLP::Exporter#log_status')
         | 
| 232 | 
            +
                    end
         | 
| 233 | 
            +
             | 
| 234 234 | 
             
                    def measure_request_duration
         | 
| 235 235 | 
             
                      start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
         | 
| 236 236 | 
             
                      begin
         | 
| @@ -270,7 +270,7 @@ module OpenTelemetry | |
| 270 270 | 
             
                      true
         | 
| 271 271 | 
             
                    end
         | 
| 272 272 |  | 
| 273 | 
            -
                    def encode(span_data) # rubocop:disable Metrics/ | 
| 273 | 
            +
                    def encode(span_data) # rubocop:disable Metrics/MethodLength
         | 
| 274 274 | 
             
                      Opentelemetry::Proto::Collector::Trace::V1::ExportTraceServiceRequest.encode(
         | 
| 275 275 | 
             
                        Opentelemetry::Proto::Collector::Trace::V1::ExportTraceServiceRequest.new(
         | 
| 276 276 | 
             
                          resource_spans: span_data
         | 
| @@ -300,7 +300,7 @@ module OpenTelemetry | |
| 300 300 | 
             
                      nil
         | 
| 301 301 | 
             
                    end
         | 
| 302 302 |  | 
| 303 | 
            -
                    def as_otlp_span(span_data) # rubocop:disable Metrics/ | 
| 303 | 
            +
                    def as_otlp_span(span_data) # rubocop:disable Metrics/MethodLength
         | 
| 304 304 | 
             
                      Opentelemetry::Proto::Trace::V1::Span.new(
         | 
| 305 305 | 
             
                        trace_id: span_data.trace_id,
         | 
| 306 306 | 
             
                        span_id: span_data.span_id,
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: opentelemetry-exporter-otlp
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.23.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - OpenTelemetry Authors
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2022- | 
| 11 | 
            +
            date: 2022-06-23 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: google-protobuf
         | 
| @@ -16,14 +16,28 @@ dependencies: | |
| 16 16 | 
             
                requirements:
         | 
| 17 17 | 
             
                - - "~>"
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version: '3. | 
| 19 | 
            +
                    version: '3.19'
         | 
| 20 20 | 
             
              type: :runtime
         | 
| 21 21 | 
             
              prerelease: false
         | 
| 22 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 23 | 
             
                requirements:
         | 
| 24 24 | 
             
                - - "~>"
         | 
| 25 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            -
                    version: '3. | 
| 26 | 
            +
                    version: '3.19'
         | 
| 27 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 28 | 
            +
              name: googleapis-common-protos-types
         | 
| 29 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 30 | 
            +
                requirements:
         | 
| 31 | 
            +
                - - "~>"
         | 
| 32 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 33 | 
            +
                    version: '1.3'
         | 
| 34 | 
            +
              type: :runtime
         | 
| 35 | 
            +
              prerelease: false
         | 
| 36 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 37 | 
            +
                requirements:
         | 
| 38 | 
            +
                - - "~>"
         | 
| 39 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 40 | 
            +
                    version: '1.3'
         | 
| 27 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 42 | 
             
              name: opentelemetry-api
         | 
| 29 43 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -44,14 +58,14 @@ dependencies: | |
| 44 58 | 
             
                requirements:
         | 
| 45 59 | 
             
                - - "~>"
         | 
| 46 60 | 
             
                  - !ruby/object:Gem::Version
         | 
| 47 | 
            -
                    version: 0.19. | 
| 61 | 
            +
                    version: 0.19.6
         | 
| 48 62 | 
             
              type: :runtime
         | 
| 49 63 | 
             
              prerelease: false
         | 
| 50 64 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 51 65 | 
             
                requirements:
         | 
| 52 66 | 
             
                - - "~>"
         | 
| 53 67 | 
             
                  - !ruby/object:Gem::Version
         | 
| 54 | 
            -
                    version: 0.19. | 
| 68 | 
            +
                    version: 0.19.6
         | 
| 55 69 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 56 70 | 
             
              name: opentelemetry-sdk
         | 
| 57 71 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -66,6 +80,20 @@ dependencies: | |
| 66 80 | 
             
                - - "~>"
         | 
| 67 81 | 
             
                  - !ruby/object:Gem::Version
         | 
| 68 82 | 
             
                    version: '1.0'
         | 
| 83 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 84 | 
            +
              name: opentelemetry-semantic_conventions
         | 
| 85 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 86 | 
            +
                requirements:
         | 
| 87 | 
            +
                - - ">="
         | 
| 88 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 89 | 
            +
                    version: '0'
         | 
| 90 | 
            +
              type: :runtime
         | 
| 91 | 
            +
              prerelease: false
         | 
| 92 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 93 | 
            +
                requirements:
         | 
| 94 | 
            +
                - - ">="
         | 
| 95 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 96 | 
            +
                    version: '0'
         | 
| 69 97 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 70 98 | 
             
              name: bundler
         | 
| 71 99 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -108,6 +136,20 @@ dependencies: | |
| 108 136 | 
             
                - - "~>"
         | 
| 109 137 | 
             
                  - !ruby/object:Gem::Version
         | 
| 110 138 | 
             
                    version: '5.0'
         | 
| 139 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 140 | 
            +
              name: opentelemetry-test-helpers
         | 
| 141 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 142 | 
            +
                requirements:
         | 
| 143 | 
            +
                - - ">="
         | 
| 144 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 145 | 
            +
                    version: '0'
         | 
| 146 | 
            +
              type: :development
         | 
| 147 | 
            +
              prerelease: false
         | 
| 148 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 149 | 
            +
                requirements:
         | 
| 150 | 
            +
                - - ">="
         | 
| 151 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 152 | 
            +
                    version: '0'
         | 
| 111 153 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 112 154 | 
             
              name: pry-byebug
         | 
| 113 155 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -238,10 +280,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby | |
| 238 280 | 
             
            licenses:
         | 
| 239 281 | 
             
            - Apache-2.0
         | 
| 240 282 | 
             
            metadata:
         | 
| 241 | 
            -
              changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0. | 
| 283 | 
            +
              changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.23.0/file.CHANGELOG.html
         | 
| 242 284 | 
             
              source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/exporter/otlp
         | 
| 243 285 | 
             
              bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
         | 
| 244 | 
            -
              documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0. | 
| 286 | 
            +
              documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.23.0
         | 
| 245 287 | 
             
            post_install_message: 
         | 
| 246 288 | 
             
            rdoc_options: []
         | 
| 247 289 | 
             
            require_paths:
         | 
| @@ -250,7 +292,7 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 250 292 | 
             
              requirements:
         | 
| 251 293 | 
             
              - - ">="
         | 
| 252 294 | 
             
                - !ruby/object:Gem::Version
         | 
| 253 | 
            -
                  version: 2. | 
| 295 | 
            +
                  version: 2.6.0
         | 
| 254 296 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 255 297 | 
             
              requirements:
         | 
| 256 298 | 
             
              - - ">="
         |