opentelemetry-exporter-jaeger 0.6.0 → 0.11.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: 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