opentelemetry-exporter-otlp 0.24.0 → 0.25.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f4df026382336e315dde278109b3b4e009f0df5a48193afe310dbb6a8b792144
4
- data.tar.gz: '094b9bea07b4aea167f8a9b8b80ab269836f1e899b41aba22792f55603b9de6a'
3
+ metadata.gz: 2f9aea0b6f512ef219b267dc4072f7475e4841fd1def88b27d12554c773adc8f
4
+ data.tar.gz: bcf276421904dc4a4aa9ceb6f8f9a6af92d2e5888c9ecc4f4a0cfcc144b0c008
5
5
  SHA512:
6
- metadata.gz: 6c9d4259369e3db4ae04b60cd7dadc77606726902223f6ed6302ea5728f907bd0d2832d50ef1e3796ad3ab802277ee4cc96346522180b6726d602fc8523b0dea
7
- data.tar.gz: ba4d5bf4433064a5780659fe33fbbdacb6daad86e26ad77e356b82eed8bbdf9f0258cf4c228a5a56ed00216aa29638ae2fc8e46a44347f50ca42baf23f433662
6
+ metadata.gz: c65625e915c020720d6c8b11d209669023d4d9a5a6b7156b178564d2661528a87ad845037960e7baf7a938075a2d2437d3a5932fe185ada7074220eeb4a1133b
7
+ data.tar.gz: cf207907577da11a96997e8846660b1548ca74f1af871b4857d08ec0dad1a9b59e77ffc7aeffa715315f4bc8bbb5664f484d8744b96dad6bd96b6916e6a4cc32
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Release History: opentelemetry-exporter-otlp
2
2
 
3
+ ### v0.25.0 / 2023-06-01
4
+
5
+ * BREAKING CHANGE: Remove support for EoL Ruby 2.7
6
+
7
+ * ADDED: Remove support for EoL Ruby 2.7
8
+ * FIXED: Make version available to user agent header #1458
9
+
10
+ ### v0.24.1 / 2023-05-30
11
+
12
+ * FIXED: Add Ruby 3.2 to CI and do small fix
13
+ * FIXED: Adds User-Agent header in OTLP exporter
14
+
3
15
  ### v0.24.0 / 2022-09-14
4
16
 
5
17
  * ADDED: Support InstrumentationScope, and update OTLP proto to 0.18.0
@@ -35,6 +35,8 @@ module OpenTelemetry
35
35
  ERROR_MESSAGE_INVALID_HEADERS = 'headers must be a String with comma-separated URL Encoded UTF-8 k=v pairs or a Hash'
36
36
  private_constant(:ERROR_MESSAGE_INVALID_HEADERS)
37
37
 
38
+ DEFAULT_USER_AGENT = "OTel-OTLP-Exporter-Ruby/#{OpenTelemetry::Exporter::OTLP::VERSION} Ruby/#{RUBY_VERSION} (#{RUBY_PLATFORM}; #{RUBY_ENGINE}/#{RUBY_ENGINE_VERSION})".freeze
39
+
38
40
  def self.ssl_verify_mode
39
41
  if ENV.key?('OTEL_RUBY_EXPORTER_OTLP_SSL_VERIFY_PEER')
40
42
  OpenSSL::SSL::VERIFY_PEER
@@ -45,7 +47,7 @@ module OpenTelemetry
45
47
  end
46
48
  end
47
49
 
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
50
+ def initialize(endpoint: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_ENDPOINT', 'OTEL_EXPORTER_OTLP_ENDPOINT', default: 'http://localhost:4318/v1/traces'),
49
51
  certificate_file: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE', 'OTEL_EXPORTER_OTLP_CERTIFICATE'),
50
52
  ssl_verify_mode: Exporter.ssl_verify_mode,
51
53
  headers: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_HEADERS', 'OTEL_EXPORTER_OTLP_HEADERS', default: {}),
@@ -64,12 +66,7 @@ module OpenTelemetry
64
66
  @http = http_connection(@uri, ssl_verify_mode, certificate_file)
65
67
 
66
68
  @path = @uri.path
67
- @headers = case headers
68
- when String then parse_headers(headers)
69
- when Hash then headers
70
- else
71
- raise ArgumentError, ERROR_MESSAGE_INVALID_HEADERS
72
- end
69
+ @headers = prepare_headers(headers)
73
70
  @timeout = timeout.to_f
74
71
  @compression = compression
75
72
  @metrics_reporter = metrics_reporter || OpenTelemetry::SDK::Trace::Export::MetricsReporter
@@ -389,6 +386,19 @@ module OpenTelemetry
389
386
  result
390
387
  end
391
388
 
389
+ def prepare_headers(config_headers)
390
+ headers = case config_headers
391
+ when String then parse_headers(config_headers)
392
+ when Hash then config_headers.dup
393
+ else
394
+ raise ArgumentError, ERROR_MESSAGE_INVALID_HEADERS
395
+ end
396
+
397
+ headers['User-Agent'] = "#{headers.fetch('User-Agent', '')} #{DEFAULT_USER_AGENT}".strip
398
+
399
+ headers
400
+ end
401
+
392
402
  def parse_headers(raw)
393
403
  entries = raw.split(',')
394
404
  raise ArgumentError, ERROR_MESSAGE_INVALID_HEADERS if entries.empty?
@@ -398,6 +408,8 @@ module OpenTelemetry
398
408
  begin
399
409
  k = k.to_s.strip
400
410
  v = v.to_s.strip
411
+ rescue Encoding::CompatibilityError
412
+ raise ArgumentError, ERROR_MESSAGE_INVALID_HEADERS
401
413
  rescue ArgumentError => e
402
414
  raise e, ERROR_MESSAGE_INVALID_HEADERS
403
415
  end
@@ -8,7 +8,7 @@ module OpenTelemetry
8
8
  module Exporter
9
9
  module OTLP
10
10
  ## Current OpenTelemetry OTLP exporter version
11
- VERSION = '0.24.0'
11
+ VERSION = '0.25.0'
12
12
  end
13
13
  end
14
14
  end
@@ -4,8 +4,8 @@
4
4
  #
5
5
  # SPDX-License-Identifier: Apache-2.0
6
6
 
7
- require 'opentelemetry/exporter/otlp/exporter'
8
7
  require 'opentelemetry/exporter/otlp/version'
8
+ require 'opentelemetry/exporter/otlp/exporter'
9
9
 
10
10
  # OpenTelemetry is an open source observability framework, providing a
11
11
  # general-purpose API, SDK, and related tools required for the instrumentation
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.24.0
4
+ version: 0.25.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-09-14 00:00:00.000000000 Z
11
+ date: 2023-06-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: googleapis-common-protos-types
@@ -279,10 +279,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
279
279
  licenses:
280
280
  - Apache-2.0
281
281
  metadata:
282
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.24.0/file.CHANGELOG.html
282
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.25.0/file.CHANGELOG.html
283
283
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/exporter/otlp
284
284
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
285
- documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.24.0
285
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.25.0
286
286
  post_install_message:
287
287
  rdoc_options: []
288
288
  require_paths:
@@ -291,14 +291,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
291
291
  requirements:
292
292
  - - ">="
293
293
  - !ruby/object:Gem::Version
294
- version: 2.6.0
294
+ version: '3.0'
295
295
  required_rubygems_version: !ruby/object:Gem::Requirement
296
296
  requirements:
297
297
  - - ">="
298
298
  - !ruby/object:Gem::Version
299
299
  version: '0'
300
300
  requirements: []
301
- rubygems_version: 3.1.6
301
+ rubygems_version: 3.2.33
302
302
  signing_key:
303
303
  specification_version: 4
304
304
  summary: OTLP exporter for the OpenTelemetry framework