opentelemetry-exporter-otlp 0.20.3 → 0.21.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: 1e089f8c7bd9d678bffa56801f7afc7391555bb7228827e5498b2ad2e492257a
4
- data.tar.gz: 8af67808ba9a96ba76a240a307ca7f5028846e152df610644f80cfad532dc7b6
3
+ metadata.gz: 8e96df3090d11643f31476c67b12f94c4f2aca4293fb497e077a5328f182cb93
4
+ data.tar.gz: cde4e3feddc09834ef01229086605ad29e8373e50786ffb416321a8703a792f6
5
5
  SHA512:
6
- metadata.gz: 389df119724c984aa0aa63961165df7ae9d66995b00ae814d4284bbc12712b1b86de469a4ea9f14ceeb2494473a821e2dafe9e608c3d70c53e5d26d56c940e14
7
- data.tar.gz: 1ffbb9a7fe71519322242470d547e56e97cd94655f3bc762024006a8131b87236ee1ae2e61c3da7cf7f9a9161025443392df49c74f842693ab87cc17356535f1
6
+ metadata.gz: 4c582a7a6ba8b24a0b7e88cbaed0b7e72a2f86f112792480767b2d38fcf3fb4eb435e81614059adf7e5871964c226509c2d2868cf3cf39d9556a3bddb5c53b23
7
+ data.tar.gz: 6e14cd89bd4ebf21a0fdabdaa4d3272502d123f7de2d8cecbb8a50bc8f788c266c0eee849c232cd61ca4543fb85ef5b51c4c7e74134712863fa118a76ff9c80b
data/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Release History: opentelemetry-exporter-otlp
2
2
 
3
+ ### v0.21.0 / 2021-12-01
4
+
5
+ * ADDED: Exporter should use gzip compression by default
6
+
7
+ ### v0.20.6 / 2021-10-29
8
+
9
+ * FIXED: Add unexpected error handlign in BSP and OTLP exporter (#995)
10
+ * FIXED: Handle otlp exporter race condition gzip errors with retry
11
+
12
+ ### v0.20.5 / 2021-09-29
13
+
14
+ * (No significant changes)
15
+
16
+ ### v0.20.4 / 2021-09-29
17
+
18
+ * FIXED: OTLP Export Header Format
19
+
3
20
  ### v0.20.3 / 2021-08-19
4
21
 
5
22
  * FIXED: OTLP exporter missing failure metrics
data/README.md CHANGED
@@ -70,7 +70,7 @@ The collector exporter can be configured explicitly in code, or via environment
70
70
 
71
71
  | Parameter | Environment variable | Default |
72
72
  | ------------------- | -------------------------------------------- | ----------------------------------- |
73
- | `endpoint:` | `OTEL_EXPORTER_OTLP_ENDPOINT` | `"http://localhost:4317/v1/traces"` |
73
+ | `endpoint:` | `OTEL_EXPORTER_OTLP_ENDPOINT` | `"http://localhost:4318/v1/traces"` |
74
74
  | `certificate_file: `| `OTEL_EXPORTER_OTLP_CERTIFICATE` | |
75
75
  | `headers:` | `OTEL_EXPORTER_OTLP_HEADERS` | |
76
76
  | `compression:` | `OTEL_EXPORTER_OTLP_COMPRESSION` | |
@@ -31,6 +31,9 @@ module OpenTelemetry
31
31
  WRITE_TIMEOUT_SUPPORTED = Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.6')
32
32
  private_constant(:KEEP_ALIVE_TIMEOUT, :RETRY_COUNT, :WRITE_TIMEOUT_SUPPORTED)
33
33
 
34
+ ERROR_MESSAGE_INVALID_HEADERS = 'headers must be a String with comma-separated URL Encoded UTF-8 k=v pairs or a Hash'
35
+ private_constant(:ERROR_MESSAGE_INVALID_HEADERS)
36
+
34
37
  def self.ssl_verify_mode
35
38
  if ENV.key?('OTEL_RUBY_EXPORTER_OTLP_SSL_VERIFY_PEER')
36
39
  OpenSSL::SSL::VERIFY_PEER
@@ -41,16 +44,15 @@ module OpenTelemetry
41
44
  end
42
45
  end
43
46
 
44
- def initialize(endpoint: config_opt('OTEL_EXPORTER_OTLP_TRACES_ENDPOINT', 'OTEL_EXPORTER_OTLP_ENDPOINT', default: 'https://localhost:4317/v1/traces'), # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity, Metrics/MethodLength
47
+ def initialize(endpoint: config_opt('OTEL_EXPORTER_OTLP_TRACES_ENDPOINT', 'OTEL_EXPORTER_OTLP_ENDPOINT', default: 'https://localhost:4318/v1/traces'), # rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
45
48
  certificate_file: config_opt('OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE', 'OTEL_EXPORTER_OTLP_CERTIFICATE'),
46
49
  ssl_verify_mode: Exporter.ssl_verify_mode,
47
- headers: config_opt('OTEL_EXPORTER_OTLP_TRACES_HEADERS', 'OTEL_EXPORTER_OTLP_HEADERS'),
48
- compression: config_opt('OTEL_EXPORTER_OTLP_TRACES_COMPRESSION', 'OTEL_EXPORTER_OTLP_COMPRESSION'),
50
+ headers: config_opt('OTEL_EXPORTER_OTLP_TRACES_HEADERS', 'OTEL_EXPORTER_OTLP_HEADERS', default: {}),
51
+ compression: config_opt('OTEL_EXPORTER_OTLP_TRACES_COMPRESSION', 'OTEL_EXPORTER_OTLP_COMPRESSION', default: 'gzip'),
49
52
  timeout: config_opt('OTEL_EXPORTER_OTLP_TRACES_TIMEOUT', 'OTEL_EXPORTER_OTLP_TIMEOUT', default: 10),
50
53
  metrics_reporter: nil)
51
54
  raise ArgumentError, "invalid url for OTLP::Exporter #{endpoint}" if invalid_url?(endpoint)
52
55
  raise ArgumentError, "unsupported compression key #{compression}" unless compression.nil? || compression == 'gzip'
53
- raise ArgumentError, 'headers must be comma-separated k=v pairs or a Hash' unless valid_headers?(headers)
54
56
 
55
57
  @uri = if endpoint == ENV['OTEL_EXPORTER_OTLP_ENDPOINT']
56
58
  URI("#{endpoint}/v1/traces")
@@ -58,16 +60,14 @@ module OpenTelemetry
58
60
  URI(endpoint)
59
61
  end
60
62
 
61
- @http = Net::HTTP.new(@uri.host, @uri.port)
62
- @http.use_ssl = @uri.scheme == 'https'
63
- @http.verify_mode = ssl_verify_mode
64
- @http.ca_file = certificate_file unless certificate_file.nil?
65
- @http.keep_alive_timeout = KEEP_ALIVE_TIMEOUT
63
+ @http = http_connection(@uri, ssl_verify_mode, certificate_file)
66
64
 
67
65
  @path = @uri.path
68
66
  @headers = case headers
69
- when String then CSV.parse(headers, col_sep: '=', row_sep: ',').to_h
67
+ when String then parse_headers(headers)
70
68
  when Hash then headers
69
+ else
70
+ raise ArgumentError, ERROR_MESSAGE_INVALID_HEADERS
71
71
  end
72
72
  @timeout = timeout.to_f
73
73
  @compression = compression
@@ -110,6 +110,15 @@ module OpenTelemetry
110
110
 
111
111
  private
112
112
 
113
+ def http_connection(uri, ssl_verify_mode, certificate_file)
114
+ http = Net::HTTP.new(uri.host, uri.port)
115
+ http.use_ssl = uri.scheme == 'https'
116
+ http.verify_mode = ssl_verify_mode
117
+ http.ca_file = certificate_file unless certificate_file.nil?
118
+ http.keep_alive_timeout = KEEP_ALIVE_TIMEOUT
119
+ http
120
+ end
121
+
113
122
  def config_opt(*env_vars, default: nil)
114
123
  env_vars.each do |env_var|
115
124
  val = ENV[env_var]
@@ -118,16 +127,6 @@ module OpenTelemetry
118
127
  default
119
128
  end
120
129
 
121
- def valid_headers?(headers)
122
- return true if headers.nil? || headers.is_a?(Hash)
123
- return false unless headers.is_a?(String)
124
-
125
- CSV.parse(headers, col_sep: '=', row_sep: ',').to_h
126
- true
127
- rescue ArgumentError
128
- false
129
- end
130
-
131
130
  def invalid_url?(url)
132
131
  return true if url.nil? || url.strip.empty?
133
132
 
@@ -149,6 +148,8 @@ module OpenTelemetry
149
148
  end
150
149
 
151
150
  def send_bytes(bytes, timeout:) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
151
+ return FAILURE if bytes.nil?
152
+
152
153
  retry_count = 0
153
154
  timeout ||= @timeout
154
155
  start_time = OpenTelemetry::Common::Utilities.timeout_timestamp
@@ -161,7 +162,7 @@ module OpenTelemetry
161
162
  bytes
162
163
  end
163
164
  request.add_field('Content-Type', 'application/x-protobuf')
164
- @headers&.each { |key, value| request.add_field(key, value) }
165
+ @headers.each { |key, value| request.add_field(key, value) }
165
166
 
166
167
  remaining_timeout = OpenTelemetry::Common::Utilities.maybe_timeout(timeout, start_time)
167
168
  return TIMEOUT if remaining_timeout.zero?
@@ -212,6 +213,13 @@ module OpenTelemetry
212
213
  rescue EOFError
213
214
  retry if backoff?(retry_count: retry_count += 1, reason: 'eof_error')
214
215
  return FAILURE
216
+ rescue Zlib::DataError
217
+ retry if backoff?(retry_count: retry_count += 1, reason: 'zlib_error')
218
+ return FAILURE
219
+ rescue StandardError => e
220
+ OpenTelemetry.handle_error(exception: e, message: 'unexpected error in OTLP::Exporter#send_bytes')
221
+ @metrics_reporter.add_to_counter('otel.otlp_exporter.failure', labels: { 'reason' => e.class.to_s })
222
+ return FAILURE
215
223
  end
216
224
  ensure
217
225
  # Reset timeouts to defaults for the next call.
@@ -263,7 +271,7 @@ module OpenTelemetry
263
271
  true
264
272
  end
265
273
 
266
- def encode(span_data) # rubocop:disable Metrics/MethodLength
274
+ def encode(span_data) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
267
275
  Opentelemetry::Proto::Collector::Trace::V1::ExportTraceServiceRequest.encode(
268
276
  Opentelemetry::Proto::Collector::Trace::V1::ExportTraceServiceRequest.new(
269
277
  resource_spans: span_data
@@ -288,6 +296,9 @@ module OpenTelemetry
288
296
  end
289
297
  )
290
298
  )
299
+ rescue StandardError => e
300
+ OpenTelemetry.handle_error(exception: e, message: 'unexpected error in OTLP::Exporter#encode')
301
+ nil
291
302
  end
292
303
 
293
304
  def as_otlp_span(span_data) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
@@ -322,22 +333,29 @@ module OpenTelemetry
322
333
  end,
323
334
  dropped_links_count: span_data.total_recorded_links - span_data.links&.size.to_i,
324
335
  status: span_data.status&.yield_self do |status|
325
- # TODO: fix this based on spec update.
326
336
  Opentelemetry::Proto::Trace::V1::Status.new(
327
- code: status.code == OpenTelemetry::Trace::Status::ERROR ? Opentelemetry::Proto::Trace::V1::Status::StatusCode::UnknownError : Opentelemetry::Proto::Trace::V1::Status::StatusCode::Ok,
337
+ code: as_otlp_status_code(status.code),
328
338
  message: status.description
329
339
  )
330
340
  end
331
341
  )
332
342
  end
333
343
 
344
+ def as_otlp_status_code(code)
345
+ case code
346
+ when OpenTelemetry::Trace::Status::OK then Opentelemetry::Proto::Trace::V1::Status::StatusCode::STATUS_CODE_OK
347
+ when OpenTelemetry::Trace::Status::ERROR then Opentelemetry::Proto::Trace::V1::Status::StatusCode::STATUS_CODE_ERROR
348
+ else Opentelemetry::Proto::Trace::V1::Status::StatusCode::STATUS_CODE_UNSET
349
+ end
350
+ end
351
+
334
352
  def as_otlp_span_kind(kind)
335
353
  case kind
336
- when :internal then Opentelemetry::Proto::Trace::V1::Span::SpanKind::INTERNAL
337
- when :server then Opentelemetry::Proto::Trace::V1::Span::SpanKind::SERVER
338
- when :client then Opentelemetry::Proto::Trace::V1::Span::SpanKind::CLIENT
339
- when :producer then Opentelemetry::Proto::Trace::V1::Span::SpanKind::PRODUCER
340
- when :consumer then Opentelemetry::Proto::Trace::V1::Span::SpanKind::CONSUMER
354
+ when :internal then Opentelemetry::Proto::Trace::V1::Span::SpanKind::SPAN_KIND_INTERNAL
355
+ when :server then Opentelemetry::Proto::Trace::V1::Span::SpanKind::SPAN_KIND_SERVER
356
+ when :client then Opentelemetry::Proto::Trace::V1::Span::SpanKind::SPAN_KIND_CLIENT
357
+ when :producer then Opentelemetry::Proto::Trace::V1::Span::SpanKind::SPAN_KIND_PRODUCER
358
+ when :consumer then Opentelemetry::Proto::Trace::V1::Span::SpanKind::SPAN_KIND_CONSUMER
341
359
  else Opentelemetry::Proto::Trace::V1::Span::SpanKind::SPAN_KIND_UNSPECIFIED
342
360
  end
343
361
  end
@@ -367,6 +385,24 @@ module OpenTelemetry
367
385
  end
368
386
  result
369
387
  end
388
+
389
+ def parse_headers(raw)
390
+ entries = raw.split(',')
391
+ raise ArgumentError, ERROR_MESSAGE_INVALID_HEADERS if entries.empty?
392
+
393
+ entries.each_with_object({}) do |entry, headers|
394
+ k, v = entry.split('=', 2).map(&CGI.method(:unescape))
395
+ begin
396
+ k = k.to_s.strip
397
+ v = v.to_s.strip
398
+ rescue ArgumentError => e
399
+ raise e, ERROR_MESSAGE_INVALID_HEADERS
400
+ end
401
+ raise ArgumentError, ERROR_MESSAGE_INVALID_HEADERS if k.empty? || v.empty?
402
+
403
+ headers[k] = v
404
+ end
405
+ end
370
406
  end
371
407
  end
372
408
  end
@@ -8,7 +8,7 @@ module OpenTelemetry
8
8
  module Exporter
9
9
  module OTLP
10
10
  ## Current OpenTelemetry OTLP exporter version
11
- VERSION = '0.20.3'
11
+ VERSION = '0.21.0'
12
12
  end
13
13
  end
14
14
  end
@@ -0,0 +1,28 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: opentelemetry/proto/collector/logs/v1/logs_service.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ require 'opentelemetry/proto/logs/v1/logs_pb'
7
+ Google::Protobuf::DescriptorPool.generated_pool.build do
8
+ add_file("opentelemetry/proto/collector/logs/v1/logs_service.proto", :syntax => :proto3) do
9
+ add_message "opentelemetry.proto.collector.logs.v1.ExportLogsServiceRequest" do
10
+ repeated :resource_logs, :message, 1, "opentelemetry.proto.logs.v1.ResourceLogs"
11
+ end
12
+ add_message "opentelemetry.proto.collector.logs.v1.ExportLogsServiceResponse" do
13
+ end
14
+ end
15
+ end
16
+
17
+ module Opentelemetry
18
+ module Proto
19
+ module Collector
20
+ module Logs
21
+ module V1
22
+ ExportLogsServiceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.collector.logs.v1.ExportLogsServiceRequest").msgclass
23
+ ExportLogsServiceResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.collector.logs.v1.ExportLogsServiceResponse").msgclass
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,50 @@
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
@@ -0,0 +1,28 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: opentelemetry/proto/collector/metrics/v1/metrics_service.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ require 'opentelemetry/proto/metrics/v1/metrics_pb'
7
+ Google::Protobuf::DescriptorPool.generated_pool.build do
8
+ add_file("opentelemetry/proto/collector/metrics/v1/metrics_service.proto", :syntax => :proto3) do
9
+ add_message "opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest" do
10
+ repeated :resource_metrics, :message, 1, "opentelemetry.proto.metrics.v1.ResourceMetrics"
11
+ end
12
+ add_message "opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceResponse" do
13
+ end
14
+ end
15
+ end
16
+
17
+ module Opentelemetry
18
+ module Proto
19
+ module Collector
20
+ module Metrics
21
+ module V1
22
+ ExportMetricsServiceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest").msgclass
23
+ ExportMetricsServiceResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceResponse").msgclass
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,50 @@
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
@@ -0,0 +1,50 @@
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
@@ -13,6 +13,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
13
13
  optional :double_value, :double, 4
14
14
  optional :array_value, :message, 5, "opentelemetry.proto.common.v1.ArrayValue"
15
15
  optional :kvlist_value, :message, 6, "opentelemetry.proto.common.v1.KeyValueList"
16
+ optional :bytes_value, :bytes, 7
16
17
  end
17
18
  end
18
19
  add_message "opentelemetry.proto.common.v1.ArrayValue" do
@@ -0,0 +1,82 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: opentelemetry/proto/logs/v1/logs.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ require 'opentelemetry/proto/common/v1/common_pb'
7
+ require 'opentelemetry/proto/resource/v1/resource_pb'
8
+ Google::Protobuf::DescriptorPool.generated_pool.build do
9
+ add_file("opentelemetry/proto/logs/v1/logs.proto", :syntax => :proto3) do
10
+ add_message "opentelemetry.proto.logs.v1.LogsData" do
11
+ repeated :resource_logs, :message, 1, "opentelemetry.proto.logs.v1.ResourceLogs"
12
+ end
13
+ add_message "opentelemetry.proto.logs.v1.ResourceLogs" do
14
+ optional :resource, :message, 1, "opentelemetry.proto.resource.v1.Resource"
15
+ repeated :instrumentation_library_logs, :message, 2, "opentelemetry.proto.logs.v1.InstrumentationLibraryLogs"
16
+ optional :schema_url, :string, 3
17
+ end
18
+ add_message "opentelemetry.proto.logs.v1.InstrumentationLibraryLogs" do
19
+ optional :instrumentation_library, :message, 1, "opentelemetry.proto.common.v1.InstrumentationLibrary"
20
+ repeated :logs, :message, 2, "opentelemetry.proto.logs.v1.LogRecord"
21
+ optional :schema_url, :string, 3
22
+ end
23
+ add_message "opentelemetry.proto.logs.v1.LogRecord" do
24
+ optional :time_unix_nano, :fixed64, 1
25
+ optional :severity_number, :enum, 2, "opentelemetry.proto.logs.v1.SeverityNumber"
26
+ optional :severity_text, :string, 3
27
+ optional :name, :string, 4
28
+ optional :body, :message, 5, "opentelemetry.proto.common.v1.AnyValue"
29
+ repeated :attributes, :message, 6, "opentelemetry.proto.common.v1.KeyValue"
30
+ optional :dropped_attributes_count, :uint32, 7
31
+ optional :flags, :fixed32, 8
32
+ optional :trace_id, :bytes, 9
33
+ optional :span_id, :bytes, 10
34
+ end
35
+ add_enum "opentelemetry.proto.logs.v1.SeverityNumber" do
36
+ value :SEVERITY_NUMBER_UNSPECIFIED, 0
37
+ value :SEVERITY_NUMBER_TRACE, 1
38
+ value :SEVERITY_NUMBER_TRACE2, 2
39
+ value :SEVERITY_NUMBER_TRACE3, 3
40
+ value :SEVERITY_NUMBER_TRACE4, 4
41
+ value :SEVERITY_NUMBER_DEBUG, 5
42
+ value :SEVERITY_NUMBER_DEBUG2, 6
43
+ value :SEVERITY_NUMBER_DEBUG3, 7
44
+ value :SEVERITY_NUMBER_DEBUG4, 8
45
+ value :SEVERITY_NUMBER_INFO, 9
46
+ value :SEVERITY_NUMBER_INFO2, 10
47
+ value :SEVERITY_NUMBER_INFO3, 11
48
+ value :SEVERITY_NUMBER_INFO4, 12
49
+ value :SEVERITY_NUMBER_WARN, 13
50
+ value :SEVERITY_NUMBER_WARN2, 14
51
+ value :SEVERITY_NUMBER_WARN3, 15
52
+ value :SEVERITY_NUMBER_WARN4, 16
53
+ value :SEVERITY_NUMBER_ERROR, 17
54
+ value :SEVERITY_NUMBER_ERROR2, 18
55
+ value :SEVERITY_NUMBER_ERROR3, 19
56
+ value :SEVERITY_NUMBER_ERROR4, 20
57
+ value :SEVERITY_NUMBER_FATAL, 21
58
+ value :SEVERITY_NUMBER_FATAL2, 22
59
+ value :SEVERITY_NUMBER_FATAL3, 23
60
+ value :SEVERITY_NUMBER_FATAL4, 24
61
+ end
62
+ add_enum "opentelemetry.proto.logs.v1.LogRecordFlags" do
63
+ value :LOG_RECORD_FLAG_UNSPECIFIED, 0
64
+ value :LOG_RECORD_FLAG_TRACE_FLAGS_MASK, 255
65
+ end
66
+ end
67
+ end
68
+
69
+ module Opentelemetry
70
+ module Proto
71
+ module Logs
72
+ module V1
73
+ LogsData = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.logs.v1.LogsData").msgclass
74
+ ResourceLogs = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.logs.v1.ResourceLogs").msgclass
75
+ InstrumentationLibraryLogs = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.logs.v1.InstrumentationLibraryLogs").msgclass
76
+ LogRecord = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.logs.v1.LogRecord").msgclass
77
+ SeverityNumber = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.logs.v1.SeverityNumber").enummodule
78
+ LogRecordFlags = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.logs.v1.LogRecordFlags").enummodule
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,43 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: opentelemetry/proto/metrics/experimental/metrics_config_service.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ require 'opentelemetry/proto/resource/v1/resource_pb'
7
+ Google::Protobuf::DescriptorPool.generated_pool.build do
8
+ add_file("opentelemetry/proto/metrics/experimental/metrics_config_service.proto", :syntax => :proto3) do
9
+ add_message "opentelemetry.proto.metrics.experimental.MetricConfigRequest" do
10
+ optional :resource, :message, 1, "opentelemetry.proto.resource.v1.Resource"
11
+ optional :last_known_fingerprint, :bytes, 2
12
+ end
13
+ add_message "opentelemetry.proto.metrics.experimental.MetricConfigResponse" do
14
+ optional :fingerprint, :bytes, 1
15
+ repeated :schedules, :message, 2, "opentelemetry.proto.metrics.experimental.MetricConfigResponse.Schedule"
16
+ optional :suggested_wait_time_sec, :int32, 3
17
+ end
18
+ add_message "opentelemetry.proto.metrics.experimental.MetricConfigResponse.Schedule" do
19
+ repeated :exclusion_patterns, :message, 1, "opentelemetry.proto.metrics.experimental.MetricConfigResponse.Schedule.Pattern"
20
+ repeated :inclusion_patterns, :message, 2, "opentelemetry.proto.metrics.experimental.MetricConfigResponse.Schedule.Pattern"
21
+ optional :period_sec, :int32, 3
22
+ end
23
+ add_message "opentelemetry.proto.metrics.experimental.MetricConfigResponse.Schedule.Pattern" do
24
+ oneof :match do
25
+ optional :equals, :string, 1
26
+ optional :starts_with, :string, 2
27
+ end
28
+ end
29
+ end
30
+ end
31
+
32
+ module Opentelemetry
33
+ module Proto
34
+ module Metrics
35
+ module Experimental
36
+ MetricConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.experimental.MetricConfigRequest").msgclass
37
+ MetricConfigResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.experimental.MetricConfigResponse").msgclass
38
+ MetricConfigResponse::Schedule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.experimental.MetricConfigResponse.Schedule").msgclass
39
+ MetricConfigResponse::Schedule::Pattern = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.experimental.MetricConfigResponse.Schedule.Pattern").msgclass
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,202 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: opentelemetry/proto/metrics/v1/metrics.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ require 'opentelemetry/proto/common/v1/common_pb'
7
+ require 'opentelemetry/proto/resource/v1/resource_pb'
8
+ Google::Protobuf::DescriptorPool.generated_pool.build do
9
+ add_file("opentelemetry/proto/metrics/v1/metrics.proto", :syntax => :proto3) do
10
+ add_message "opentelemetry.proto.metrics.v1.MetricsData" do
11
+ repeated :resource_metrics, :message, 1, "opentelemetry.proto.metrics.v1.ResourceMetrics"
12
+ end
13
+ add_message "opentelemetry.proto.metrics.v1.ResourceMetrics" do
14
+ optional :resource, :message, 1, "opentelemetry.proto.resource.v1.Resource"
15
+ repeated :instrumentation_library_metrics, :message, 2, "opentelemetry.proto.metrics.v1.InstrumentationLibraryMetrics"
16
+ optional :schema_url, :string, 3
17
+ end
18
+ add_message "opentelemetry.proto.metrics.v1.InstrumentationLibraryMetrics" do
19
+ optional :instrumentation_library, :message, 1, "opentelemetry.proto.common.v1.InstrumentationLibrary"
20
+ repeated :metrics, :message, 2, "opentelemetry.proto.metrics.v1.Metric"
21
+ optional :schema_url, :string, 3
22
+ end
23
+ add_message "opentelemetry.proto.metrics.v1.Metric" do
24
+ optional :name, :string, 1
25
+ optional :description, :string, 2
26
+ optional :unit, :string, 3
27
+ oneof :data do
28
+ optional :int_gauge, :message, 4, "opentelemetry.proto.metrics.v1.IntGauge"
29
+ optional :gauge, :message, 5, "opentelemetry.proto.metrics.v1.Gauge"
30
+ optional :int_sum, :message, 6, "opentelemetry.proto.metrics.v1.IntSum"
31
+ optional :sum, :message, 7, "opentelemetry.proto.metrics.v1.Sum"
32
+ optional :int_histogram, :message, 8, "opentelemetry.proto.metrics.v1.IntHistogram"
33
+ optional :histogram, :message, 9, "opentelemetry.proto.metrics.v1.Histogram"
34
+ optional :exponential_histogram, :message, 10, "opentelemetry.proto.metrics.v1.ExponentialHistogram"
35
+ optional :summary, :message, 11, "opentelemetry.proto.metrics.v1.Summary"
36
+ end
37
+ end
38
+ add_message "opentelemetry.proto.metrics.v1.Gauge" do
39
+ repeated :data_points, :message, 1, "opentelemetry.proto.metrics.v1.NumberDataPoint"
40
+ end
41
+ add_message "opentelemetry.proto.metrics.v1.Sum" do
42
+ repeated :data_points, :message, 1, "opentelemetry.proto.metrics.v1.NumberDataPoint"
43
+ optional :aggregation_temporality, :enum, 2, "opentelemetry.proto.metrics.v1.AggregationTemporality"
44
+ optional :is_monotonic, :bool, 3
45
+ end
46
+ add_message "opentelemetry.proto.metrics.v1.Histogram" do
47
+ repeated :data_points, :message, 1, "opentelemetry.proto.metrics.v1.HistogramDataPoint"
48
+ optional :aggregation_temporality, :enum, 2, "opentelemetry.proto.metrics.v1.AggregationTemporality"
49
+ end
50
+ add_message "opentelemetry.proto.metrics.v1.ExponentialHistogram" do
51
+ repeated :data_points, :message, 1, "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint"
52
+ optional :aggregation_temporality, :enum, 2, "opentelemetry.proto.metrics.v1.AggregationTemporality"
53
+ end
54
+ add_message "opentelemetry.proto.metrics.v1.Summary" do
55
+ repeated :data_points, :message, 1, "opentelemetry.proto.metrics.v1.SummaryDataPoint"
56
+ end
57
+ add_message "opentelemetry.proto.metrics.v1.NumberDataPoint" do
58
+ repeated :attributes, :message, 7, "opentelemetry.proto.common.v1.KeyValue"
59
+ repeated :labels, :message, 1, "opentelemetry.proto.common.v1.StringKeyValue"
60
+ optional :start_time_unix_nano, :fixed64, 2
61
+ optional :time_unix_nano, :fixed64, 3
62
+ repeated :exemplars, :message, 5, "opentelemetry.proto.metrics.v1.Exemplar"
63
+ optional :flags, :uint32, 8
64
+ oneof :value do
65
+ optional :as_double, :double, 4
66
+ optional :as_int, :sfixed64, 6
67
+ end
68
+ end
69
+ add_message "opentelemetry.proto.metrics.v1.HistogramDataPoint" do
70
+ repeated :attributes, :message, 9, "opentelemetry.proto.common.v1.KeyValue"
71
+ repeated :labels, :message, 1, "opentelemetry.proto.common.v1.StringKeyValue"
72
+ optional :start_time_unix_nano, :fixed64, 2
73
+ optional :time_unix_nano, :fixed64, 3
74
+ optional :count, :fixed64, 4
75
+ optional :sum, :double, 5
76
+ repeated :bucket_counts, :fixed64, 6
77
+ repeated :explicit_bounds, :double, 7
78
+ repeated :exemplars, :message, 8, "opentelemetry.proto.metrics.v1.Exemplar"
79
+ optional :flags, :uint32, 10
80
+ end
81
+ add_message "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint" do
82
+ repeated :attributes, :message, 1, "opentelemetry.proto.common.v1.KeyValue"
83
+ optional :start_time_unix_nano, :fixed64, 2
84
+ optional :time_unix_nano, :fixed64, 3
85
+ optional :count, :fixed64, 4
86
+ optional :sum, :double, 5
87
+ optional :scale, :sint32, 6
88
+ optional :zero_count, :fixed64, 7
89
+ optional :positive, :message, 8, "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets"
90
+ optional :negative, :message, 9, "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets"
91
+ optional :flags, :uint32, 10
92
+ repeated :exemplars, :message, 11, "opentelemetry.proto.metrics.v1.Exemplar"
93
+ end
94
+ add_message "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets" do
95
+ optional :offset, :sint32, 1
96
+ repeated :bucket_counts, :uint64, 2
97
+ end
98
+ add_message "opentelemetry.proto.metrics.v1.SummaryDataPoint" do
99
+ repeated :attributes, :message, 7, "opentelemetry.proto.common.v1.KeyValue"
100
+ repeated :labels, :message, 1, "opentelemetry.proto.common.v1.StringKeyValue"
101
+ optional :start_time_unix_nano, :fixed64, 2
102
+ optional :time_unix_nano, :fixed64, 3
103
+ optional :count, :fixed64, 4
104
+ optional :sum, :double, 5
105
+ repeated :quantile_values, :message, 6, "opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile"
106
+ optional :flags, :uint32, 8
107
+ end
108
+ add_message "opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile" do
109
+ optional :quantile, :double, 1
110
+ optional :value, :double, 2
111
+ end
112
+ add_message "opentelemetry.proto.metrics.v1.Exemplar" do
113
+ repeated :filtered_attributes, :message, 7, "opentelemetry.proto.common.v1.KeyValue"
114
+ repeated :filtered_labels, :message, 1, "opentelemetry.proto.common.v1.StringKeyValue"
115
+ optional :time_unix_nano, :fixed64, 2
116
+ optional :span_id, :bytes, 4
117
+ optional :trace_id, :bytes, 5
118
+ oneof :value do
119
+ optional :as_double, :double, 3
120
+ optional :as_int, :sfixed64, 6
121
+ end
122
+ end
123
+ add_message "opentelemetry.proto.metrics.v1.IntDataPoint" do
124
+ repeated :labels, :message, 1, "opentelemetry.proto.common.v1.StringKeyValue"
125
+ optional :start_time_unix_nano, :fixed64, 2
126
+ optional :time_unix_nano, :fixed64, 3
127
+ optional :value, :sfixed64, 4
128
+ repeated :exemplars, :message, 5, "opentelemetry.proto.metrics.v1.IntExemplar"
129
+ end
130
+ add_message "opentelemetry.proto.metrics.v1.IntGauge" do
131
+ repeated :data_points, :message, 1, "opentelemetry.proto.metrics.v1.IntDataPoint"
132
+ end
133
+ add_message "opentelemetry.proto.metrics.v1.IntSum" do
134
+ repeated :data_points, :message, 1, "opentelemetry.proto.metrics.v1.IntDataPoint"
135
+ optional :aggregation_temporality, :enum, 2, "opentelemetry.proto.metrics.v1.AggregationTemporality"
136
+ optional :is_monotonic, :bool, 3
137
+ end
138
+ add_message "opentelemetry.proto.metrics.v1.IntHistogramDataPoint" do
139
+ repeated :labels, :message, 1, "opentelemetry.proto.common.v1.StringKeyValue"
140
+ optional :start_time_unix_nano, :fixed64, 2
141
+ optional :time_unix_nano, :fixed64, 3
142
+ optional :count, :fixed64, 4
143
+ optional :sum, :sfixed64, 5
144
+ repeated :bucket_counts, :fixed64, 6
145
+ repeated :explicit_bounds, :double, 7
146
+ repeated :exemplars, :message, 8, "opentelemetry.proto.metrics.v1.IntExemplar"
147
+ end
148
+ add_message "opentelemetry.proto.metrics.v1.IntHistogram" do
149
+ repeated :data_points, :message, 1, "opentelemetry.proto.metrics.v1.IntHistogramDataPoint"
150
+ optional :aggregation_temporality, :enum, 2, "opentelemetry.proto.metrics.v1.AggregationTemporality"
151
+ end
152
+ add_message "opentelemetry.proto.metrics.v1.IntExemplar" do
153
+ repeated :filtered_labels, :message, 1, "opentelemetry.proto.common.v1.StringKeyValue"
154
+ optional :time_unix_nano, :fixed64, 2
155
+ optional :value, :sfixed64, 3
156
+ optional :span_id, :bytes, 4
157
+ optional :trace_id, :bytes, 5
158
+ end
159
+ add_enum "opentelemetry.proto.metrics.v1.AggregationTemporality" do
160
+ value :AGGREGATION_TEMPORALITY_UNSPECIFIED, 0
161
+ value :AGGREGATION_TEMPORALITY_DELTA, 1
162
+ value :AGGREGATION_TEMPORALITY_CUMULATIVE, 2
163
+ end
164
+ add_enum "opentelemetry.proto.metrics.v1.DataPointFlags" do
165
+ value :FLAG_NONE, 0
166
+ value :FLAG_NO_RECORDED_VALUE, 1
167
+ end
168
+ end
169
+ end
170
+
171
+ module Opentelemetry
172
+ module Proto
173
+ module Metrics
174
+ module V1
175
+ MetricsData = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.MetricsData").msgclass
176
+ ResourceMetrics = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.ResourceMetrics").msgclass
177
+ InstrumentationLibraryMetrics = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.InstrumentationLibraryMetrics").msgclass
178
+ Metric = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.Metric").msgclass
179
+ Gauge = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.Gauge").msgclass
180
+ Sum = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.Sum").msgclass
181
+ Histogram = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.Histogram").msgclass
182
+ ExponentialHistogram = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.ExponentialHistogram").msgclass
183
+ Summary = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.Summary").msgclass
184
+ NumberDataPoint = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.NumberDataPoint").msgclass
185
+ HistogramDataPoint = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.HistogramDataPoint").msgclass
186
+ ExponentialHistogramDataPoint = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint").msgclass
187
+ ExponentialHistogramDataPoint::Buckets = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets").msgclass
188
+ SummaryDataPoint = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.SummaryDataPoint").msgclass
189
+ SummaryDataPoint::ValueAtQuantile = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile").msgclass
190
+ Exemplar = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.Exemplar").msgclass
191
+ IntDataPoint = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.IntDataPoint").msgclass
192
+ IntGauge = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.IntGauge").msgclass
193
+ IntSum = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.IntSum").msgclass
194
+ IntHistogramDataPoint = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.IntHistogramDataPoint").msgclass
195
+ IntHistogram = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.IntHistogram").msgclass
196
+ IntExemplar = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.IntExemplar").msgclass
197
+ AggregationTemporality = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.AggregationTemporality").enummodule
198
+ DataPointFlags = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.DataPointFlags").enummodule
199
+ end
200
+ end
201
+ end
202
+ end
@@ -0,0 +1,49 @@
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
@@ -7,13 +7,18 @@ require 'opentelemetry/proto/common/v1/common_pb'
7
7
  require 'opentelemetry/proto/resource/v1/resource_pb'
8
8
  Google::Protobuf::DescriptorPool.generated_pool.build do
9
9
  add_file("opentelemetry/proto/trace/v1/trace.proto", :syntax => :proto3) do
10
+ add_message "opentelemetry.proto.trace.v1.TracesData" do
11
+ repeated :resource_spans, :message, 1, "opentelemetry.proto.trace.v1.ResourceSpans"
12
+ end
10
13
  add_message "opentelemetry.proto.trace.v1.ResourceSpans" do
11
14
  optional :resource, :message, 1, "opentelemetry.proto.resource.v1.Resource"
12
15
  repeated :instrumentation_library_spans, :message, 2, "opentelemetry.proto.trace.v1.InstrumentationLibrarySpans"
16
+ optional :schema_url, :string, 3
13
17
  end
14
18
  add_message "opentelemetry.proto.trace.v1.InstrumentationLibrarySpans" do
15
19
  optional :instrumentation_library, :message, 1, "opentelemetry.proto.common.v1.InstrumentationLibrary"
16
20
  repeated :spans, :message, 2, "opentelemetry.proto.trace.v1.Span"
21
+ optional :schema_url, :string, 3
17
22
  end
18
23
  add_message "opentelemetry.proto.trace.v1.Span" do
19
24
  optional :trace_id, :bytes, 1
@@ -47,34 +52,40 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
47
52
  end
48
53
  add_enum "opentelemetry.proto.trace.v1.Span.SpanKind" do
49
54
  value :SPAN_KIND_UNSPECIFIED, 0
50
- value :INTERNAL, 1
51
- value :SERVER, 2
52
- value :CLIENT, 3
53
- value :PRODUCER, 4
54
- value :CONSUMER, 5
55
+ value :SPAN_KIND_INTERNAL, 1
56
+ value :SPAN_KIND_SERVER, 2
57
+ value :SPAN_KIND_CLIENT, 3
58
+ value :SPAN_KIND_PRODUCER, 4
59
+ value :SPAN_KIND_CONSUMER, 5
55
60
  end
56
61
  add_message "opentelemetry.proto.trace.v1.Status" do
57
- optional :code, :enum, 1, "opentelemetry.proto.trace.v1.Status.StatusCode"
62
+ optional :deprecated_code, :enum, 1, "opentelemetry.proto.trace.v1.Status.DeprecatedStatusCode"
58
63
  optional :message, :string, 2
64
+ optional :code, :enum, 3, "opentelemetry.proto.trace.v1.Status.StatusCode"
65
+ end
66
+ add_enum "opentelemetry.proto.trace.v1.Status.DeprecatedStatusCode" do
67
+ value :DEPRECATED_STATUS_CODE_OK, 0
68
+ value :DEPRECATED_STATUS_CODE_CANCELLED, 1
69
+ value :DEPRECATED_STATUS_CODE_UNKNOWN_ERROR, 2
70
+ value :DEPRECATED_STATUS_CODE_INVALID_ARGUMENT, 3
71
+ value :DEPRECATED_STATUS_CODE_DEADLINE_EXCEEDED, 4
72
+ value :DEPRECATED_STATUS_CODE_NOT_FOUND, 5
73
+ value :DEPRECATED_STATUS_CODE_ALREADY_EXISTS, 6
74
+ value :DEPRECATED_STATUS_CODE_PERMISSION_DENIED, 7
75
+ value :DEPRECATED_STATUS_CODE_RESOURCE_EXHAUSTED, 8
76
+ value :DEPRECATED_STATUS_CODE_FAILED_PRECONDITION, 9
77
+ value :DEPRECATED_STATUS_CODE_ABORTED, 10
78
+ value :DEPRECATED_STATUS_CODE_OUT_OF_RANGE, 11
79
+ value :DEPRECATED_STATUS_CODE_UNIMPLEMENTED, 12
80
+ value :DEPRECATED_STATUS_CODE_INTERNAL_ERROR, 13
81
+ value :DEPRECATED_STATUS_CODE_UNAVAILABLE, 14
82
+ value :DEPRECATED_STATUS_CODE_DATA_LOSS, 15
83
+ value :DEPRECATED_STATUS_CODE_UNAUTHENTICATED, 16
59
84
  end
60
85
  add_enum "opentelemetry.proto.trace.v1.Status.StatusCode" do
61
- value :Ok, 0
62
- value :Cancelled, 1
63
- value :UnknownError, 2
64
- value :InvalidArgument, 3
65
- value :DeadlineExceeded, 4
66
- value :NotFound, 5
67
- value :AlreadyExists, 6
68
- value :PermissionDenied, 7
69
- value :ResourceExhausted, 8
70
- value :FailedPrecondition, 9
71
- value :Aborted, 10
72
- value :OutOfRange, 11
73
- value :Unimplemented, 12
74
- value :InternalError, 13
75
- value :Unavailable, 14
76
- value :DataLoss, 15
77
- value :Unauthenticated, 16
86
+ value :STATUS_CODE_UNSET, 0
87
+ value :STATUS_CODE_OK, 1
88
+ value :STATUS_CODE_ERROR, 2
78
89
  end
79
90
  end
80
91
  end
@@ -83,6 +94,7 @@ module Opentelemetry
83
94
  module Proto
84
95
  module Trace
85
96
  module V1
97
+ TracesData = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.TracesData").msgclass
86
98
  ResourceSpans = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.ResourceSpans").msgclass
87
99
  InstrumentationLibrarySpans = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.InstrumentationLibrarySpans").msgclass
88
100
  Span = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.Span").msgclass
@@ -90,6 +102,7 @@ module Opentelemetry
90
102
  Span::Link = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.Span.Link").msgclass
91
103
  Span::SpanKind = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.Span.SpanKind").enummodule
92
104
  Status = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.Status").msgclass
105
+ Status::DeprecatedStatusCode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.Status.DeprecatedStatusCode").enummodule
93
106
  Status::StatusCode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.Status.StatusCode").enummodule
94
107
  end
95
108
  end
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.20.3
4
+ version: 0.21.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-08-19 00:00:00.000000000 Z
11
+ date: 2021-12-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-protobuf
@@ -30,42 +30,42 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.0.0.rc3
33
+ version: '1.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: 1.0.0.rc3
40
+ version: '1.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: opentelemetry-common
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.19.1
47
+ version: 0.19.3
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.19.1
54
+ version: 0.19.3
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: opentelemetry-sdk
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 1.0.0.rc2
61
+ version: '1.0'
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: 1.0.0.rc2
68
+ version: '1.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bundler
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '5.0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: pry-byebug
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: rake
113
127
  requirement: !ruby/object:Gem::Requirement
@@ -207,18 +221,27 @@ files:
207
221
  - lib/opentelemetry/exporter/otlp.rb
208
222
  - lib/opentelemetry/exporter/otlp/exporter.rb
209
223
  - lib/opentelemetry/exporter/otlp/version.rb
224
+ - lib/opentelemetry/proto/collector/logs/v1/logs_service_pb.rb
225
+ - lib/opentelemetry/proto/collector/logs/v1/logs_service_services_pb.rb
226
+ - lib/opentelemetry/proto/collector/metrics/v1/metrics_service_pb.rb
227
+ - lib/opentelemetry/proto/collector/metrics/v1/metrics_service_services_pb.rb
210
228
  - lib/opentelemetry/proto/collector/trace/v1/trace_service_pb.rb
229
+ - lib/opentelemetry/proto/collector/trace/v1/trace_service_services_pb.rb
211
230
  - lib/opentelemetry/proto/common/v1/common_pb.rb
231
+ - lib/opentelemetry/proto/logs/v1/logs_pb.rb
232
+ - lib/opentelemetry/proto/metrics/experimental/metrics_config_service_pb.rb
233
+ - lib/opentelemetry/proto/metrics/v1/metrics_pb.rb
212
234
  - lib/opentelemetry/proto/resource/v1/resource_pb.rb
235
+ - lib/opentelemetry/proto/trace/v1/trace_config_pb.rb
213
236
  - lib/opentelemetry/proto/trace/v1/trace_pb.rb
214
237
  homepage: https://github.com/open-telemetry/opentelemetry-ruby
215
238
  licenses:
216
239
  - Apache-2.0
217
240
  metadata:
218
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.20.3/file.CHANGELOG.html
241
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.21.0/file.CHANGELOG.html
219
242
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/exporter/otlp
220
243
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
221
- documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.20.3
244
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.21.0
222
245
  post_install_message:
223
246
  rdoc_options: []
224
247
  require_paths: