opentelemetry-exporter-jaeger 0.17.0 → 0.18.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 +4 -4
- data/CHANGELOG.md +9 -0
- data/README.md +9 -5
- data/lib/opentelemetry/exporter/jaeger/agent_exporter.rb +1 -1
- data/lib/opentelemetry/exporter/jaeger/collector_exporter.rb +14 -2
- data/lib/opentelemetry/exporter/jaeger/encoder.rb +5 -5
- data/lib/opentelemetry/exporter/jaeger/version.rb +1 -1
- data/thrift/gen-rb/jaeger_types.rb +2 -2
- metadata +10 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aea1f8e091f974dbb5bfae4d6e9506062db6b15a7d692cb4a62e75c7f17cd293
|
4
|
+
data.tar.gz: 64e21515595bc61b93956359efe7e849a6326ba10fe14edadb9f2ee625970af1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2b0454fd14bd43b70cf0047b84d3c39edeffc3c5d8125d7737a2ee38de94f31c1e71997cd0395b036768cd5626bf96645f12c0549e2416384e5016bf1fbe1ade
|
7
|
+
data.tar.gz: afb4a85910189015834c6d260a2b1050b914d9092c19b12da2bdc76b25da3b6b38e5467874dc0da1b02f895093c41ce2b8ed3ea291550f9427b29e0b3f347da1
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
# Release History: opentelemetry-exporter-jaeger
|
2
2
|
|
3
|
+
### v0.18.0 / 2021-05-21
|
4
|
+
|
5
|
+
* BREAKING CHANGE: Replace Time.now with Process.clock_gettime
|
6
|
+
|
7
|
+
* ADDED: Export to jaeger collectors w/ self-signed certs
|
8
|
+
* FIXED: Replace Time.now with Process.clock_gettime
|
9
|
+
* FIXED: Rename constant to hide warning message
|
10
|
+
* FIXED: Index a link trace_id in middle rather than end
|
11
|
+
|
3
12
|
### v0.17.0 / 2021-04-22
|
4
13
|
|
5
14
|
* ADDED: Add zipkin exporter
|
data/README.md
CHANGED
@@ -75,11 +75,15 @@ The agent exporter can be configured explicitly in code, as shown above, or via
|
|
75
75
|
|
76
76
|
The collector exporter can be configured explicitly in code, as shown above, or via environment variables. The configuration parameters, environment variables, and defaults are shown below.
|
77
77
|
|
78
|
-
| Parameter
|
79
|
-
|
|
80
|
-
| `endpoint:`
|
81
|
-
| `username:`
|
82
|
-
| `password:`
|
78
|
+
| Parameter | Environment variable | Default |
|
79
|
+
| ------------------ | ---------------------------------------------- | -------------------------- |
|
80
|
+
| `endpoint:` | `OTEL_EXPORTER_JAEGER_ENDPOINT` | `"http://localhost:14268"` |
|
81
|
+
| `username:` | `OTEL_EXPORTER_JAEGER_USER` | `nil` |
|
82
|
+
| `password:` | `OTEL_EXPORTER_JAEGER_PASSWORD` | `nil` |
|
83
|
+
| `ssl_verify_mode:` | `OTEL_RUBY_EXPORTER_JAEGER_SSL_VERIFY_PEER` or | `OpenSSL::SSL:VERIFY_PEER` |
|
84
|
+
| | `OTEL_RUBY_EXPORTER_JAEGER_SSL_VERIFY_NONE` | |
|
85
|
+
|
86
|
+
`ssl_verify_mode:` parameter values should be flags for server certificate verification: `OpenSSL::SSL:VERIFY_PEER` and `OpenSSL::SSL:VERIFY_NONE` are acceptable. These values can also be set using the appropriately named environment variables as shown where `VERIFY_PEER` will take precedence over `VERIFY_NONE`. Please see [the Net::HTTP docs](https://ruby-doc.org/stdlib-2.5.1/libdoc/net/http/rdoc/Net/HTTP.html#verify_mode) for more information about these flags.
|
83
87
|
|
84
88
|
## How can I get involved?
|
85
89
|
|
@@ -35,7 +35,7 @@ module OpenTelemetry
|
|
35
35
|
def export(span_data, timeout: nil)
|
36
36
|
return FAILURE if @shutdown
|
37
37
|
|
38
|
-
start_time =
|
38
|
+
start_time = OpenTelemetry::Common::Utilities.timeout_timestamp
|
39
39
|
encoded_batches(span_data) do |batch|
|
40
40
|
return FAILURE if @shutdown || OpenTelemetry::Common::Utilities.maybe_timeout(timeout, start_time)&.zero?
|
41
41
|
|
@@ -15,13 +15,25 @@ module OpenTelemetry
|
|
15
15
|
FAILURE = OpenTelemetry::SDK::Trace::Export::FAILURE
|
16
16
|
private_constant(:SUCCESS, :FAILURE)
|
17
17
|
|
18
|
+
def self.ssl_verify_mode
|
19
|
+
if ENV.key?('OTEL_RUBY_EXPORTER_JAEGER_SSL_VERIFY_PEER')
|
20
|
+
OpenSSL::SSL::VERIFY_PEER
|
21
|
+
elsif ENV.key?('OTEL_RUBY_EXPORTER_JAEGER_SSL_VERIFY_NONE')
|
22
|
+
OpenSSL::SSL::VERIFY_NONE
|
23
|
+
else
|
24
|
+
OpenSSL::SSL::VERIFY_PEER
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
18
28
|
def initialize(endpoint: ENV.fetch('OTEL_EXPORTER_JAEGER_ENDPOINT', 'http://localhost:14268/api/traces'),
|
19
29
|
username: ENV['OTEL_EXPORTER_JAEGER_USER'],
|
20
|
-
password: ENV['OTEL_EXPORTER_JAEGER_PASSWORD']
|
30
|
+
password: ENV['OTEL_EXPORTER_JAEGER_PASSWORD'],
|
31
|
+
ssl_verify_mode: CollectorExporter.ssl_verify_mode)
|
21
32
|
raise ArgumentError, "invalid url for Jaeger::CollectorExporter #{endpoint}" if invalid_url?(endpoint)
|
22
33
|
raise ArgumentError, 'username and password should either both be nil or both be set' if username.nil? != password.nil?
|
23
34
|
|
24
|
-
|
35
|
+
transport_opts = { ssl_verify_mode: Integer(ssl_verify_mode) }
|
36
|
+
@transport = ::Thrift::HTTPClientTransport.new(endpoint, transport_opts)
|
25
37
|
unless username.nil? || password.nil?
|
26
38
|
authorization = Base64.strict_encode64("#{username}:#{password}")
|
27
39
|
auth_header = { 'Authorization': "Basic #{authorization}" }
|
@@ -65,8 +65,8 @@ module OpenTelemetry
|
|
65
65
|
end
|
66
66
|
|
67
67
|
def encoded_span(span_data) # rubocop:disable Metrics/AbcSize
|
68
|
-
start_time =
|
69
|
-
duration =
|
68
|
+
start_time = span_data.start_timestamp / 1_000
|
69
|
+
duration = span_data.end_timestamp / 1_000 - start_time
|
70
70
|
|
71
71
|
Thrift::Span.new(
|
72
72
|
'traceIdLow' => int64(span_data.trace_id[8, 8]),
|
@@ -102,7 +102,7 @@ module OpenTelemetry
|
|
102
102
|
def encoded_logs(events)
|
103
103
|
events&.map do |event|
|
104
104
|
Thrift::Log.new(
|
105
|
-
'timestamp' =>
|
105
|
+
'timestamp' => event.timestamp / 1_000,
|
106
106
|
'fields' => encoded_tags(event.attributes) + encoded_tags('name' => event.name)
|
107
107
|
)
|
108
108
|
end
|
@@ -112,8 +112,8 @@ module OpenTelemetry
|
|
112
112
|
links&.map do |link|
|
113
113
|
Thrift::SpanRef.new(
|
114
114
|
'refType' => Thrift::SpanRefType::FOLLOWS_FROM,
|
115
|
-
'traceIdLow' => int64(link.span_context.trace_id[
|
116
|
-
'traceIdHigh' => int64(link.span_context.trace_id[0,
|
115
|
+
'traceIdLow' => int64(link.span_context.trace_id[8, 8]),
|
116
|
+
'traceIdHigh' => int64(link.span_context.trace_id[0, 8]),
|
117
117
|
'spanId' => int64(link.span_context.span_id)
|
118
118
|
)
|
119
119
|
end
|
@@ -77,11 +77,11 @@ module OpenTelemetry
|
|
77
77
|
class Log
|
78
78
|
include ::Thrift::Struct, ::Thrift::Struct_Union
|
79
79
|
TIMESTAMP = 1
|
80
|
-
|
80
|
+
FIELDS_LIST = 2
|
81
81
|
|
82
82
|
FIELDS = {
|
83
83
|
TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
|
84
|
-
|
84
|
+
FIELDS_LIST => {:type => ::Thrift::Types::LIST, :name => 'fields', :element => {:type => ::Thrift::Types::STRUCT, :class => ::OpenTelemetry::Exporter::Jaeger::Thrift::Tag}}
|
85
85
|
}
|
86
86
|
|
87
87
|
def struct_fields; FIELDS; end
|
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.18.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: 2021-
|
11
|
+
date: 2021-05-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: opentelemetry-api
|
@@ -16,42 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 1.0.0.rc1
|
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: 0.
|
26
|
+
version: 1.0.0.rc1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: opentelemetry-common
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.18.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.18.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: opentelemetry-sdk
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
47
|
+
version: 1.0.0.rc1
|
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: 0.
|
54
|
+
version: 1.0.0.rc1
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: thrift
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -223,10 +223,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
|
|
223
223
|
licenses:
|
224
224
|
- Apache-2.0
|
225
225
|
metadata:
|
226
|
-
changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-jaeger/v0.
|
226
|
+
changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-jaeger/v0.18.0/file.CHANGELOG.html
|
227
227
|
source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/exporter/jaeger
|
228
228
|
bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
|
229
|
-
documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-jaeger/v0.
|
229
|
+
documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-jaeger/v0.18.0
|
230
230
|
post_install_message:
|
231
231
|
rdoc_options: []
|
232
232
|
require_paths:
|