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 +4 -4
- data/CHANGELOG.md +17 -0
- data/README.md +1 -1
- data/lib/opentelemetry/exporter/otlp/exporter.rb +65 -29
- data/lib/opentelemetry/exporter/otlp/version.rb +1 -1
- data/lib/opentelemetry/proto/collector/logs/v1/logs_service_pb.rb +28 -0
- data/lib/opentelemetry/proto/collector/logs/v1/logs_service_services_pb.rb +50 -0
- data/lib/opentelemetry/proto/collector/metrics/v1/metrics_service_pb.rb +28 -0
- data/lib/opentelemetry/proto/collector/metrics/v1/metrics_service_services_pb.rb +50 -0
- data/lib/opentelemetry/proto/collector/trace/v1/trace_service_services_pb.rb +50 -0
- data/lib/opentelemetry/proto/common/v1/common_pb.rb +1 -0
- data/lib/opentelemetry/proto/logs/v1/logs_pb.rb +82 -0
- data/lib/opentelemetry/proto/metrics/experimental/metrics_config_service_pb.rb +43 -0
- data/lib/opentelemetry/proto/metrics/v1/metrics_pb.rb +202 -0
- data/lib/opentelemetry/proto/trace/v1/trace_config_pb.rb +49 -0
- data/lib/opentelemetry/proto/trace/v1/trace_pb.rb +36 -23
- metadata +33 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8e96df3090d11643f31476c67b12f94c4f2aca4293fb497e077a5328f182cb93
|
4
|
+
data.tar.gz: cde4e3feddc09834ef01229086605ad29e8373e50786ffb416321a8703a792f6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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:
|
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:
|
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 =
|
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
|
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
|
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
|
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::
|
337
|
-
when :server then Opentelemetry::Proto::Trace::V1::Span::SpanKind::
|
338
|
-
when :client then Opentelemetry::Proto::Trace::V1::Span::SpanKind::
|
339
|
-
when :producer then Opentelemetry::Proto::Trace::V1::Span::SpanKind::
|
340
|
-
when :consumer then Opentelemetry::Proto::Trace::V1::Span::SpanKind::
|
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
|
@@ -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 :
|
51
|
-
value :
|
52
|
-
value :
|
53
|
-
value :
|
54
|
-
value :
|
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 :
|
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 :
|
62
|
-
value :
|
63
|
-
value :
|
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.
|
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-
|
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
|
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
|
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.
|
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.
|
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
|
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
|
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.
|
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.
|
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:
|