opentelemetry-exporter-jaeger 0.21.0 → 0.22.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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f89ac4b784e32860c8bc11bbfc96cbd40684d8b32a3ee9b187a7632e93286d15
|
4
|
+
data.tar.gz: d9953776e3c537296d8704bdfc486871b818c01f125d4b9d7368c1fc04887674
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8d61264052748362dc0c4b02f085017176a22eb4436cb1a415fb45328190c3b8a0d2fe7eeb22368ecd72c09da3f0ea04db7f8cb1b7395a94d5d9631223fdb8f1
|
7
|
+
data.tar.gz: 9679139b3932b3283021cdc4e0620bba094ffdef05b024060804d22cdcfa0e0002f2f78fb1e56f02bc0b9ad72b0dafaed3a1693cbad502cb83784f1e1de59709
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
# Release History: opentelemetry-exporter-jaeger
|
2
2
|
|
3
|
+
### v0.22.0 / 2022-09-14
|
4
|
+
|
5
|
+
* ADDED: Add dropped events/attributes/links counts to zipkin + jaeger exporters
|
6
|
+
* ADDED: Metrics reporter for Jaeger collector exporter
|
7
|
+
* ADDED: Support InstrumentationScope, and update OTLP proto to 0.18.0
|
8
|
+
|
3
9
|
### v0.21.0 / 2022-06-09
|
4
10
|
|
5
11
|
* (No significant changes)
|
@@ -29,7 +29,8 @@ module OpenTelemetry
|
|
29
29
|
username: ENV['OTEL_EXPORTER_JAEGER_USER'],
|
30
30
|
password: ENV['OTEL_EXPORTER_JAEGER_PASSWORD'],
|
31
31
|
timeout: ENV.fetch('OTEL_EXPORTER_JAEGER_TIMEOUT', 10),
|
32
|
-
ssl_verify_mode: CollectorExporter.ssl_verify_mode
|
32
|
+
ssl_verify_mode: CollectorExporter.ssl_verify_mode,
|
33
|
+
metrics_reporter: nil)
|
33
34
|
raise ArgumentError, "invalid url for Jaeger::CollectorExporter #{endpoint}" unless OpenTelemetry::Common::Utilities.valid_url?(endpoint)
|
34
35
|
raise ArgumentError, 'username and password should either both be nil or both be set' if username.nil? != password.nil?
|
35
36
|
|
@@ -41,6 +42,7 @@ module OpenTelemetry
|
|
41
42
|
@transport.add_headers(auth_header)
|
42
43
|
end
|
43
44
|
@serializer = ::Thrift::Serializer.new
|
45
|
+
@metrics_reporter = metrics_reporter || OpenTelemetry::SDK::Trace::Export::MetricsReporter
|
44
46
|
@shutdown = false
|
45
47
|
end
|
46
48
|
|
@@ -59,10 +61,13 @@ module OpenTelemetry
|
|
59
61
|
end
|
60
62
|
|
61
63
|
OpenTelemetry::Common::Utilities.untraced do
|
62
|
-
|
64
|
+
measure_request_duration do
|
65
|
+
@transport.flush
|
66
|
+
end
|
63
67
|
end
|
64
68
|
SUCCESS
|
65
69
|
rescue StandardError => e
|
70
|
+
@metrics_reporter.add_to_counter('otel.jaeger_exporter.failure', labels: { 'reason' => e.class.to_s })
|
66
71
|
OpenTelemetry.handle_error(exception: e, message: 'unexpected error in Jaeger::CollectorExporter#export')
|
67
72
|
FAILURE
|
68
73
|
end
|
@@ -95,6 +100,15 @@ module OpenTelemetry
|
|
95
100
|
Thrift::Batch.new('process' => process, 'spans' => spans)
|
96
101
|
end
|
97
102
|
end
|
103
|
+
|
104
|
+
def measure_request_duration
|
105
|
+
start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
|
106
|
+
yield
|
107
|
+
ensure
|
108
|
+
stop = Process.clock_gettime(Process::CLOCK_MONOTONIC)
|
109
|
+
duration_ms = 1000.0 * (stop - start)
|
110
|
+
@metrics_reporter.record_value('otel.jaeger_exporter.request_duration', value: duration_ms)
|
111
|
+
end
|
98
112
|
end
|
99
113
|
end
|
100
114
|
end
|
@@ -64,10 +64,23 @@ module OpenTelemetry
|
|
64
64
|
)
|
65
65
|
end
|
66
66
|
|
67
|
-
def encoded_span(span_data) # rubocop:disable Metrics/
|
67
|
+
def encoded_span(span_data) # rubocop:disable Metrics/MethodLength, Metrics/CyclomaticComplexity
|
68
68
|
start_time = span_data.start_timestamp / 1_000
|
69
69
|
duration = span_data.end_timestamp / 1_000 - start_time
|
70
70
|
|
71
|
+
tags = encoded_tags(span_data.attributes) +
|
72
|
+
encoded_status(span_data.status) +
|
73
|
+
encoded_kind(span_data.kind) +
|
74
|
+
encoded_instrumentation_scope(span_data.instrumentation_scope)
|
75
|
+
|
76
|
+
dropped_attributes_count = span_data.total_recorded_attributes - span_data.attributes&.size.to_i
|
77
|
+
dropped_events_count = span_data.total_recorded_events - span_data.events&.size.to_i
|
78
|
+
dropped_links_count = span_data.total_recorded_links - span_data.links&.size.to_i
|
79
|
+
|
80
|
+
tags << encoded_tag('otel.dropped_attributes_count', dropped_attributes_count) if dropped_attributes_count.positive?
|
81
|
+
tags << encoded_tag('otel.dropped_events_count', dropped_events_count) if dropped_events_count.positive?
|
82
|
+
tags << encoded_tag('otel.dropped_links_count', dropped_links_count) if dropped_links_count.positive?
|
83
|
+
|
71
84
|
Thrift::Span.new(
|
72
85
|
'traceIdLow' => int64(span_data.trace_id[8, 8]),
|
73
86
|
'traceIdHigh' => int64(span_data.trace_id[0, 8]),
|
@@ -78,10 +91,7 @@ module OpenTelemetry
|
|
78
91
|
'flags' => span_data.trace_flags.sampled? ? 1 : 0,
|
79
92
|
'startTime' => start_time,
|
80
93
|
'duration' => duration,
|
81
|
-
'tags' =>
|
82
|
-
encoded_status(span_data.status) +
|
83
|
-
encoded_kind(span_data.kind) +
|
84
|
-
encoded_instrumentation_library(span_data.instrumentation_library),
|
94
|
+
'tags' => tags,
|
85
95
|
'logs' => encoded_logs(span_data.events)
|
86
96
|
)
|
87
97
|
end
|
@@ -131,12 +141,20 @@ module OpenTelemetry
|
|
131
141
|
)
|
132
142
|
end
|
133
143
|
|
134
|
-
def
|
135
|
-
return EMPTY_ARRAY unless
|
144
|
+
def encoded_instrumentation_scope(instrumentation_scope)
|
145
|
+
return EMPTY_ARRAY unless instrumentation_scope
|
136
146
|
|
137
147
|
tags = []
|
138
|
-
|
139
|
-
|
148
|
+
if instrumentation_scope.name
|
149
|
+
tags << encoded_tag('otel.scope.name', instrumentation_scope.name)
|
150
|
+
tags << encoded_tag('otel.library.name', instrumentation_scope.name)
|
151
|
+
end
|
152
|
+
|
153
|
+
if instrumentation_scope.version
|
154
|
+
tags << encoded_tag('otel.scope.version', instrumentation_scope.version)
|
155
|
+
tags << encoded_tag('otel.library.version', instrumentation_scope.version)
|
156
|
+
end
|
157
|
+
|
140
158
|
tags
|
141
159
|
end
|
142
160
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opentelemetry-exporter-jaeger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.22.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-09-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: opentelemetry-api
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
19
|
+
version: '1.1'
|
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: '1.
|
26
|
+
version: '1.1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: opentelemetry-common
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '1.
|
47
|
+
version: '1.2'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '1.
|
54
|
+
version: '1.2'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: opentelemetry-semantic_conventions
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -150,20 +150,34 @@ dependencies:
|
|
150
150
|
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '12.0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: rspec-mocks
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
153
167
|
- !ruby/object:Gem::Dependency
|
154
168
|
name: rubocop
|
155
169
|
requirement: !ruby/object:Gem::Requirement
|
156
170
|
requirements:
|
157
171
|
- - "~>"
|
158
172
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
173
|
+
version: '1.3'
|
160
174
|
type: :development
|
161
175
|
prerelease: false
|
162
176
|
version_requirements: !ruby/object:Gem::Requirement
|
163
177
|
requirements:
|
164
178
|
- - "~>"
|
165
179
|
- !ruby/object:Gem::Version
|
166
|
-
version:
|
180
|
+
version: '1.3'
|
167
181
|
- !ruby/object:Gem::Dependency
|
168
182
|
name: simplecov
|
169
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -251,10 +265,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
|
|
251
265
|
licenses:
|
252
266
|
- Apache-2.0
|
253
267
|
metadata:
|
254
|
-
changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-jaeger/v0.
|
268
|
+
changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-jaeger/v0.22.0/file.CHANGELOG.html
|
255
269
|
source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/exporter/jaeger
|
256
270
|
bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
|
257
|
-
documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-jaeger/v0.
|
271
|
+
documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-jaeger/v0.22.0
|
258
272
|
post_install_message:
|
259
273
|
rdoc_options: []
|
260
274
|
require_paths:
|