opentelemetry-exporter-otlp 0.24.2 → 0.26.2

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: 065a8e1b1bf3909dfd98b7cd241ad11ab786f397bfa97eaf5b70e2331ba57133
4
- data.tar.gz: 8d959b7a39ec689edbabd24a50c234527b9da0f9a50e059294f4b76f04c3b2d3
3
+ metadata.gz: f511b15fd3e7e4d1452f58f852d9e29c97bff2743b520c080b187c657801b1bc
4
+ data.tar.gz: 52b9151d21904c685e026a813323415ef6b2be589e208b3a2307ad22fe5bead0
5
5
  SHA512:
6
- metadata.gz: '04821ccaeee2fc1dc3d11fa78d68e1e8c960e1fade66216deb472de2a4ff116d465a29e5d637f6f3a7c1934cf94871ee06b36f2ce9c7b15a435377fb3c78ba21'
7
- data.tar.gz: 2fce9747568da590085705ff023c6cb5df5e731ad981c12dd0c4e4457d23aaa10bbfdb0f1104f77d79dca707a691f11e094c79bf964a0acabb17b9eae9e840ba
6
+ metadata.gz: 5d7c6101418e338123fa98b097028e819a94297a45d5c693ddea11226f9e984026f5951ad74076453636fcb6aee478b57721287d5c6807f8caa112a66f2786ed
7
+ data.tar.gz: 17a6022b2146e6b94cbae099cf47b3e86bb825c1a49a6e77548febdef93ddded862fa1685a9601c22235cb2996493a1f68db49e8b1399684482ab2bb3cd06cfd
data/CHANGELOG.md CHANGED
@@ -1,8 +1,26 @@
1
1
  # Release History: opentelemetry-exporter-otlp
2
2
 
3
- ### v0.24.2 / 2023-07-12
3
+ ### v0.26.2 / 2024-01-23
4
4
 
5
- * FIXED: Otlp exporter version require order
5
+ * FIXED: Align endpoint environment variable handling with spec
6
+ * FIXED: Require csv for ruby-3.4 compatibility
7
+ * FIXED: Add context to metrics reporting of buffer-full events
8
+
9
+ ### v0.26.1 / 2023-07-29
10
+
11
+ * FIXED: Regenerate v0.20.0 protos
12
+ * ADDED: Allow google-protobuf ~> 3.14
13
+
14
+ ### v0.26.0 / 2023-06-13
15
+
16
+ * ADDED: Use OTLP 0.20.0 protos
17
+
18
+ ### v0.25.0 / 2023-06-01
19
+
20
+ * BREAKING CHANGE: Remove support for EoL Ruby 2.7
21
+
22
+ * ADDED: Remove support for EoL Ruby 2.7
23
+ * FIXED: Make version available to user agent header #1458
6
24
 
7
25
  ### v0.24.1 / 2023-05-30
8
26
 
data/README.md CHANGED
@@ -16,15 +16,17 @@ Generally, *libraries* that produce telemetry data should avoid depending direct
16
16
 
17
17
  ### Supported protocol version
18
18
 
19
- This gem supports the [v0.4.0 release](https://github.com/open-telemetry/opentelemetry-proto/releases/tag/v0.4.0) of OTLP.
19
+ This gem supports the [v0.20.0 release][otel-proto-release] of OTLP.
20
20
 
21
21
  ## How do I get started?
22
22
 
23
23
  Install the gem using:
24
24
 
25
- ```
25
+ ```console
26
+
26
27
  gem install opentelemetry-sdk
27
28
  gem install opentelemetry-exporter-otlp
29
+
28
30
  ```
29
31
 
30
32
  Or, if you use [bundler][bundler-home], include `opentelemetry-sdk` in your `Gemfile`.
@@ -93,6 +95,48 @@ The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special int
93
95
 
94
96
  The `opentelemetry-exporter-otlp` gem is distributed under the Apache 2.0 license. See [LICENSE][license-github] for more information.
95
97
 
98
+ ## Working with Proto Definitions
99
+
100
+ The OTel community maintains a [repository with protobuf definitions][otel-proto-github] that language and collector implementors use to generate code.
101
+
102
+ Maintainers are expected to keep up to date with the latest version of protos. This guide will provide you with step-by-step instructions on updating the OTLP Exporter gem with the latest definitions.
103
+
104
+ ### System Requirements
105
+
106
+ - [`git` 2.41+][git-install]
107
+ - [`protoc` 22.5][protoc-install]
108
+ - [Ruby 3+][ruby-downloads]
109
+
110
+ > :warning: `protoc 23.x` *changes the Ruby code generator to emit a serialized proto instead of a DSL.* <https://protobuf.dev/news/2023-04-20/>. Please ensure you use `protoc` version `22.x` in order to ensure we remain compatible with versions of protobuf prior to `google-protobuf` gem `3.18`.
111
+
112
+ ### Upgrade Proto Definitions
113
+
114
+ **Update the target otel-proto version in the `Rakefile` that matches a release `tag` in the proto repo, e.g.**
115
+
116
+ ```ruby
117
+ # Rakefile
118
+
119
+ # https://github.com/open-telemetry/opentelemetry-proto/tree/v0.20.0
120
+ PROTO_VERSION = `v0.20.0`
121
+ ```
122
+
123
+ **Generate the Ruby source files using `rake`:**
124
+
125
+ ```console
126
+
127
+ $> bundle exec rake protobuf:generate
128
+
129
+ ```
130
+
131
+ **Run tests and fix any errors:**
132
+
133
+ ```console
134
+
135
+ $> bundle exec rake test
136
+
137
+ ```
138
+
139
+ **Commit the chnages and open a PR!**
96
140
 
97
141
  [opentelemetry-collector-home]: https://opentelemetry.io/docs/collector/about/
98
142
  [opentelemetry-home]: https://opentelemetry.io
@@ -103,3 +147,8 @@ The `opentelemetry-exporter-otlp` gem is distributed under the Apache 2.0 licens
103
147
  [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig
104
148
  [community-meetings]: https://github.com/open-telemetry/community#community-meetings
105
149
  [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions
150
+ [git-install]: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
151
+ [protoc-install]: https://github.com/protocolbuffers/protobuf/releases/tag/v22.5
152
+ [ruby-downloads]: https://www.ruby-lang.org/en/downloads/
153
+ [otel-proto-github]: https://github.com/open-telemetry/opentelemetry-proto
154
+ [otel-proto-release]: https://github.com/open-telemetry/opentelemetry-proto/releases/tag/v0.20.0
@@ -7,7 +7,6 @@
7
7
  require 'opentelemetry/common'
8
8
  require 'opentelemetry/sdk'
9
9
  require 'net/http'
10
- require 'csv'
11
10
  require 'zlib'
12
11
 
13
12
  require 'google/rpc/status_pb'
@@ -35,7 +34,7 @@ module OpenTelemetry
35
34
  ERROR_MESSAGE_INVALID_HEADERS = 'headers must be a String with comma-separated URL Encoded UTF-8 k=v pairs or a Hash'
36
35
  private_constant(:ERROR_MESSAGE_INVALID_HEADERS)
37
36
 
38
- DEFAULT_USER_AGENT = "OTel-OTLP-Exporter-Ruby/#{OpenTelemetry::Exporter::OTLP::VERSION} Ruby/#{RUBY_VERSION} (#{RUBY_PLATFORM}; #{RUBY_ENGINE}/#{RUBY_ENGINE_VERSION})"
37
+ DEFAULT_USER_AGENT = "OTel-OTLP-Exporter-Ruby/#{OpenTelemetry::Exporter::OTLP::VERSION} Ruby/#{RUBY_VERSION} (#{RUBY_PLATFORM}; #{RUBY_ENGINE}/#{RUBY_ENGINE_VERSION})".freeze
39
38
 
40
39
  def self.ssl_verify_mode
41
40
  if ENV.key?('OTEL_RUBY_EXPORTER_OTLP_SSL_VERIFY_PEER')
@@ -47,21 +46,16 @@ module OpenTelemetry
47
46
  end
48
47
  end
49
48
 
50
- def initialize(endpoint: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_ENDPOINT', 'OTEL_EXPORTER_OTLP_ENDPOINT', default: 'http://localhost:4318/v1/traces'),
49
+ def initialize(endpoint: nil,
51
50
  certificate_file: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE', 'OTEL_EXPORTER_OTLP_CERTIFICATE'),
52
51
  ssl_verify_mode: Exporter.ssl_verify_mode,
53
52
  headers: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_HEADERS', 'OTEL_EXPORTER_OTLP_HEADERS', default: {}),
54
53
  compression: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_COMPRESSION', 'OTEL_EXPORTER_OTLP_COMPRESSION', default: 'gzip'),
55
54
  timeout: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_TIMEOUT', 'OTEL_EXPORTER_OTLP_TIMEOUT', default: 10),
56
55
  metrics_reporter: nil)
57
- raise ArgumentError, "invalid url for OTLP::Exporter #{endpoint}" unless OpenTelemetry::Common::Utilities.valid_url?(endpoint)
58
- raise ArgumentError, "unsupported compression key #{compression}" unless compression.nil? || %w[gzip none].include?(compression)
56
+ @uri = prepare_endpoint(endpoint)
59
57
 
60
- @uri = if endpoint == ENV['OTEL_EXPORTER_OTLP_ENDPOINT']
61
- URI.join(endpoint, 'v1/traces')
62
- else
63
- URI(endpoint)
64
- end
58
+ raise ArgumentError, "unsupported compression key #{compression}" unless compression.nil? || %w[gzip none].include?(compression)
65
59
 
66
60
  @http = http_connection(@uri, ssl_verify_mode, certificate_file)
67
61
 
@@ -172,8 +166,7 @@ module OpenTelemetry
172
166
  redo if backoff?(retry_count: retry_count += 1, reason: response.code)
173
167
  FAILURE
174
168
  when Net::HTTPNotFound
175
- OpenTelemetry.handle_error(message: "OTLP exporter received http.code=404 for uri: '#{@path}'")
176
- @metrics_reporter.add_to_counter('otel.otlp_exporter.failure', labels: { 'reason' => response.code })
169
+ log_request_failure(response.code)
177
170
  FAILURE
178
171
  when Net::HTTPBadRequest, Net::HTTPClientError, Net::HTTPServerError
179
172
  log_status(response.body)
@@ -185,6 +178,7 @@ module OpenTelemetry
185
178
  redo if backoff?(retry_after: 0, retry_count: retry_count += 1, reason: response.code)
186
179
  else
187
180
  @http.finish
181
+ log_request_failure(response.code)
188
182
  FAILURE
189
183
  end
190
184
  rescue Net::OpenTimeout, Net::ReadTimeout
@@ -227,11 +221,16 @@ module OpenTelemetry
227
221
  klass_or_nil = ::Google::Protobuf::DescriptorPool.generated_pool.lookup(detail.type_name).msgclass
228
222
  detail.unpack(klass_or_nil) if klass_or_nil
229
223
  end.compact
230
- OpenTelemetry.handle_error(message: "OTLP exporter received rpc.Status{message=#{status.message}, details=#{details}}")
224
+ OpenTelemetry.handle_error(message: "OTLP exporter received rpc.Status{message=#{status.message}, details=#{details}} for uri=#{@uri}")
231
225
  rescue StandardError => e
232
226
  OpenTelemetry.handle_error(exception: e, message: 'unexpected error decoding rpc.Status in OTLP::Exporter#log_status')
233
227
  end
234
228
 
229
+ def log_request_failure(response_code)
230
+ OpenTelemetry.handle_error(message: "OTLP exporter received http.code=#{response_code} for uri='#{@uri}' in OTLP::Exporter#send_bytes")
231
+ @metrics_reporter.add_to_counter('otel.otlp_exporter.failure', labels: { 'reason' => response_code })
232
+ end
233
+
235
234
  def measure_request_duration
236
235
  start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
237
236
  begin
@@ -246,7 +245,7 @@ module OpenTelemetry
246
245
  end
247
246
 
248
247
  def backoff?(retry_count:, reason:, retry_after: nil) # rubocop:disable Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
249
- @metrics_reporter.add_to_counter('otel.otlp_exporter.failure', labels: { 'reason' => reason })
248
+ log_request_failure(reason)
250
249
  return false if retry_count > RETRY_COUNT
251
250
 
252
251
  sleep_interval = nil
@@ -386,6 +385,21 @@ module OpenTelemetry
386
385
  result
387
386
  end
388
387
 
388
+ def prepare_endpoint(endpoint)
389
+ endpoint ||= ENV['OTEL_EXPORTER_OTLP_TRACES_ENDPOINT']
390
+ if endpoint.nil?
391
+ endpoint = ENV['OTEL_EXPORTER_OTLP_ENDPOINT'] || 'http://localhost:4318'
392
+ endpoint += '/' unless endpoint.end_with?('/')
393
+ URI.join(endpoint, 'v1/traces')
394
+ elsif endpoint.strip.empty?
395
+ raise ArgumentError, "invalid url for OTLP::Exporter #{endpoint}"
396
+ else
397
+ URI(endpoint)
398
+ end
399
+ rescue URI::InvalidURIError
400
+ raise ArgumentError, "invalid url for OTLP::Exporter #{endpoint}"
401
+ end
402
+
389
403
  def prepare_headers(config_headers)
390
404
  headers = case config_headers
391
405
  when String then parse_headers(config_headers)
@@ -8,7 +8,7 @@ module OpenTelemetry
8
8
  module Exporter
9
9
  module OTLP
10
10
  ## Current OpenTelemetry OTLP exporter version
11
- VERSION = '0.24.2'
11
+ VERSION = '0.26.2'
12
12
  end
13
13
  end
14
14
  end
@@ -11,6 +11,11 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
11
11
  repeated :resource_logs, :message, 1, "opentelemetry.proto.logs.v1.ResourceLogs"
12
12
  end
13
13
  add_message "opentelemetry.proto.collector.logs.v1.ExportLogsServiceResponse" do
14
+ optional :partial_success, :message, 1, "opentelemetry.proto.collector.logs.v1.ExportLogsPartialSuccess"
15
+ end
16
+ add_message "opentelemetry.proto.collector.logs.v1.ExportLogsPartialSuccess" do
17
+ optional :rejected_log_records, :int64, 1
18
+ optional :error_message, :string, 2
14
19
  end
15
20
  end
16
21
  end
@@ -22,6 +27,7 @@ module Opentelemetry
22
27
  module V1
23
28
  ExportLogsServiceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.collector.logs.v1.ExportLogsServiceRequest").msgclass
24
29
  ExportLogsServiceResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.collector.logs.v1.ExportLogsServiceResponse").msgclass
30
+ ExportLogsPartialSuccess = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.collector.logs.v1.ExportLogsPartialSuccess").msgclass
25
31
  end
26
32
  end
27
33
  end
@@ -11,6 +11,11 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
11
11
  repeated :resource_metrics, :message, 1, "opentelemetry.proto.metrics.v1.ResourceMetrics"
12
12
  end
13
13
  add_message "opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceResponse" do
14
+ optional :partial_success, :message, 1, "opentelemetry.proto.collector.metrics.v1.ExportMetricsPartialSuccess"
15
+ end
16
+ add_message "opentelemetry.proto.collector.metrics.v1.ExportMetricsPartialSuccess" do
17
+ optional :rejected_data_points, :int64, 1
18
+ optional :error_message, :string, 2
14
19
  end
15
20
  end
16
21
  end
@@ -22,6 +27,7 @@ module Opentelemetry
22
27
  module V1
23
28
  ExportMetricsServiceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest").msgclass
24
29
  ExportMetricsServiceResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceResponse").msgclass
30
+ ExportMetricsPartialSuccess = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.collector.metrics.v1.ExportMetricsPartialSuccess").msgclass
25
31
  end
26
32
  end
27
33
  end
@@ -11,6 +11,11 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
11
11
  repeated :resource_spans, :message, 1, "opentelemetry.proto.trace.v1.ResourceSpans"
12
12
  end
13
13
  add_message "opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse" do
14
+ optional :partial_success, :message, 1, "opentelemetry.proto.collector.trace.v1.ExportTracePartialSuccess"
15
+ end
16
+ add_message "opentelemetry.proto.collector.trace.v1.ExportTracePartialSuccess" do
17
+ optional :rejected_spans, :int64, 1
18
+ optional :error_message, :string, 2
14
19
  end
15
20
  end
16
21
  end
@@ -22,6 +27,7 @@ module Opentelemetry
22
27
  module V1
23
28
  ExportTraceServiceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest").msgclass
24
29
  ExportTraceServiceResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse").msgclass
30
+ ExportTracePartialSuccess = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.collector.trace.v1.ExportTracePartialSuccess").msgclass
25
31
  end
26
32
  end
27
33
  end
@@ -26,13 +26,11 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
26
26
  optional :key, :string, 1
27
27
  optional :value, :message, 2, "opentelemetry.proto.common.v1.AnyValue"
28
28
  end
29
- add_message "opentelemetry.proto.common.v1.InstrumentationLibrary" do
30
- optional :name, :string, 1
31
- optional :version, :string, 2
32
- end
33
29
  add_message "opentelemetry.proto.common.v1.InstrumentationScope" do
34
30
  optional :name, :string, 1
35
31
  optional :version, :string, 2
32
+ repeated :attributes, :message, 3, "opentelemetry.proto.common.v1.KeyValue"
33
+ optional :dropped_attributes_count, :uint32, 4
36
34
  end
37
35
  end
38
36
  end
@@ -45,7 +43,6 @@ module Opentelemetry
45
43
  ArrayValue = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.common.v1.ArrayValue").msgclass
46
44
  KeyValueList = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.common.v1.KeyValueList").msgclass
47
45
  KeyValue = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.common.v1.KeyValue").msgclass
48
- InstrumentationLibrary = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.common.v1.InstrumentationLibrary").msgclass
49
46
  InstrumentationScope = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.common.v1.InstrumentationScope").msgclass
50
47
  end
51
48
  end
@@ -14,7 +14,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
14
14
  add_message "opentelemetry.proto.logs.v1.ResourceLogs" do
15
15
  optional :resource, :message, 1, "opentelemetry.proto.resource.v1.Resource"
16
16
  repeated :scope_logs, :message, 2, "opentelemetry.proto.logs.v1.ScopeLogs"
17
- repeated :instrumentation_library_logs, :message, 1000, "opentelemetry.proto.logs.v1.InstrumentationLibraryLogs"
18
17
  optional :schema_url, :string, 3
19
18
  end
20
19
  add_message "opentelemetry.proto.logs.v1.ScopeLogs" do
@@ -22,11 +21,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
22
21
  repeated :log_records, :message, 2, "opentelemetry.proto.logs.v1.LogRecord"
23
22
  optional :schema_url, :string, 3
24
23
  end
25
- add_message "opentelemetry.proto.logs.v1.InstrumentationLibraryLogs" do
26
- optional :instrumentation_library, :message, 1, "opentelemetry.proto.common.v1.InstrumentationLibrary"
27
- repeated :log_records, :message, 2, "opentelemetry.proto.logs.v1.LogRecord"
28
- optional :schema_url, :string, 3
29
- end
30
24
  add_message "opentelemetry.proto.logs.v1.LogRecord" do
31
25
  optional :time_unix_nano, :fixed64, 1
32
26
  optional :observed_time_unix_nano, :fixed64, 11
@@ -67,8 +61,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
67
61
  value :SEVERITY_NUMBER_FATAL4, 24
68
62
  end
69
63
  add_enum "opentelemetry.proto.logs.v1.LogRecordFlags" do
70
- value :LOG_RECORD_FLAG_UNSPECIFIED, 0
71
- value :LOG_RECORD_FLAG_TRACE_FLAGS_MASK, 255
64
+ value :LOG_RECORD_FLAGS_DO_NOT_USE, 0
65
+ value :LOG_RECORD_FLAGS_TRACE_FLAGS_MASK, 255
72
66
  end
73
67
  end
74
68
  end
@@ -80,7 +74,6 @@ module Opentelemetry
80
74
  LogsData = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.logs.v1.LogsData").msgclass
81
75
  ResourceLogs = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.logs.v1.ResourceLogs").msgclass
82
76
  ScopeLogs = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.logs.v1.ScopeLogs").msgclass
83
- InstrumentationLibraryLogs = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.logs.v1.InstrumentationLibraryLogs").msgclass
84
77
  LogRecord = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.logs.v1.LogRecord").msgclass
85
78
  SeverityNumber = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.logs.v1.SeverityNumber").enummodule
86
79
  LogRecordFlags = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.logs.v1.LogRecordFlags").enummodule
@@ -14,7 +14,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
14
14
  add_message "opentelemetry.proto.metrics.v1.ResourceMetrics" do
15
15
  optional :resource, :message, 1, "opentelemetry.proto.resource.v1.Resource"
16
16
  repeated :scope_metrics, :message, 2, "opentelemetry.proto.metrics.v1.ScopeMetrics"
17
- repeated :instrumentation_library_metrics, :message, 1000, "opentelemetry.proto.metrics.v1.InstrumentationLibraryMetrics"
18
17
  optional :schema_url, :string, 3
19
18
  end
20
19
  add_message "opentelemetry.proto.metrics.v1.ScopeMetrics" do
@@ -22,11 +21,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
22
21
  repeated :metrics, :message, 2, "opentelemetry.proto.metrics.v1.Metric"
23
22
  optional :schema_url, :string, 3
24
23
  end
25
- add_message "opentelemetry.proto.metrics.v1.InstrumentationLibraryMetrics" do
26
- optional :instrumentation_library, :message, 1, "opentelemetry.proto.common.v1.InstrumentationLibrary"
27
- repeated :metrics, :message, 2, "opentelemetry.proto.metrics.v1.Metric"
28
- optional :schema_url, :string, 3
29
- end
30
24
  add_message "opentelemetry.proto.metrics.v1.Metric" do
31
25
  optional :name, :string, 1
32
26
  optional :description, :string, 2
@@ -96,6 +90,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
96
90
  repeated :exemplars, :message, 11, "opentelemetry.proto.metrics.v1.Exemplar"
97
91
  proto3_optional :min, :double, 12
98
92
  proto3_optional :max, :double, 13
93
+ optional :zero_threshold, :double, 14
99
94
  end
100
95
  add_message "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets" do
101
96
  optional :offset, :sint32, 1
@@ -130,8 +125,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
130
125
  value :AGGREGATION_TEMPORALITY_CUMULATIVE, 2
131
126
  end
132
127
  add_enum "opentelemetry.proto.metrics.v1.DataPointFlags" do
133
- value :FLAG_NONE, 0
134
- value :FLAG_NO_RECORDED_VALUE, 1
128
+ value :DATA_POINT_FLAGS_DO_NOT_USE, 0
129
+ value :DATA_POINT_FLAGS_NO_RECORDED_VALUE_MASK, 1
135
130
  end
136
131
  end
137
132
  end
@@ -143,7 +138,6 @@ module Opentelemetry
143
138
  MetricsData = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.MetricsData").msgclass
144
139
  ResourceMetrics = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.ResourceMetrics").msgclass
145
140
  ScopeMetrics = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.ScopeMetrics").msgclass
146
- InstrumentationLibraryMetrics = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.InstrumentationLibraryMetrics").msgclass
147
141
  Metric = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.Metric").msgclass
148
142
  Gauge = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.Gauge").msgclass
149
143
  Sum = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.Sum").msgclass
@@ -14,7 +14,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
14
14
  add_message "opentelemetry.proto.trace.v1.ResourceSpans" do
15
15
  optional :resource, :message, 1, "opentelemetry.proto.resource.v1.Resource"
16
16
  repeated :scope_spans, :message, 2, "opentelemetry.proto.trace.v1.ScopeSpans"
17
- repeated :instrumentation_library_spans, :message, 1000, "opentelemetry.proto.trace.v1.InstrumentationLibrarySpans"
18
17
  optional :schema_url, :string, 3
19
18
  end
20
19
  add_message "opentelemetry.proto.trace.v1.ScopeSpans" do
@@ -22,11 +21,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
22
21
  repeated :spans, :message, 2, "opentelemetry.proto.trace.v1.Span"
23
22
  optional :schema_url, :string, 3
24
23
  end
25
- add_message "opentelemetry.proto.trace.v1.InstrumentationLibrarySpans" do
26
- optional :instrumentation_library, :message, 1, "opentelemetry.proto.common.v1.InstrumentationLibrary"
27
- repeated :spans, :message, 2, "opentelemetry.proto.trace.v1.Span"
28
- optional :schema_url, :string, 3
29
- end
30
24
  add_message "opentelemetry.proto.trace.v1.Span" do
31
25
  optional :trace_id, :bytes, 1
32
26
  optional :span_id, :bytes, 2
@@ -84,7 +78,6 @@ module Opentelemetry
84
78
  TracesData = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.TracesData").msgclass
85
79
  ResourceSpans = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.ResourceSpans").msgclass
86
80
  ScopeSpans = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.ScopeSpans").msgclass
87
- InstrumentationLibrarySpans = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.InstrumentationLibrarySpans").msgclass
88
81
  Span = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.Span").msgclass
89
82
  Span::Event = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.Span.Event").msgclass
90
83
  Span::Link = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.Span.Link").msgclass
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opentelemetry-exporter-otlp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.24.2
4
+ version: 0.26.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenTelemetry Authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-12 00:00:00.000000000 Z
11
+ date: 2024-01-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: googleapis-common-protos-types
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '3.19'
33
+ version: '3.14'
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: '3.19'
40
+ version: '3.14'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: opentelemetry-api
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.19.6
61
+ version: '0.20'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 0.19.6
68
+ version: '0.20'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: opentelemetry-sdk
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: appraisal
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 2.2.0
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 2.2.0
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: bundler
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -264,25 +278,21 @@ files:
264
278
  - lib/opentelemetry/exporter/otlp/exporter.rb
265
279
  - lib/opentelemetry/exporter/otlp/version.rb
266
280
  - lib/opentelemetry/proto/collector/logs/v1/logs_service_pb.rb
267
- - lib/opentelemetry/proto/collector/logs/v1/logs_service_services_pb.rb
268
281
  - lib/opentelemetry/proto/collector/metrics/v1/metrics_service_pb.rb
269
- - lib/opentelemetry/proto/collector/metrics/v1/metrics_service_services_pb.rb
270
282
  - lib/opentelemetry/proto/collector/trace/v1/trace_service_pb.rb
271
- - lib/opentelemetry/proto/collector/trace/v1/trace_service_services_pb.rb
272
283
  - lib/opentelemetry/proto/common/v1/common_pb.rb
273
284
  - lib/opentelemetry/proto/logs/v1/logs_pb.rb
274
285
  - lib/opentelemetry/proto/metrics/v1/metrics_pb.rb
275
286
  - lib/opentelemetry/proto/resource/v1/resource_pb.rb
276
- - lib/opentelemetry/proto/trace/v1/trace_config_pb.rb
277
287
  - lib/opentelemetry/proto/trace/v1/trace_pb.rb
278
288
  homepage: https://github.com/open-telemetry/opentelemetry-ruby
279
289
  licenses:
280
290
  - Apache-2.0
281
291
  metadata:
282
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.24.2/file.CHANGELOG.html
292
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.26.2/file.CHANGELOG.html
283
293
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/exporter/otlp
284
294
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
285
- documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.24.2
295
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.26.2
286
296
  post_install_message:
287
297
  rdoc_options: []
288
298
  require_paths:
@@ -291,14 +301,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
291
301
  requirements:
292
302
  - - ">="
293
303
  - !ruby/object:Gem::Version
294
- version: 2.6.0
304
+ version: '3.0'
295
305
  required_rubygems_version: !ruby/object:Gem::Requirement
296
306
  requirements:
297
307
  - - ">="
298
308
  - !ruby/object:Gem::Version
299
309
  version: '0'
300
310
  requirements: []
301
- rubygems_version: 3.1.6
311
+ rubygems_version: 3.2.33
302
312
  signing_key:
303
313
  specification_version: 4
304
314
  summary: OTLP exporter for the OpenTelemetry framework
@@ -1,50 +0,0 @@
1
- # Generated by the protocol buffer compiler. DO NOT EDIT!
2
- # Source: opentelemetry/proto/collector/logs/v1/logs_service.proto for package 'opentelemetry.proto.collector.logs.v1'
3
- # Original file comments:
4
- # Copyright 2020, OpenTelemetry Authors
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- require 'grpc'
20
- require 'opentelemetry/proto/collector/logs/v1/logs_service_pb'
21
-
22
- module Opentelemetry
23
- module Proto
24
- module Collector
25
- module Logs
26
- module V1
27
- module LogsService
28
- # Service that can be used to push logs between one Application instrumented with
29
- # OpenTelemetry and an collector, or between an collector and a central collector (in this
30
- # case logs are sent/received to/from multiple Applications).
31
- class Service
32
-
33
- include ::GRPC::GenericService
34
-
35
- self.marshal_class_method = :encode
36
- self.unmarshal_class_method = :decode
37
- self.service_name = 'opentelemetry.proto.collector.logs.v1.LogsService'
38
-
39
- # For performance reasons, it is recommended to keep this RPC
40
- # alive for the entire life of the application.
41
- rpc :Export, ::Opentelemetry::Proto::Collector::Logs::V1::ExportLogsServiceRequest, ::Opentelemetry::Proto::Collector::Logs::V1::ExportLogsServiceResponse
42
- end
43
-
44
- Stub = Service.rpc_stub_class
45
- end
46
- end
47
- end
48
- end
49
- end
50
- end
@@ -1,50 +0,0 @@
1
- # Generated by the protocol buffer compiler. DO NOT EDIT!
2
- # Source: opentelemetry/proto/collector/metrics/v1/metrics_service.proto for package 'opentelemetry.proto.collector.metrics.v1'
3
- # Original file comments:
4
- # Copyright 2019, OpenTelemetry Authors
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- require 'grpc'
20
- require 'opentelemetry/proto/collector/metrics/v1/metrics_service_pb'
21
-
22
- module Opentelemetry
23
- module Proto
24
- module Collector
25
- module Metrics
26
- module V1
27
- module MetricsService
28
- # Service that can be used to push metrics between one Application
29
- # instrumented with OpenTelemetry and a collector, or between a collector and a
30
- # central collector.
31
- class Service
32
-
33
- include ::GRPC::GenericService
34
-
35
- self.marshal_class_method = :encode
36
- self.unmarshal_class_method = :decode
37
- self.service_name = 'opentelemetry.proto.collector.metrics.v1.MetricsService'
38
-
39
- # For performance reasons, it is recommended to keep this RPC
40
- # alive for the entire life of the application.
41
- rpc :Export, ::Opentelemetry::Proto::Collector::Metrics::V1::ExportMetricsServiceRequest, ::Opentelemetry::Proto::Collector::Metrics::V1::ExportMetricsServiceResponse
42
- end
43
-
44
- Stub = Service.rpc_stub_class
45
- end
46
- end
47
- end
48
- end
49
- end
50
- end
@@ -1,50 +0,0 @@
1
- # Generated by the protocol buffer compiler. DO NOT EDIT!
2
- # Source: opentelemetry/proto/collector/trace/v1/trace_service.proto for package 'opentelemetry.proto.collector.trace.v1'
3
- # Original file comments:
4
- # Copyright 2019, OpenTelemetry Authors
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- require 'grpc'
20
- require 'opentelemetry/proto/collector/trace/v1/trace_service_pb'
21
-
22
- module Opentelemetry
23
- module Proto
24
- module Collector
25
- module Trace
26
- module V1
27
- module TraceService
28
- # Service that can be used to push spans between one Application instrumented with
29
- # OpenTelemetry and a collector, or between a collector and a central collector (in this
30
- # case spans are sent/received to/from multiple Applications).
31
- class Service
32
-
33
- include ::GRPC::GenericService
34
-
35
- self.marshal_class_method = :encode
36
- self.unmarshal_class_method = :decode
37
- self.service_name = 'opentelemetry.proto.collector.trace.v1.TraceService'
38
-
39
- # For performance reasons, it is recommended to keep this RPC
40
- # alive for the entire life of the application.
41
- rpc :Export, ::Opentelemetry::Proto::Collector::Trace::V1::ExportTraceServiceRequest, ::Opentelemetry::Proto::Collector::Trace::V1::ExportTraceServiceResponse
42
- end
43
-
44
- Stub = Service.rpc_stub_class
45
- end
46
- end
47
- end
48
- end
49
- end
50
- end
@@ -1,49 +0,0 @@
1
- # Generated by the protocol buffer compiler. DO NOT EDIT!
2
- # source: opentelemetry/proto/trace/v1/trace_config.proto
3
-
4
- require 'google/protobuf'
5
-
6
- Google::Protobuf::DescriptorPool.generated_pool.build do
7
- add_file("opentelemetry/proto/trace/v1/trace_config.proto", :syntax => :proto3) do
8
- add_message "opentelemetry.proto.trace.v1.TraceConfig" do
9
- optional :max_number_of_attributes, :int64, 4
10
- optional :max_number_of_timed_events, :int64, 5
11
- optional :max_number_of_attributes_per_timed_event, :int64, 6
12
- optional :max_number_of_links, :int64, 7
13
- optional :max_number_of_attributes_per_link, :int64, 8
14
- oneof :sampler do
15
- optional :constant_sampler, :message, 1, "opentelemetry.proto.trace.v1.ConstantSampler"
16
- optional :trace_id_ratio_based, :message, 2, "opentelemetry.proto.trace.v1.TraceIdRatioBased"
17
- optional :rate_limiting_sampler, :message, 3, "opentelemetry.proto.trace.v1.RateLimitingSampler"
18
- end
19
- end
20
- add_message "opentelemetry.proto.trace.v1.ConstantSampler" do
21
- optional :decision, :enum, 1, "opentelemetry.proto.trace.v1.ConstantSampler.ConstantDecision"
22
- end
23
- add_enum "opentelemetry.proto.trace.v1.ConstantSampler.ConstantDecision" do
24
- value :ALWAYS_OFF, 0
25
- value :ALWAYS_ON, 1
26
- value :ALWAYS_PARENT, 2
27
- end
28
- add_message "opentelemetry.proto.trace.v1.TraceIdRatioBased" do
29
- optional :samplingRatio, :double, 1
30
- end
31
- add_message "opentelemetry.proto.trace.v1.RateLimitingSampler" do
32
- optional :qps, :int64, 1
33
- end
34
- end
35
- end
36
-
37
- module Opentelemetry
38
- module Proto
39
- module Trace
40
- module V1
41
- TraceConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.TraceConfig").msgclass
42
- ConstantSampler = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.ConstantSampler").msgclass
43
- ConstantSampler::ConstantDecision = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.ConstantSampler.ConstantDecision").enummodule
44
- TraceIdRatioBased = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.TraceIdRatioBased").msgclass
45
- RateLimitingSampler = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.RateLimitingSampler").msgclass
46
- end
47
- end
48
- end
49
- end