opentelemetry-exporter-otlp 0.22.0 → 0.24.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: 5fb745d3f75cb361d8921375fac3d93c4ba439b04f6e1b88a16a3e1d37c0718b
4
- data.tar.gz: c03ac82d66dba1f2d18c15c33e58067fc634d17dac61a390e92f965f1a3aed8c
3
+ metadata.gz: f4df026382336e315dde278109b3b4e009f0df5a48193afe310dbb6a8b792144
4
+ data.tar.gz: '094b9bea07b4aea167f8a9b8b80ab269836f1e899b41aba22792f55603b9de6a'
5
5
  SHA512:
6
- metadata.gz: 1a215680796d45dacf04484864b07f1552f1cae9f1b4c9e73ffc5392bfb8e370a3bca9abea9155cd53b14bb9ad9d923ce9b8659fdec21dbbdceb4bef05832258
7
- data.tar.gz: 5261a436acd2d12465c3b18100e0b6202f66bdfd633ba19f7c244a1dc38a67deca69a4c6a6110f473f286e39ed4392b908f9414dd4c84217abf9582a08392ec2
6
+ metadata.gz: 6c9d4259369e3db4ae04b60cd7dadc77606726902223f6ed6302ea5728f907bd0d2832d50ef1e3796ad3ab802277ee4cc96346522180b6726d602fc8523b0dea
7
+ data.tar.gz: ba4d5bf4433064a5780659fe33fbbdacb6daad86e26ad77e356b82eed8bbdf9f0258cf4c228a5a56ed00216aa29638ae2fc8e46a44347f50ca42baf23f433662
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Release History: opentelemetry-exporter-otlp
2
2
 
3
+ ### v0.24.0 / 2022-09-14
4
+
5
+ * ADDED: Support InstrumentationScope, and update OTLP proto to 0.18.0
6
+ * FIXED: Handle OTLP exporter 404s discretely
7
+ * FIXED: `OTEL_EXPORTER_OTLP_ENDPOINT` appends the correct path with a trailing slash
8
+ * FIXED: OTLP exporter demo code
9
+ * DOCS: Update exporter default compression setting
10
+
11
+ ### v0.23.0 / 2022-06-23
12
+
13
+ * ADDED: Report bundle size stats in exporter; also don't re-gzip unnecessarily
14
+
3
15
  ### v0.22.0 / 2022-06-09
4
16
 
5
17
  * ADDED: Otlp grpc
data/README.md CHANGED
@@ -46,7 +46,8 @@ require 'opentelemetry/exporter/otlp'
46
46
  OpenTelemetry::SDK.configure
47
47
 
48
48
  # To start a trace you need to get a Tracer from the TracerProvider
49
- tracer = OpenTelemetry.tracer_provider.tracer('my_app_or_gem', '0.1.0')
49
+ tracer_provider = OpenTelemetry.tracer_provider
50
+ tracer = tracer_provider.tracer('my_app_or_gem', '0.1.0')
50
51
 
51
52
  # create a span
52
53
  tracer.in_span('foo') do |span|
@@ -60,6 +61,8 @@ tracer.in_span('foo') do |span|
60
61
  pp child_span
61
62
  end
62
63
  end
64
+
65
+ tracer_provider.shutdown
63
66
  ```
64
67
 
65
68
  For additional examples, see the [examples on github][examples-github].
@@ -73,7 +76,7 @@ The collector exporter can be configured explicitly in code, or via environment
73
76
  | `endpoint:` | `OTEL_EXPORTER_OTLP_ENDPOINT` | `"http://localhost:4318/v1/traces"` |
74
77
  | `certificate_file: `| `OTEL_EXPORTER_OTLP_CERTIFICATE` | |
75
78
  | `headers:` | `OTEL_EXPORTER_OTLP_HEADERS` | |
76
- | `compression:` | `OTEL_EXPORTER_OTLP_COMPRESSION` | |
79
+ | `compression:` | `OTEL_EXPORTER_OTLP_COMPRESSION` | `"gzip"` |
77
80
  | `timeout:` | `OTEL_EXPORTER_OTLP_TIMEOUT` | `10` |
78
81
  | `ssl_verify_mode:` | `OTEL_RUBY_EXPORTER_OTLP_SSL_VERIFY_PEER` or | `OpenSSL::SSL:VERIFY_PEER` |
79
82
  | | `OTEL_RUBY_EXPORTER_OTLP_SSL_VERIFY_NONE` | |
@@ -45,7 +45,7 @@ module OpenTelemetry
45
45
  end
46
46
  end
47
47
 
48
- def initialize(endpoint: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_ENDPOINT', 'OTEL_EXPORTER_OTLP_ENDPOINT', default: 'http://localhost:4318/v1/traces'), # rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
48
+ def initialize(endpoint: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_ENDPOINT', 'OTEL_EXPORTER_OTLP_ENDPOINT', default: 'http://localhost:4318/v1/traces'), # rubocop:disable Metrics/CyclomaticComplexity
49
49
  certificate_file: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE', 'OTEL_EXPORTER_OTLP_CERTIFICATE'),
50
50
  ssl_verify_mode: Exporter.ssl_verify_mode,
51
51
  headers: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_HEADERS', 'OTEL_EXPORTER_OTLP_HEADERS', default: {}),
@@ -56,7 +56,7 @@ module OpenTelemetry
56
56
  raise ArgumentError, "unsupported compression key #{compression}" unless compression.nil? || %w[gzip none].include?(compression)
57
57
 
58
58
  @uri = if endpoint == ENV['OTEL_EXPORTER_OTLP_ENDPOINT']
59
- URI("#{endpoint}/v1/traces")
59
+ URI.join(endpoint, 'v1/traces')
60
60
  else
61
61
  URI(endpoint)
62
62
  end
@@ -128,26 +128,31 @@ module OpenTelemetry
128
128
  # and override this method's behaviour to explicitly trace the HTTP request.
129
129
  # This would allow you to trace your export pipeline.
130
130
  def around_request
131
- OpenTelemetry::Common::Utilities.untraced { yield }
131
+ OpenTelemetry::Common::Utilities.untraced { yield } # rubocop:disable Style/ExplicitBlockArgument
132
132
  end
133
133
 
134
- def send_bytes(bytes, timeout:) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
134
+ def send_bytes(bytes, timeout:) # rubocop:disable Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
135
135
  return FAILURE if bytes.nil?
136
136
 
137
+ @metrics_reporter.record_value('otel.otlp_exporter.message.uncompressed_size', value: bytes.bytesize)
138
+
139
+ request = Net::HTTP::Post.new(@path)
140
+ if @compression == 'gzip'
141
+ request.add_field('Content-Encoding', 'gzip')
142
+ body = Zlib.gzip(bytes)
143
+ @metrics_reporter.record_value('otel.otlp_exporter.message.compressed_size', value: body.bytesize)
144
+ else
145
+ body = bytes
146
+ end
147
+ request.body = body
148
+ request.add_field('Content-Type', 'application/x-protobuf')
149
+ @headers.each { |key, value| request.add_field(key, value) }
150
+
137
151
  retry_count = 0
138
152
  timeout ||= @timeout
139
153
  start_time = OpenTelemetry::Common::Utilities.timeout_timestamp
140
- around_request do # rubocop:disable Metrics/BlockLength
141
- request = Net::HTTP::Post.new(@path)
142
- request.body = if @compression == 'gzip'
143
- request.add_field('Content-Encoding', 'gzip')
144
- Zlib.gzip(bytes)
145
- else
146
- bytes
147
- end
148
- request.add_field('Content-Type', 'application/x-protobuf')
149
- @headers.each { |key, value| request.add_field(key, value) }
150
154
 
155
+ around_request do
151
156
  remaining_timeout = OpenTelemetry::Common::Utilities.maybe_timeout(timeout, start_time)
152
157
  return FAILURE if remaining_timeout.zero?
153
158
 
@@ -169,6 +174,10 @@ module OpenTelemetry
169
174
  response.body # Read and discard body
170
175
  redo if backoff?(retry_count: retry_count += 1, reason: response.code)
171
176
  FAILURE
177
+ when Net::HTTPNotFound
178
+ OpenTelemetry.handle_error(message: "OTLP exporter received http.code=404 for uri: '#{@path}'")
179
+ @metrics_reporter.add_to_counter('otel.otlp_exporter.failure', labels: { 'reason' => response.code })
180
+ FAILURE
172
181
  when Net::HTTPBadRequest, Net::HTTPClientError, Net::HTTPServerError
173
182
  log_status(response.body)
174
183
  @metrics_reporter.add_to_counter('otel.otlp_exporter.failure', labels: { 'reason' => response.code })
@@ -239,7 +248,7 @@ module OpenTelemetry
239
248
  end
240
249
  end
241
250
 
242
- def backoff?(retry_after: nil, retry_count:, reason:)
251
+ def backoff?(retry_count:, reason:, retry_after: nil) # rubocop:disable Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
243
252
  @metrics_reporter.add_to_counter('otel.otlp_exporter.failure', labels: { 'reason' => reason })
244
253
  return false if retry_count > RETRY_COUNT
245
254
 
@@ -265,7 +274,7 @@ module OpenTelemetry
265
274
  true
266
275
  end
267
276
 
268
- def encode(span_data) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
277
+ def encode(span_data) # rubocop:disable Metrics/MethodLength, Metrics/CyclomaticComplexity
269
278
  Opentelemetry::Proto::Collector::Trace::V1::ExportTraceServiceRequest.encode(
270
279
  Opentelemetry::Proto::Collector::Trace::V1::ExportTraceServiceRequest.new(
271
280
  resource_spans: span_data
@@ -275,11 +284,11 @@ module OpenTelemetry
275
284
  resource: Opentelemetry::Proto::Resource::V1::Resource.new(
276
285
  attributes: resource.attribute_enumerator.map { |key, value| as_otlp_key_value(key, value) }
277
286
  ),
278
- instrumentation_library_spans: span_datas
279
- .group_by(&:instrumentation_library)
287
+ scope_spans: span_datas
288
+ .group_by(&:instrumentation_scope)
280
289
  .map do |il, sds|
281
- Opentelemetry::Proto::Trace::V1::InstrumentationLibrarySpans.new(
282
- instrumentation_library: Opentelemetry::Proto::Common::V1::InstrumentationLibrary.new(
290
+ Opentelemetry::Proto::Trace::V1::ScopeSpans.new(
291
+ scope: Opentelemetry::Proto::Common::V1::InstrumentationScope.new(
283
292
  name: il.name,
284
293
  version: il.version
285
294
  ),
@@ -295,7 +304,7 @@ module OpenTelemetry
295
304
  nil
296
305
  end
297
306
 
298
- def as_otlp_span(span_data) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
307
+ def as_otlp_span(span_data) # rubocop:disable Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
299
308
  Opentelemetry::Proto::Trace::V1::Span.new(
300
309
  trace_id: span_data.trace_id,
301
310
  span_id: span_data.span_id,
@@ -8,7 +8,7 @@ module OpenTelemetry
8
8
  module Exporter
9
9
  module OTLP
10
10
  ## Current OpenTelemetry OTLP exporter version
11
- VERSION = '0.22.0'
11
+ VERSION = '0.24.0'
12
12
  end
13
13
  end
14
14
  end
@@ -4,6 +4,7 @@
4
4
  require 'google/protobuf'
5
5
 
6
6
  require 'opentelemetry/proto/logs/v1/logs_pb'
7
+
7
8
  Google::Protobuf::DescriptorPool.generated_pool.build do
8
9
  add_file("opentelemetry/proto/collector/logs/v1/logs_service.proto", :syntax => :proto3) do
9
10
  add_message "opentelemetry.proto.collector.logs.v1.ExportLogsServiceRequest" do
@@ -30,7 +30,7 @@ module Opentelemetry
30
30
  # case logs are sent/received to/from multiple Applications).
31
31
  class Service
32
32
 
33
- include GRPC::GenericService
33
+ include ::GRPC::GenericService
34
34
 
35
35
  self.marshal_class_method = :encode
36
36
  self.unmarshal_class_method = :decode
@@ -4,6 +4,7 @@
4
4
  require 'google/protobuf'
5
5
 
6
6
  require 'opentelemetry/proto/metrics/v1/metrics_pb'
7
+
7
8
  Google::Protobuf::DescriptorPool.generated_pool.build do
8
9
  add_file("opentelemetry/proto/collector/metrics/v1/metrics_service.proto", :syntax => :proto3) do
9
10
  add_message "opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest" do
@@ -30,7 +30,7 @@ module Opentelemetry
30
30
  # central collector.
31
31
  class Service
32
32
 
33
- include GRPC::GenericService
33
+ include ::GRPC::GenericService
34
34
 
35
35
  self.marshal_class_method = :encode
36
36
  self.unmarshal_class_method = :decode
@@ -4,6 +4,7 @@
4
4
  require 'google/protobuf'
5
5
 
6
6
  require 'opentelemetry/proto/trace/v1/trace_pb'
7
+
7
8
  Google::Protobuf::DescriptorPool.generated_pool.build do
8
9
  add_file("opentelemetry/proto/collector/trace/v1/trace_service.proto", :syntax => :proto3) do
9
10
  add_message "opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest" do
@@ -30,7 +30,7 @@ module Opentelemetry
30
30
  # case spans are sent/received to/from multiple Applications).
31
31
  class Service
32
32
 
33
- include GRPC::GenericService
33
+ include ::GRPC::GenericService
34
34
 
35
35
  self.marshal_class_method = :encode
36
36
  self.unmarshal_class_method = :decode
@@ -26,14 +26,14 @@ 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.StringKeyValue" do
30
- optional :key, :string, 1
31
- optional :value, :string, 2
32
- end
33
29
  add_message "opentelemetry.proto.common.v1.InstrumentationLibrary" do
34
30
  optional :name, :string, 1
35
31
  optional :version, :string, 2
36
32
  end
33
+ add_message "opentelemetry.proto.common.v1.InstrumentationScope" do
34
+ optional :name, :string, 1
35
+ optional :version, :string, 2
36
+ end
37
37
  end
38
38
  end
39
39
 
@@ -45,8 +45,8 @@ module Opentelemetry
45
45
  ArrayValue = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.common.v1.ArrayValue").msgclass
46
46
  KeyValueList = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.common.v1.KeyValueList").msgclass
47
47
  KeyValue = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.common.v1.KeyValue").msgclass
48
- StringKeyValue = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.common.v1.StringKeyValue").msgclass
49
48
  InstrumentationLibrary = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.common.v1.InstrumentationLibrary").msgclass
49
+ InstrumentationScope = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.common.v1.InstrumentationScope").msgclass
50
50
  end
51
51
  end
52
52
  end
@@ -5,6 +5,7 @@ require 'google/protobuf'
5
5
 
6
6
  require 'opentelemetry/proto/common/v1/common_pb'
7
7
  require 'opentelemetry/proto/resource/v1/resource_pb'
8
+
8
9
  Google::Protobuf::DescriptorPool.generated_pool.build do
9
10
  add_file("opentelemetry/proto/logs/v1/logs.proto", :syntax => :proto3) do
10
11
  add_message "opentelemetry.proto.logs.v1.LogsData" do
@@ -12,19 +13,25 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
12
13
  end
13
14
  add_message "opentelemetry.proto.logs.v1.ResourceLogs" do
14
15
  optional :resource, :message, 1, "opentelemetry.proto.resource.v1.Resource"
15
- repeated :instrumentation_library_logs, :message, 2, "opentelemetry.proto.logs.v1.InstrumentationLibraryLogs"
16
+ repeated :scope_logs, :message, 2, "opentelemetry.proto.logs.v1.ScopeLogs"
17
+ repeated :instrumentation_library_logs, :message, 1000, "opentelemetry.proto.logs.v1.InstrumentationLibraryLogs"
18
+ optional :schema_url, :string, 3
19
+ end
20
+ add_message "opentelemetry.proto.logs.v1.ScopeLogs" do
21
+ optional :scope, :message, 1, "opentelemetry.proto.common.v1.InstrumentationScope"
22
+ repeated :log_records, :message, 2, "opentelemetry.proto.logs.v1.LogRecord"
16
23
  optional :schema_url, :string, 3
17
24
  end
18
25
  add_message "opentelemetry.proto.logs.v1.InstrumentationLibraryLogs" do
19
26
  optional :instrumentation_library, :message, 1, "opentelemetry.proto.common.v1.InstrumentationLibrary"
20
- repeated :logs, :message, 2, "opentelemetry.proto.logs.v1.LogRecord"
27
+ repeated :log_records, :message, 2, "opentelemetry.proto.logs.v1.LogRecord"
21
28
  optional :schema_url, :string, 3
22
29
  end
23
30
  add_message "opentelemetry.proto.logs.v1.LogRecord" do
24
31
  optional :time_unix_nano, :fixed64, 1
32
+ optional :observed_time_unix_nano, :fixed64, 11
25
33
  optional :severity_number, :enum, 2, "opentelemetry.proto.logs.v1.SeverityNumber"
26
34
  optional :severity_text, :string, 3
27
- optional :name, :string, 4
28
35
  optional :body, :message, 5, "opentelemetry.proto.common.v1.AnyValue"
29
36
  repeated :attributes, :message, 6, "opentelemetry.proto.common.v1.KeyValue"
30
37
  optional :dropped_attributes_count, :uint32, 7
@@ -72,6 +79,7 @@ module Opentelemetry
72
79
  module V1
73
80
  LogsData = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.logs.v1.LogsData").msgclass
74
81
  ResourceLogs = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.logs.v1.ResourceLogs").msgclass
82
+ ScopeLogs = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.logs.v1.ScopeLogs").msgclass
75
83
  InstrumentationLibraryLogs = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.logs.v1.InstrumentationLibraryLogs").msgclass
76
84
  LogRecord = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.logs.v1.LogRecord").msgclass
77
85
  SeverityNumber = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.logs.v1.SeverityNumber").enummodule
@@ -5,6 +5,7 @@ require 'google/protobuf'
5
5
 
6
6
  require 'opentelemetry/proto/common/v1/common_pb'
7
7
  require 'opentelemetry/proto/resource/v1/resource_pb'
8
+
8
9
  Google::Protobuf::DescriptorPool.generated_pool.build do
9
10
  add_file("opentelemetry/proto/metrics/v1/metrics.proto", :syntax => :proto3) do
10
11
  add_message "opentelemetry.proto.metrics.v1.MetricsData" do
@@ -12,7 +13,13 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
12
13
  end
13
14
  add_message "opentelemetry.proto.metrics.v1.ResourceMetrics" do
14
15
  optional :resource, :message, 1, "opentelemetry.proto.resource.v1.Resource"
15
- repeated :instrumentation_library_metrics, :message, 2, "opentelemetry.proto.metrics.v1.InstrumentationLibraryMetrics"
16
+ repeated :scope_metrics, :message, 2, "opentelemetry.proto.metrics.v1.ScopeMetrics"
17
+ repeated :instrumentation_library_metrics, :message, 1000, "opentelemetry.proto.metrics.v1.InstrumentationLibraryMetrics"
18
+ optional :schema_url, :string, 3
19
+ end
20
+ add_message "opentelemetry.proto.metrics.v1.ScopeMetrics" do
21
+ optional :scope, :message, 1, "opentelemetry.proto.common.v1.InstrumentationScope"
22
+ repeated :metrics, :message, 2, "opentelemetry.proto.metrics.v1.Metric"
16
23
  optional :schema_url, :string, 3
17
24
  end
18
25
  add_message "opentelemetry.proto.metrics.v1.InstrumentationLibraryMetrics" do
@@ -25,11 +32,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
25
32
  optional :description, :string, 2
26
33
  optional :unit, :string, 3
27
34
  oneof :data do
28
- optional :int_gauge, :message, 4, "opentelemetry.proto.metrics.v1.IntGauge"
29
35
  optional :gauge, :message, 5, "opentelemetry.proto.metrics.v1.Gauge"
30
- optional :int_sum, :message, 6, "opentelemetry.proto.metrics.v1.IntSum"
31
36
  optional :sum, :message, 7, "opentelemetry.proto.metrics.v1.Sum"
32
- optional :int_histogram, :message, 8, "opentelemetry.proto.metrics.v1.IntHistogram"
33
37
  optional :histogram, :message, 9, "opentelemetry.proto.metrics.v1.Histogram"
34
38
  optional :exponential_histogram, :message, 10, "opentelemetry.proto.metrics.v1.ExponentialHistogram"
35
39
  optional :summary, :message, 11, "opentelemetry.proto.metrics.v1.Summary"
@@ -56,7 +60,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
56
60
  end
57
61
  add_message "opentelemetry.proto.metrics.v1.NumberDataPoint" do
58
62
  repeated :attributes, :message, 7, "opentelemetry.proto.common.v1.KeyValue"
59
- repeated :labels, :message, 1, "opentelemetry.proto.common.v1.StringKeyValue"
60
63
  optional :start_time_unix_nano, :fixed64, 2
61
64
  optional :time_unix_nano, :fixed64, 3
62
65
  repeated :exemplars, :message, 5, "opentelemetry.proto.metrics.v1.Exemplar"
@@ -68,28 +71,31 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
68
71
  end
69
72
  add_message "opentelemetry.proto.metrics.v1.HistogramDataPoint" do
70
73
  repeated :attributes, :message, 9, "opentelemetry.proto.common.v1.KeyValue"
71
- repeated :labels, :message, 1, "opentelemetry.proto.common.v1.StringKeyValue"
72
74
  optional :start_time_unix_nano, :fixed64, 2
73
75
  optional :time_unix_nano, :fixed64, 3
74
76
  optional :count, :fixed64, 4
75
- optional :sum, :double, 5
77
+ proto3_optional :sum, :double, 5
76
78
  repeated :bucket_counts, :fixed64, 6
77
79
  repeated :explicit_bounds, :double, 7
78
80
  repeated :exemplars, :message, 8, "opentelemetry.proto.metrics.v1.Exemplar"
79
81
  optional :flags, :uint32, 10
82
+ proto3_optional :min, :double, 11
83
+ proto3_optional :max, :double, 12
80
84
  end
81
85
  add_message "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint" do
82
86
  repeated :attributes, :message, 1, "opentelemetry.proto.common.v1.KeyValue"
83
87
  optional :start_time_unix_nano, :fixed64, 2
84
88
  optional :time_unix_nano, :fixed64, 3
85
89
  optional :count, :fixed64, 4
86
- optional :sum, :double, 5
90
+ proto3_optional :sum, :double, 5
87
91
  optional :scale, :sint32, 6
88
92
  optional :zero_count, :fixed64, 7
89
93
  optional :positive, :message, 8, "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets"
90
94
  optional :negative, :message, 9, "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets"
91
95
  optional :flags, :uint32, 10
92
96
  repeated :exemplars, :message, 11, "opentelemetry.proto.metrics.v1.Exemplar"
97
+ proto3_optional :min, :double, 12
98
+ proto3_optional :max, :double, 13
93
99
  end
94
100
  add_message "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets" do
95
101
  optional :offset, :sint32, 1
@@ -97,7 +103,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
97
103
  end
98
104
  add_message "opentelemetry.proto.metrics.v1.SummaryDataPoint" do
99
105
  repeated :attributes, :message, 7, "opentelemetry.proto.common.v1.KeyValue"
100
- repeated :labels, :message, 1, "opentelemetry.proto.common.v1.StringKeyValue"
101
106
  optional :start_time_unix_nano, :fixed64, 2
102
107
  optional :time_unix_nano, :fixed64, 3
103
108
  optional :count, :fixed64, 4
@@ -111,7 +116,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
111
116
  end
112
117
  add_message "opentelemetry.proto.metrics.v1.Exemplar" do
113
118
  repeated :filtered_attributes, :message, 7, "opentelemetry.proto.common.v1.KeyValue"
114
- repeated :filtered_labels, :message, 1, "opentelemetry.proto.common.v1.StringKeyValue"
115
119
  optional :time_unix_nano, :fixed64, 2
116
120
  optional :span_id, :bytes, 4
117
121
  optional :trace_id, :bytes, 5
@@ -120,42 +124,6 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
120
124
  optional :as_int, :sfixed64, 6
121
125
  end
122
126
  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
127
  add_enum "opentelemetry.proto.metrics.v1.AggregationTemporality" do
160
128
  value :AGGREGATION_TEMPORALITY_UNSPECIFIED, 0
161
129
  value :AGGREGATION_TEMPORALITY_DELTA, 1
@@ -174,6 +142,7 @@ module Opentelemetry
174
142
  module V1
175
143
  MetricsData = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.MetricsData").msgclass
176
144
  ResourceMetrics = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.ResourceMetrics").msgclass
145
+ ScopeMetrics = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.ScopeMetrics").msgclass
177
146
  InstrumentationLibraryMetrics = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.InstrumentationLibraryMetrics").msgclass
178
147
  Metric = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.Metric").msgclass
179
148
  Gauge = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.Gauge").msgclass
@@ -188,12 +157,6 @@ module Opentelemetry
188
157
  SummaryDataPoint = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.SummaryDataPoint").msgclass
189
158
  SummaryDataPoint::ValueAtQuantile = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile").msgclass
190
159
  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
160
  AggregationTemporality = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.AggregationTemporality").enummodule
198
161
  DataPointFlags = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.metrics.v1.DataPointFlags").enummodule
199
162
  end
@@ -4,6 +4,7 @@
4
4
  require 'google/protobuf'
5
5
 
6
6
  require 'opentelemetry/proto/common/v1/common_pb'
7
+
7
8
  Google::Protobuf::DescriptorPool.generated_pool.build do
8
9
  add_file("opentelemetry/proto/resource/v1/resource.proto", :syntax => :proto3) do
9
10
  add_message "opentelemetry.proto.resource.v1.Resource" do
@@ -5,6 +5,7 @@ require 'google/protobuf'
5
5
 
6
6
  require 'opentelemetry/proto/common/v1/common_pb'
7
7
  require 'opentelemetry/proto/resource/v1/resource_pb'
8
+
8
9
  Google::Protobuf::DescriptorPool.generated_pool.build do
9
10
  add_file("opentelemetry/proto/trace/v1/trace.proto", :syntax => :proto3) do
10
11
  add_message "opentelemetry.proto.trace.v1.TracesData" do
@@ -12,7 +13,13 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
12
13
  end
13
14
  add_message "opentelemetry.proto.trace.v1.ResourceSpans" do
14
15
  optional :resource, :message, 1, "opentelemetry.proto.resource.v1.Resource"
15
- repeated :instrumentation_library_spans, :message, 2, "opentelemetry.proto.trace.v1.InstrumentationLibrarySpans"
16
+ repeated :scope_spans, :message, 2, "opentelemetry.proto.trace.v1.ScopeSpans"
17
+ repeated :instrumentation_library_spans, :message, 1000, "opentelemetry.proto.trace.v1.InstrumentationLibrarySpans"
18
+ optional :schema_url, :string, 3
19
+ end
20
+ add_message "opentelemetry.proto.trace.v1.ScopeSpans" do
21
+ optional :scope, :message, 1, "opentelemetry.proto.common.v1.InstrumentationScope"
22
+ repeated :spans, :message, 2, "opentelemetry.proto.trace.v1.Span"
16
23
  optional :schema_url, :string, 3
17
24
  end
18
25
  add_message "opentelemetry.proto.trace.v1.InstrumentationLibrarySpans" do
@@ -59,29 +66,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
59
66
  value :SPAN_KIND_CONSUMER, 5
60
67
  end
61
68
  add_message "opentelemetry.proto.trace.v1.Status" do
62
- optional :deprecated_code, :enum, 1, "opentelemetry.proto.trace.v1.Status.DeprecatedStatusCode"
63
69
  optional :message, :string, 2
64
70
  optional :code, :enum, 3, "opentelemetry.proto.trace.v1.Status.StatusCode"
65
71
  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
84
- end
85
72
  add_enum "opentelemetry.proto.trace.v1.Status.StatusCode" do
86
73
  value :STATUS_CODE_UNSET, 0
87
74
  value :STATUS_CODE_OK, 1
@@ -96,13 +83,13 @@ module Opentelemetry
96
83
  module V1
97
84
  TracesData = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.TracesData").msgclass
98
85
  ResourceSpans = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.ResourceSpans").msgclass
86
+ ScopeSpans = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.ScopeSpans").msgclass
99
87
  InstrumentationLibrarySpans = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.InstrumentationLibrarySpans").msgclass
100
88
  Span = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.Span").msgclass
101
89
  Span::Event = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.Span.Event").msgclass
102
90
  Span::Link = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.Span.Link").msgclass
103
91
  Span::SpanKind = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.Span.SpanKind").enummodule
104
92
  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
106
93
  Status::StatusCode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.Status.StatusCode").enummodule
107
94
  end
108
95
  end
metadata CHANGED
@@ -1,57 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opentelemetry-exporter-otlp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.22.0
4
+ version: 0.24.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: 2022-06-09 00:00:00.000000000 Z
11
+ date: 2022-09-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: google-protobuf
14
+ name: googleapis-common-protos-types
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '3.19'
19
+ version: '1.3'
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: '3.19'
26
+ version: '1.3'
27
27
  - !ruby/object:Gem::Dependency
28
- name: googleapis-common-protos-types
28
+ name: google-protobuf
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.3'
33
+ version: '3.19'
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.3'
40
+ version: '3.19'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: opentelemetry-api
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.0'
47
+ version: '1.1'
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: '1.0'
54
+ version: '1.1'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: opentelemetry-common
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '1.0'
75
+ version: '1.2'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '1.0'
82
+ version: '1.2'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: opentelemetry-semantic_conventions
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -184,14 +184,14 @@ dependencies:
184
184
  requirements:
185
185
  - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: 0.73.0
187
+ version: '1.3'
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
- version: 0.73.0
194
+ version: '1.3'
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: simplecov
197
197
  requirement: !ruby/object:Gem::Requirement
@@ -271,7 +271,6 @@ files:
271
271
  - lib/opentelemetry/proto/collector/trace/v1/trace_service_services_pb.rb
272
272
  - lib/opentelemetry/proto/common/v1/common_pb.rb
273
273
  - lib/opentelemetry/proto/logs/v1/logs_pb.rb
274
- - lib/opentelemetry/proto/metrics/experimental/metrics_config_service_pb.rb
275
274
  - lib/opentelemetry/proto/metrics/v1/metrics_pb.rb
276
275
  - lib/opentelemetry/proto/resource/v1/resource_pb.rb
277
276
  - lib/opentelemetry/proto/trace/v1/trace_config_pb.rb
@@ -280,10 +279,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
280
279
  licenses:
281
280
  - Apache-2.0
282
281
  metadata:
283
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.22.0/file.CHANGELOG.html
282
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.24.0/file.CHANGELOG.html
284
283
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/exporter/otlp
285
284
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
286
- documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.22.0
285
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.24.0
287
286
  post_install_message:
288
287
  rdoc_options: []
289
288
  require_paths:
@@ -1,43 +0,0 @@
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