opentelemetry-exporter-jaeger 0.8.0 → 0.13.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: ef11e9bffe5473b6c509d6b0b146734425a45c861fe1b6b4497157c056a1d8e5
4
- data.tar.gz: 0fd8eeea6fd343d977791239b48a621e34ec60617d6adcdc6df163c216326cdb
3
+ metadata.gz: 8d0e654477f44b2ea26f79309a2e97a27c263944cc6b2f0197a9970a761d6bcc
4
+ data.tar.gz: 445b71745ce42e3ef5663abca54cd054b36886f77f40057bb959ce237c7c84ae
5
5
  SHA512:
6
- metadata.gz: f641e6bdb691090b6588f8122eef54c5287562aab81806a7fc6d765a419a5f09183821ea04656354a3938ad8934cd7823bb87564318a0837612d697dc1628c6f
7
- data.tar.gz: ec0199b2c69385778196d7b4a252cb3f8a40bd98461d66dd71384b80edf4eb7521301c784e7ff7d2a9f40bf40eb88a4d16b57e708ab91afb266bdf5ad6129b2e
6
+ metadata.gz: 75284455a0a3a2a9f639524fce113c3d293d19e013430d9b352b4618e2c15a1df74b9da618b62ed6968e04f8f16caad1cadd9f55faaa5922d7eff142f6d442a0
7
+ data.tar.gz: edee99a7928706c94d48c7498ad431b6d462add2b971f7a3bdee9f16f1350c6d8b92d67c2a4c468aaa5f97ff352da102576c9fb3e78a4a858ad4b5d4a45e4859
@@ -1,5 +1,29 @@
1
1
  # Release History: opentelemetry-exporter-jaeger
2
2
 
3
+ ### v0.13.0 / 2021-01-29
4
+
5
+ * ADDED: Provide default resource in SDK
6
+ * ADDED: Add untraced wrapper to common utils
7
+ * FIXED: Jaeger ref type should be FOLLOWS_FROM
8
+
9
+ ### v0.12.0 / 2020-12-24
10
+
11
+ * ADDED: Structured error handling
12
+
13
+ ### v0.11.0 / 2020-12-11
14
+
15
+ * FIXED: Copyright comments to not reference year
16
+
17
+ ### v0.10.0 / 2020-12-03
18
+
19
+ * (No significant changes)
20
+
21
+ ### v0.9.0 / 2020-11-27
22
+
23
+ * BREAKING CHANGE: Add timeout for force_flush and shutdown
24
+
25
+ * ADDED: Add timeout for force_flush and shutdown
26
+
3
27
  ### v0.8.0 / 2020-10-27
4
28
 
5
29
  * BREAKING CHANGE: Move context/span methods to Trace module
data/LICENSE CHANGED
@@ -186,7 +186,7 @@
186
186
  same "printed page" as the copyright notice for easier
187
187
  identification within third-party archives.
188
188
 
189
- Copyright 2020 OpenTelemetry Authors
189
+ Copyright The OpenTelemetry Authors
190
190
 
191
191
  Licensed under the Apache License, Version 2.0 (the "License");
192
192
  you may not use this file except in compliance with the License.
data/README.md CHANGED
@@ -96,8 +96,8 @@ The `opentelemetry-exporter-jaeger` gem is distributed under the Apache 2.0 lice
96
96
  [opentelemetry-home]: https://opentelemetry.io
97
97
  [bundler-home]: https://bundler.io
98
98
  [repo-github]: https://github.com/open-telemetry/opentelemetry-ruby
99
- [license-github]: https://github.com/open-telemetry/opentelemetry-ruby/blob/master/LICENSE
100
- [examples-github]: https://github.com/open-telemetry/opentelemetry-ruby/tree/master/examples
99
+ [license-github]: https://github.com/open-telemetry/opentelemetry-ruby/blob/main/LICENSE
100
+ [examples-github]: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/examples
101
101
  [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig
102
102
  [community-meetings]: https://github.com/open-telemetry/community#community-meetings
103
103
  [ruby-gitter]: https://gitter.im/open-telemetry/opentelemetry-ruby
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2019 OpenTelemetry Authors
3
+ # Copyright The OpenTelemetry Authors
4
4
  #
5
5
  # SPDX-License-Identifier: Apache-2.0
6
6
 
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2019 OpenTelemetry Authors
3
+ # Copyright The OpenTelemetry Authors
4
4
  #
5
5
  # SPDX-License-Identifier: Apache-2.0
6
6
 
@@ -23,6 +23,7 @@ $LOAD_PATH.push(File.dirname(__FILE__) + '/../../../thrift/gen-rb')
23
23
  require 'agent'
24
24
  require 'collector'
25
25
  require 'opentelemetry/sdk'
26
+ require 'opentelemetry/common'
26
27
  require 'socket'
27
28
  require 'opentelemetry/exporter/jaeger/encoder'
28
29
  require 'opentelemetry/exporter/jaeger/transport'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2019 OpenTelemetry Authors
3
+ # Copyright The OpenTelemetry Authors
4
4
  #
5
5
  # SPDX-License-Identifier: Apache-2.0
6
6
 
@@ -30,12 +30,14 @@ module OpenTelemetry
30
30
  # @param [Enumerable<OpenTelemetry::SDK::Trace::SpanData>] span_data the
31
31
  # list of recorded {OpenTelemetry::SDK::Trace::SpanData} structs to be
32
32
  # exported.
33
+ # @param [optional Numeric] timeout An optional timeout in seconds.
33
34
  # @return [Integer] the result of the export.
34
- def export(span_data)
35
+ def export(span_data, timeout: nil)
35
36
  return FAILURE if @shutdown
36
37
 
38
+ start_time = Time.now
37
39
  encoded_batches(span_data) do |batch|
38
- return FAILURE if @shutdown
40
+ return FAILURE if @shutdown || OpenTelemetry::Common::Utilities.maybe_timeout(timeout, start_time)&.zero?
39
41
 
40
42
  @client.emitBatch(batch)
41
43
  end
@@ -44,7 +46,9 @@ module OpenTelemetry
44
46
  # Called when {OpenTelemetry::SDK::Trace::Tracer#shutdown} is called, if
45
47
  # this exporter is registered to a {OpenTelemetry::SDK::Trace::Tracer}
46
48
  # object.
47
- def shutdown
49
+ #
50
+ # @param [optional Numeric] timeout An optional timeout in seconds.
51
+ def shutdown(timeout: nil)
48
52
  @shutdown = true
49
53
  end
50
54
 
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2019 OpenTelemetry Authors
3
+ # Copyright The OpenTelemetry Authors
4
4
  #
5
5
  # SPDX-License-Identifier: Apache-2.0
6
6
 
@@ -36,27 +36,30 @@ module OpenTelemetry
36
36
  # @param [Enumerable<OpenTelemetry::SDK::Trace::SpanData>] span_data the
37
37
  # list of recorded {OpenTelemetry::SDK::Trace::SpanData} structs to be
38
38
  # exported.
39
+ # @param [optional Numeric] timeout An optional timeout in seconds.
39
40
  # @return [Integer] the result of the export.
40
- def export(span_data)
41
+ def export(span_data, timeout: nil)
41
42
  return FAILURE if @shutdown
42
43
 
43
44
  encoded_batches(span_data).each do |batch|
44
45
  @transport.write(@serializer.serialize(batch))
45
46
  end
46
47
 
47
- untraced do
48
+ OpenTelemetry::Common::Utilities.untraced do
48
49
  @transport.flush
49
50
  end
50
51
  SUCCESS
51
52
  rescue StandardError => e
52
- OpenTelemetry.logger.error("unexpected error in Jaeger::CollectorExporter#export - #{e}")
53
+ OpenTelemetry.handle_error(exception: e, message: 'unexpected error in Jaeger::CollectorExporter#export')
53
54
  FAILURE
54
55
  end
55
56
 
56
57
  # Called when {OpenTelemetry::SDK::Trace::Tracer#shutdown} is called, if
57
58
  # this exporter is registered to a {OpenTelemetry::SDK::Trace::Tracer}
58
59
  # object.
59
- def shutdown
60
+ #
61
+ # @param [optional Numeric] timeout An optional timeout in seconds.
62
+ def shutdown(timeout: nil)
60
63
  @shutdown = true
61
64
  end
62
65
 
@@ -71,10 +74,6 @@ module OpenTelemetry
71
74
  true
72
75
  end
73
76
 
74
- def untraced
75
- OpenTelemetry::Trace.with_span(OpenTelemetry::Trace::Span.new) { yield }
76
- end
77
-
78
77
  def encoded_batches(span_data)
79
78
  span_data.group_by(&:resource).map do |resource, spans|
80
79
  process = Encoder.encoded_process(resource)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2020 OpenTelemetry Authors
3
+ # Copyright The OpenTelemetry Authors
4
4
  #
5
5
  # SPDX-License-Identifier: Apache-2.0
6
6
 
@@ -30,10 +30,11 @@ module OpenTelemetry
30
30
  OpenTelemetry::Trace::SpanKind::PRODUCER => 'producer',
31
31
  OpenTelemetry::Trace::SpanKind::CONSUMER => 'consumer'
32
32
  }.freeze
33
- private_constant(:EMPTY_ARRAY, :LONG, :DOUBLE, :STRING, :BOOL, :KEY, :TYPE, :TYPE_MAP, :KIND_MAP)
33
+ DEFAULT_SERVICE_NAME = OpenTelemetry::SDK::Resources::Resource.default.attribute_enumerator.find { |k, _| k == 'service.name' }&.last || 'unknown_service'
34
+ private_constant(:EMPTY_ARRAY, :LONG, :DOUBLE, :STRING, :BOOL, :KEY, :TYPE, :TYPE_MAP, :KIND_MAP, :DEFAULT_SERVICE_NAME)
34
35
 
35
36
  def encoded_process(resource)
36
- service_name = 'unknown'
37
+ service_name = DEFAULT_SERVICE_NAME
37
38
  tags = resource&.attribute_enumerator&.select do |key, value|
38
39
  service_name = value if key == 'service.name'
39
40
  key != 'service.name'
@@ -110,7 +111,7 @@ module OpenTelemetry
110
111
  def encoded_references(links)
111
112
  links&.map do |link|
112
113
  Thrift::SpanRef.new(
113
- 'refType' => Thrift::SpanRefType::CHILD_OF,
114
+ 'refType' => Thrift::SpanRefType::FOLLOWS_FROM,
114
115
  'traceIdLow' => int64(link.span_context.trace_id[16, 16]),
115
116
  'traceIdHigh' => int64(link.span_context.trace_id[0, 16]),
116
117
  'spanId' => int64(link.span_context.span_id)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2019 OpenTelemetry Authors
3
+ # Copyright The OpenTelemetry Authors
4
4
  #
5
5
  # SPDX-License-Identifier: Apache-2.0
6
6
 
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright 2019 OpenTelemetry Authors
3
+ # Copyright The OpenTelemetry Authors
4
4
  #
5
5
  # SPDX-License-Identifier: Apache-2.0
6
6
 
@@ -8,7 +8,7 @@ module OpenTelemetry
8
8
  module Exporter
9
9
  module Jaeger
10
10
  ## Current OpenTelemetry Jaeger exporter version
11
- VERSION = '0.8.0'
11
+ VERSION = '0.13.0'
12
12
  end
13
13
  end
14
14
  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.8.0
4
+ version: 0.13.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: 2020-10-27 00:00:00.000000000 Z
11
+ date: 2021-01-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opentelemetry-api
@@ -16,14 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.8.0
19
+ version: 0.13.0
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.8.0
26
+ version: 0.13.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: opentelemetry-common
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.13.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.13.0
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: thrift
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -195,10 +209,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
195
209
  licenses:
196
210
  - Apache-2.0
197
211
  metadata:
198
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-jaeger/v0.8.0/file.CHANGELOG.html
199
- source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/master/exporter/jaeger
212
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-jaeger/v0.13.0/file.CHANGELOG.html
213
+ source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/exporter/jaeger
200
214
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
201
- documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-jaeger/v0.8.0
215
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-jaeger/v0.13.0
202
216
  post_install_message:
203
217
  rdoc_options: []
204
218
  require_paths: