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:
|