opentelemetry-exporter-otlp 0.26.1 → 0.26.3
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 +10 -0
- data/lib/opentelemetry/exporter/otlp/exporter.rb +26 -12
- data/lib/opentelemetry/exporter/otlp/version.rb +1 -1
- metadata +4 -4
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 7bc7e8bbf3754ac0b3e7666565be7a3b18c5a0efe17324785a50585d091bbf4a
         | 
| 4 | 
            +
              data.tar.gz: d69c6affa0eaa01c894f86bf943e71053ea0c18b127e4492b219c397ca1376e5
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: f882b1c1e1ae24c283ce2e83c97f80b055a1ae95d0d35b27f7dc3bd271053b712232b0b939d44b4cd35fd9cd2edbaff50ac54a2e698f834773d7e3c5e448519a
         | 
| 7 | 
            +
              data.tar.gz: 65c48f81bf8a89d24ded2d1078d819894f26cbabf6ce0df6a48d8f64fc62a1e8246aad91495733838f1c6e38339eddb6d1651fc39520f7832db000eb5d99c1a5
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,5 +1,15 @@ | |
| 1 1 | 
             
            # Release History: opentelemetry-exporter-otlp
         | 
| 2 2 |  | 
| 3 | 
            +
            ### v0.26.3 / 2024-02-01
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            * FIXED: do not log request failure in backoff?
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            ### v0.26.2 / 2024-01-23
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            * FIXED: Align endpoint environment variable handling with spec
         | 
| 10 | 
            +
            * FIXED: Require csv for ruby-3.4 compatibility
         | 
| 11 | 
            +
            * FIXED: Add context to metrics reporting of buffer-full events
         | 
| 12 | 
            +
             | 
| 3 13 | 
             
            ### v0.26.1 / 2023-07-29
         | 
| 4 14 |  | 
| 5 15 | 
             
            * FIXED: Regenerate v0.20.0 protos
         | 
| @@ -7,7 +7,6 @@ | |
| 7 7 | 
             
            require 'opentelemetry/common'
         | 
| 8 8 | 
             
            require 'opentelemetry/sdk'
         | 
| 9 9 | 
             
            require 'net/http'
         | 
| 10 | 
            -
            require 'csv'
         | 
| 11 10 | 
             
            require 'zlib'
         | 
| 12 11 |  | 
| 13 12 | 
             
            require 'google/rpc/status_pb'
         | 
| @@ -47,21 +46,16 @@ module OpenTelemetry | |
| 47 46 | 
             
                      end
         | 
| 48 47 | 
             
                    end
         | 
| 49 48 |  | 
| 50 | 
            -
                    def initialize(endpoint:  | 
| 49 | 
            +
                    def initialize(endpoint: nil,
         | 
| 51 50 | 
             
                                   certificate_file: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE', 'OTEL_EXPORTER_OTLP_CERTIFICATE'),
         | 
| 52 51 | 
             
                                   ssl_verify_mode: Exporter.ssl_verify_mode,
         | 
| 53 52 | 
             
                                   headers: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_HEADERS', 'OTEL_EXPORTER_OTLP_HEADERS', default: {}),
         | 
| 54 53 | 
             
                                   compression: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_COMPRESSION', 'OTEL_EXPORTER_OTLP_COMPRESSION', default: 'gzip'),
         | 
| 55 54 | 
             
                                   timeout: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_TIMEOUT', 'OTEL_EXPORTER_OTLP_TIMEOUT', default: 10),
         | 
| 56 55 | 
             
                                   metrics_reporter: nil)
         | 
| 57 | 
            -
                       | 
| 58 | 
            -
                      raise ArgumentError, "unsupported compression key #{compression}" unless compression.nil? || %w[gzip none].include?(compression)
         | 
| 56 | 
            +
                      @uri = prepare_endpoint(endpoint)
         | 
| 59 57 |  | 
| 60 | 
            -
                       | 
| 61 | 
            -
                               URI.join(endpoint, 'v1/traces')
         | 
| 62 | 
            -
                             else
         | 
| 63 | 
            -
                               URI(endpoint)
         | 
| 64 | 
            -
                             end
         | 
| 58 | 
            +
                      raise ArgumentError, "unsupported compression key #{compression}" unless compression.nil? || %w[gzip none].include?(compression)
         | 
| 65 59 |  | 
| 66 60 | 
             
                      @http = http_connection(@uri, ssl_verify_mode, certificate_file)
         | 
| 67 61 |  | 
| @@ -172,8 +166,7 @@ module OpenTelemetry | |
| 172 166 | 
             
                          redo if backoff?(retry_count: retry_count += 1, reason: response.code)
         | 
| 173 167 | 
             
                          FAILURE
         | 
| 174 168 | 
             
                        when Net::HTTPNotFound
         | 
| 175 | 
            -
                           | 
| 176 | 
            -
                          @metrics_reporter.add_to_counter('otel.otlp_exporter.failure', labels: { 'reason' => response.code })
         | 
| 169 | 
            +
                          log_request_failure(response.code)
         | 
| 177 170 | 
             
                          FAILURE
         | 
| 178 171 | 
             
                        when Net::HTTPBadRequest, Net::HTTPClientError, Net::HTTPServerError
         | 
| 179 172 | 
             
                          log_status(response.body)
         | 
| @@ -185,6 +178,7 @@ module OpenTelemetry | |
| 185 178 | 
             
                          redo if backoff?(retry_after: 0, retry_count: retry_count += 1, reason: response.code)
         | 
| 186 179 | 
             
                        else
         | 
| 187 180 | 
             
                          @http.finish
         | 
| 181 | 
            +
                          log_request_failure(response.code)
         | 
| 188 182 | 
             
                          FAILURE
         | 
| 189 183 | 
             
                        end
         | 
| 190 184 | 
             
                      rescue Net::OpenTimeout, Net::ReadTimeout
         | 
| @@ -227,11 +221,16 @@ module OpenTelemetry | |
| 227 221 | 
             
                        klass_or_nil = ::Google::Protobuf::DescriptorPool.generated_pool.lookup(detail.type_name).msgclass
         | 
| 228 222 | 
             
                        detail.unpack(klass_or_nil) if klass_or_nil
         | 
| 229 223 | 
             
                      end.compact
         | 
| 230 | 
            -
                      OpenTelemetry.handle_error(message: "OTLP exporter received rpc.Status{message=#{status.message}, details=#{details}}")
         | 
| 224 | 
            +
                      OpenTelemetry.handle_error(message: "OTLP exporter received rpc.Status{message=#{status.message}, details=#{details}} for uri=#{@uri}")
         | 
| 231 225 | 
             
                    rescue StandardError => e
         | 
| 232 226 | 
             
                      OpenTelemetry.handle_error(exception: e, message: 'unexpected error decoding rpc.Status in OTLP::Exporter#log_status')
         | 
| 233 227 | 
             
                    end
         | 
| 234 228 |  | 
| 229 | 
            +
                    def log_request_failure(response_code)
         | 
| 230 | 
            +
                      OpenTelemetry.handle_error(message: "OTLP exporter received http.code=#{response_code} for uri='#{@uri}' in OTLP::Exporter#send_bytes")
         | 
| 231 | 
            +
                      @metrics_reporter.add_to_counter('otel.otlp_exporter.failure', labels: { 'reason' => response_code })
         | 
| 232 | 
            +
                    end
         | 
| 233 | 
            +
             | 
| 235 234 | 
             
                    def measure_request_duration
         | 
| 236 235 | 
             
                      start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
         | 
| 237 236 | 
             
                      begin
         | 
| @@ -386,6 +385,21 @@ module OpenTelemetry | |
| 386 385 | 
             
                      result
         | 
| 387 386 | 
             
                    end
         | 
| 388 387 |  | 
| 388 | 
            +
                    def prepare_endpoint(endpoint)
         | 
| 389 | 
            +
                      endpoint ||= ENV['OTEL_EXPORTER_OTLP_TRACES_ENDPOINT']
         | 
| 390 | 
            +
                      if endpoint.nil?
         | 
| 391 | 
            +
                        endpoint = ENV['OTEL_EXPORTER_OTLP_ENDPOINT'] || 'http://localhost:4318'
         | 
| 392 | 
            +
                        endpoint += '/' unless endpoint.end_with?('/')
         | 
| 393 | 
            +
                        URI.join(endpoint, 'v1/traces')
         | 
| 394 | 
            +
                      elsif endpoint.strip.empty?
         | 
| 395 | 
            +
                        raise ArgumentError, "invalid url for OTLP::Exporter #{endpoint}"
         | 
| 396 | 
            +
                      else
         | 
| 397 | 
            +
                        URI(endpoint)
         | 
| 398 | 
            +
                      end
         | 
| 399 | 
            +
                    rescue URI::InvalidURIError
         | 
| 400 | 
            +
                      raise ArgumentError, "invalid url for OTLP::Exporter #{endpoint}"
         | 
| 401 | 
            +
                    end
         | 
| 402 | 
            +
             | 
| 389 403 | 
             
                    def prepare_headers(config_headers)
         | 
| 390 404 | 
             
                      headers = case config_headers
         | 
| 391 405 | 
             
                                when String then parse_headers(config_headers)
         | 
    
        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.26. | 
| 4 | 
            +
              version: 0.26.3
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - OpenTelemetry Authors
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2024-02-01 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: googleapis-common-protos-types
         | 
| @@ -289,10 +289,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby | |
| 289 289 | 
             
            licenses:
         | 
| 290 290 | 
             
            - Apache-2.0
         | 
| 291 291 | 
             
            metadata:
         | 
| 292 | 
            -
              changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.26. | 
| 292 | 
            +
              changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.26.3/file.CHANGELOG.html
         | 
| 293 293 | 
             
              source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/exporter/otlp
         | 
| 294 294 | 
             
              bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
         | 
| 295 | 
            -
              documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.26. | 
| 295 | 
            +
              documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.26.3
         | 
| 296 296 | 
             
            post_install_message: 
         | 
| 297 297 | 
             
            rdoc_options: []
         | 
| 298 298 | 
             
            require_paths:
         |