opentelemetry-exporter-otlp 0.24.0 → 0.25.0

Sign up to get free protection for your applications and to get access to all the features.
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