opentelemetry-exporter-jaeger 0.6.0 → 0.11.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: a03b81e62868c39eef8cce68fc2398943bdbf25332e820b83436800bf4c31c18
4
- data.tar.gz: 3de28d023cd628c227f75ae6b3c35349cefea2f27b1b11a07c08924142e11a2a
3
+ metadata.gz: 848703d712cf95041d24a3bea79822392a41aeb2f31969586d76a4284cf1a3f9
4
+ data.tar.gz: 6473f43ecc99f1fcfecbe5b44d02c96ad14a81477d52dbf8e824cf08468a0247
5
5
  SHA512:
6
- metadata.gz: fec1be44ab72848de2ee1880863cadbb2c66df7ac0afde1b239ad26cc51846b84370459603a5e25afd2a75d326350a01ae4d5db29adf02b6b78014dbcb5c5577
7
- data.tar.gz: b494bb1e4dc463d80c2d96fc3dabba772abafc02fcc94b3678b18bdb0651ea903f8095174b8f0630d21cdf20d0e9d75cd9c0b8d09640313ed8097317ea0ca4e2
6
+ metadata.gz: ae9eabba37cd413ecfdc4e51cb5d9b009a34860d7fe951fa494899d9ae23b779b2d8fe8442350c350a9975da8895d1404f9a3603a6b69d7f9e2fa26b05286d2f
7
+ data.tar.gz: 47aa3c269bc97346d3ad562e328dcd153202561f8e22e11b29fbdbde0ac2c50edea77f3fc40d183ca29656c98bfdf4e8d88f30a9bac6535699765bf3a7c42dc0
data/.yardopts CHANGED
@@ -1,9 +1,9 @@
1
1
  --no-private
2
2
  --title=OpenTelemetry Jaeger Exporter
3
3
  --markup=markdown
4
- --main=OVERVIEW.md
4
+ --main=README.md
5
5
  ./lib/opentelemetry/exporter/jaeger/**/*.rb
6
6
  ./lib/opentelemetry/exporter/jaeger.rb
7
7
  -
8
- OVERVIEW.md
8
+ README.md
9
9
  CHANGELOG.md
@@ -1,5 +1,36 @@
1
1
  # Release History: opentelemetry-exporter-jaeger
2
2
 
3
+ ### v0.11.0 / 2020-12-11
4
+
5
+ * FIXED: Copyright comments to not reference year
6
+
7
+ ### v0.10.0 / 2020-12-03
8
+
9
+ * (No significant changes)
10
+
11
+ ### v0.9.0 / 2020-11-27
12
+
13
+ * BREAKING CHANGE: Add timeout for force_flush and shutdown
14
+
15
+ * ADDED: Add timeout for force_flush and shutdown
16
+
17
+ ### v0.8.0 / 2020-10-27
18
+
19
+ * BREAKING CHANGE: Move context/span methods to Trace module
20
+ * BREAKING CHANGE: Remove 'canonical' from status codes
21
+ * BREAKING CHANGE: Assorted SpanContext fixes
22
+
23
+ * FIXED: Move context/span methods to Trace module
24
+ * FIXED: Remove 'canonical' from status codes
25
+ * FIXED: Assorted SpanContext fixes
26
+
27
+ ### v0.7.0 / 2020-10-07
28
+
29
+ * ADDED: Add service_version setter to configurator
30
+ * FIXED: Update IL attribute naming convention to match spec
31
+ * DOCS: Standardize toplevel docs structure and readme
32
+ * DOCS: Use BatchSpanProcessor in examples
33
+
3
34
  ### v0.6.0 / 2020-09-10
4
35
 
5
36
  * This gem was renamed from `opentelemetry-exporters-jaeger`.
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
@@ -34,15 +34,14 @@ require 'opentelemetry/exporter/jaeger'
34
34
  # Configure the sdk with custom export
35
35
  OpenTelemetry::SDK.configure do |c|
36
36
  c.add_span_processor(
37
- OpenTelemetry::SDK::Trace::Export::SimpleSpanProcessor.new(
38
- OpenTelemetry::Exporter::Jaeger::AgentExporter.new(host: '127.0.0.1', port: 6831)
37
+ OpenTelemetry::SDK::Trace::Export::BatchSpanProcessor.new(
38
+ exporter: OpenTelemetry::Exporter::Jaeger::AgentExporter.new(host: '127.0.0.1', port: 6831)
39
39
  # Alternatively, for the collector exporter:
40
- # OpenTelemetry::Exporter::Jaeger::CollectorExporter.new(endpoint: 'http://192.168.0.1:14268')
40
+ # exporter: OpenTelemetry::Exporter::Jaeger::CollectorExporter.new(endpoint: 'http://192.168.0.1:14268/api/traces')
41
41
  )
42
42
  )
43
- c.resource = OpenTelemetry::SDK::Resources::Resource.create(
44
- OpenTelemetry::SDK::Resources::Constants::SERVICE_RESOURCE[:name] => 'jaeger-example'
45
- )
43
+ c.service_name = 'jaeger-example'
44
+ c.service_version = '0.6.0'
46
45
  end
47
46
 
48
47
  # To start a trace you need to get a Tracer from the TracerProvider
@@ -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
 
@@ -29,7 +29,6 @@ module OpenTelemetry
29
29
  end
30
30
  @serializer = ::Thrift::Serializer.new
31
31
  @shutdown = false
32
- @tracer = OpenTelemetry.tracer_provider.tracer
33
32
  end
34
33
 
35
34
  # Called to export sampled {OpenTelemetry::SDK::Trace::SpanData} structs.
@@ -37,8 +36,9 @@ module OpenTelemetry
37
36
  # @param [Enumerable<OpenTelemetry::SDK::Trace::SpanData>] span_data the
38
37
  # list of recorded {OpenTelemetry::SDK::Trace::SpanData} structs to be
39
38
  # exported.
39
+ # @param [optional Numeric] timeout An optional timeout in seconds.
40
40
  # @return [Integer] the result of the export.
41
- def export(span_data)
41
+ def export(span_data, timeout: nil)
42
42
  return FAILURE if @shutdown
43
43
 
44
44
  encoded_batches(span_data).each do |batch|
@@ -57,7 +57,9 @@ module OpenTelemetry
57
57
  # Called when {OpenTelemetry::SDK::Trace::Tracer#shutdown} is called, if
58
58
  # this exporter is registered to a {OpenTelemetry::SDK::Trace::Tracer}
59
59
  # object.
60
- def shutdown
60
+ #
61
+ # @param [optional Numeric] timeout An optional timeout in seconds.
62
+ def shutdown(timeout: nil)
61
63
  @shutdown = true
62
64
  end
63
65
 
@@ -73,7 +75,7 @@ module OpenTelemetry
73
75
  end
74
76
 
75
77
  def untraced
76
- @tracer.with_span(OpenTelemetry::Trace::Span.new) { yield }
78
+ OpenTelemetry::Trace.with_span(OpenTelemetry::Trace::Span.new) { yield }
77
79
  end
78
80
 
79
81
  def encoded_batches(span_data)
@@ -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
 
@@ -111,24 +111,31 @@ module OpenTelemetry
111
111
  links&.map do |link|
112
112
  Thrift::SpanRef.new(
113
113
  'refType' => Thrift::SpanRefType::CHILD_OF,
114
- 'traceIdLow' => int64(link.context.trace_id[16, 16]),
115
- 'traceIdHigh' => int64(link.context.trace_id[0, 16]),
116
- 'spanId' => int64(link.context.span_id)
114
+ 'traceIdLow' => int64(link.span_context.trace_id[16, 16]),
115
+ 'traceIdHigh' => int64(link.span_context.trace_id[0, 16]),
116
+ 'spanId' => int64(link.span_context.span_id)
117
117
  )
118
118
  end
119
119
  end
120
120
 
121
121
  def encoded_status(status)
122
- # TODO: OpenTracing doesn't specify how to report non-HTTP (i.e. generic) status.
123
- EMPTY_ARRAY
122
+ return EMPTY_ARRAY unless status&.code == OpenTelemetry::Trace::Status::ERROR
123
+
124
+ Array(
125
+ Thrift::Tag.new(
126
+ KEY => 'error',
127
+ TYPE => Thrift::TagType::BOOL,
128
+ BOOL => true
129
+ )
130
+ )
124
131
  end
125
132
 
126
133
  def encoded_instrumentation_library(instrumentation_library)
127
134
  return EMPTY_ARRAY unless instrumentation_library
128
135
 
129
136
  tags = []
130
- tags << encoded_tag('otel.instrumentation_library.name', instrumentation_library.name) if instrumentation_library.name
131
- tags << encoded_tag('otel.instrumentation_library.version', instrumentation_library.version) if instrumentation_library.version
137
+ tags << encoded_tag('otel.library.name', instrumentation_library.name) if instrumentation_library.name
138
+ tags << encoded_tag('otel.library.version', instrumentation_library.version) if instrumentation_library.version
132
139
  tags
133
140
  end
134
141
 
@@ -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.6.0'
11
+ VERSION = '0.11.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.6.0
4
+ version: 0.11.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-09-11 00:00:00.000000000 Z
11
+ date: 2020-12-11 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.6.0
19
+ version: 0.11.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.6.0
26
+ version: 0.11.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.11.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.11.0
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: thrift
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -194,7 +208,11 @@ files:
194
208
  homepage: https://github.com/open-telemetry/opentelemetry-ruby
195
209
  licenses:
196
210
  - Apache-2.0
197
- metadata: {}
211
+ metadata:
212
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-jaeger/v0.11.0/file.CHANGELOG.html
213
+ source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/master/exporter/jaeger
214
+ bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
215
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-jaeger/v0.11.0
198
216
  post_install_message:
199
217
  rdoc_options: []
200
218
  require_paths:
@@ -210,7 +228,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
210
228
  - !ruby/object:Gem::Version
211
229
  version: '0'
212
230
  requirements: []
213
- rubygems_version: 3.1.2
231
+ rubygems_version: 3.1.4
214
232
  signing_key:
215
233
  specification_version: 4
216
234
  summary: Jaeger trace exporter for the OpenTelemetry framework