opentelemetry-exporter-otlp 0.26.0 → 0.26.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6ea9c42597a6b63fe341e3003bee8ffbba2a6e3c5a74e3ddc4ff30ae41345b2e
4
- data.tar.gz: b1714933dff93b3e4403732872ac211a5c3562ff6dbed90c739e132e408a2c01
3
+ metadata.gz: f511b15fd3e7e4d1452f58f852d9e29c97bff2743b520c080b187c657801b1bc
4
+ data.tar.gz: 52b9151d21904c685e026a813323415ef6b2be589e208b3a2307ad22fe5bead0
5
5
  SHA512:
6
- metadata.gz: 63b1cdc9d52ca362f06546936a475cbdce954452833057dbf6797443d8a2d728fddc417cc5d8c3fb1a1c6c0dcc44315ca2484e921d1d80a9ed00b4541d87f53b
7
- data.tar.gz: d18de69cd1466058ff2af29e38a6015342acbb1baabd7eb7e8022f7ee715202fd8e271edcfd7fde510e0ea67c3fbf378e5428b1600e07d16c800f03f5d59ff39
6
+ metadata.gz: 5d7c6101418e338123fa98b097028e819a94297a45d5c693ddea11226f9e984026f5951ad74076453636fcb6aee478b57721287d5c6807f8caa112a66f2786ed
7
+ data.tar.gz: 17a6022b2146e6b94cbae099cf47b3e86bb825c1a49a6e77548febdef93ddded862fa1685a9601c22235cb2996493a1f68db49e8b1399684482ab2bb3cd06cfd
data/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Release History: opentelemetry-exporter-otlp
2
2
 
3
+ ### v0.26.2 / 2024-01-23
4
+
5
+ * FIXED: Align endpoint environment variable handling with spec
6
+ * FIXED: Require csv for ruby-3.4 compatibility
7
+ * FIXED: Add context to metrics reporting of buffer-full events
8
+
9
+ ### v0.26.1 / 2023-07-29
10
+
11
+ * FIXED: Regenerate v0.20.0 protos
12
+ * ADDED: Allow google-protobuf ~> 3.14
13
+
3
14
  ### v0.26.0 / 2023-06-13
4
15
 
5
16
  * ADDED: Use OTLP 0.20.0 protos
data/README.md CHANGED
@@ -16,15 +16,17 @@ Generally, *libraries* that produce telemetry data should avoid depending direct
16
16
 
17
17
  ### Supported protocol version
18
18
 
19
- This gem supports the [v0.4.0 release](https://github.com/open-telemetry/opentelemetry-proto/releases/tag/v0.4.0) of OTLP.
19
+ This gem supports the [v0.20.0 release][otel-proto-release] of OTLP.
20
20
 
21
21
  ## How do I get started?
22
22
 
23
23
  Install the gem using:
24
24
 
25
- ```
25
+ ```console
26
+
26
27
  gem install opentelemetry-sdk
27
28
  gem install opentelemetry-exporter-otlp
29
+
28
30
  ```
29
31
 
30
32
  Or, if you use [bundler][bundler-home], include `opentelemetry-sdk` in your `Gemfile`.
@@ -93,6 +95,48 @@ The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special int
93
95
 
94
96
  The `opentelemetry-exporter-otlp` gem is distributed under the Apache 2.0 license. See [LICENSE][license-github] for more information.
95
97
 
98
+ ## Working with Proto Definitions
99
+
100
+ The OTel community maintains a [repository with protobuf definitions][otel-proto-github] that language and collector implementors use to generate code.
101
+
102
+ Maintainers are expected to keep up to date with the latest version of protos. This guide will provide you with step-by-step instructions on updating the OTLP Exporter gem with the latest definitions.
103
+
104
+ ### System Requirements
105
+
106
+ - [`git` 2.41+][git-install]
107
+ - [`protoc` 22.5][protoc-install]
108
+ - [Ruby 3+][ruby-downloads]
109
+
110
+ > :warning: `protoc 23.x` *changes the Ruby code generator to emit a serialized proto instead of a DSL.* <https://protobuf.dev/news/2023-04-20/>. Please ensure you use `protoc` version `22.x` in order to ensure we remain compatible with versions of protobuf prior to `google-protobuf` gem `3.18`.
111
+
112
+ ### Upgrade Proto Definitions
113
+
114
+ **Update the target otel-proto version in the `Rakefile` that matches a release `tag` in the proto repo, e.g.**
115
+
116
+ ```ruby
117
+ # Rakefile
118
+
119
+ # https://github.com/open-telemetry/opentelemetry-proto/tree/v0.20.0
120
+ PROTO_VERSION = `v0.20.0`
121
+ ```
122
+
123
+ **Generate the Ruby source files using `rake`:**
124
+
125
+ ```console
126
+
127
+ $> bundle exec rake protobuf:generate
128
+
129
+ ```
130
+
131
+ **Run tests and fix any errors:**
132
+
133
+ ```console
134
+
135
+ $> bundle exec rake test
136
+
137
+ ```
138
+
139
+ **Commit the chnages and open a PR!**
96
140
 
97
141
  [opentelemetry-collector-home]: https://opentelemetry.io/docs/collector/about/
98
142
  [opentelemetry-home]: https://opentelemetry.io
@@ -103,3 +147,8 @@ The `opentelemetry-exporter-otlp` gem is distributed under the Apache 2.0 licens
103
147
  [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig
104
148
  [community-meetings]: https://github.com/open-telemetry/community#community-meetings
105
149
  [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions
150
+ [git-install]: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
151
+ [protoc-install]: https://github.com/protocolbuffers/protobuf/releases/tag/v22.5
152
+ [ruby-downloads]: https://www.ruby-lang.org/en/downloads/
153
+ [otel-proto-github]: https://github.com/open-telemetry/opentelemetry-proto
154
+ [otel-proto-release]: https://github.com/open-telemetry/opentelemetry-proto/releases/tag/v0.20.0
@@ -7,7 +7,6 @@
7
7
  require 'opentelemetry/common'
8
8
  require 'opentelemetry/sdk'
9
9
  require 'net/http'
10
- require 'csv'
11
10
  require 'zlib'
12
11
 
13
12
  require 'google/rpc/status_pb'
@@ -47,21 +46,16 @@ module OpenTelemetry
47
46
  end
48
47
  end
49
48
 
50
- def initialize(endpoint: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_ENDPOINT', 'OTEL_EXPORTER_OTLP_ENDPOINT', default: 'http://localhost:4318/v1/traces'),
49
+ def initialize(endpoint: nil,
51
50
  certificate_file: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE', 'OTEL_EXPORTER_OTLP_CERTIFICATE'),
52
51
  ssl_verify_mode: Exporter.ssl_verify_mode,
53
52
  headers: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_HEADERS', 'OTEL_EXPORTER_OTLP_HEADERS', default: {}),
54
53
  compression: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_COMPRESSION', 'OTEL_EXPORTER_OTLP_COMPRESSION', default: 'gzip'),
55
54
  timeout: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPORTER_OTLP_TRACES_TIMEOUT', 'OTEL_EXPORTER_OTLP_TIMEOUT', default: 10),
56
55
  metrics_reporter: nil)
57
- raise ArgumentError, "invalid url for OTLP::Exporter #{endpoint}" unless OpenTelemetry::Common::Utilities.valid_url?(endpoint)
58
- raise ArgumentError, "unsupported compression key #{compression}" unless compression.nil? || %w[gzip none].include?(compression)
56
+ @uri = prepare_endpoint(endpoint)
59
57
 
60
- @uri = if endpoint == ENV['OTEL_EXPORTER_OTLP_ENDPOINT']
61
- URI.join(endpoint, 'v1/traces')
62
- else
63
- URI(endpoint)
64
- end
58
+ raise ArgumentError, "unsupported compression key #{compression}" unless compression.nil? || %w[gzip none].include?(compression)
65
59
 
66
60
  @http = http_connection(@uri, ssl_verify_mode, certificate_file)
67
61
 
@@ -172,8 +166,7 @@ module OpenTelemetry
172
166
  redo if backoff?(retry_count: retry_count += 1, reason: response.code)
173
167
  FAILURE
174
168
  when Net::HTTPNotFound
175
- OpenTelemetry.handle_error(message: "OTLP exporter received http.code=404 for uri: '#{@path}'")
176
- @metrics_reporter.add_to_counter('otel.otlp_exporter.failure', labels: { 'reason' => response.code })
169
+ log_request_failure(response.code)
177
170
  FAILURE
178
171
  when Net::HTTPBadRequest, Net::HTTPClientError, Net::HTTPServerError
179
172
  log_status(response.body)
@@ -185,6 +178,7 @@ module OpenTelemetry
185
178
  redo if backoff?(retry_after: 0, retry_count: retry_count += 1, reason: response.code)
186
179
  else
187
180
  @http.finish
181
+ log_request_failure(response.code)
188
182
  FAILURE
189
183
  end
190
184
  rescue Net::OpenTimeout, Net::ReadTimeout
@@ -227,11 +221,16 @@ module OpenTelemetry
227
221
  klass_or_nil = ::Google::Protobuf::DescriptorPool.generated_pool.lookup(detail.type_name).msgclass
228
222
  detail.unpack(klass_or_nil) if klass_or_nil
229
223
  end.compact
230
- OpenTelemetry.handle_error(message: "OTLP exporter received rpc.Status{message=#{status.message}, details=#{details}}")
224
+ OpenTelemetry.handle_error(message: "OTLP exporter received rpc.Status{message=#{status.message}, details=#{details}} for uri=#{@uri}")
231
225
  rescue StandardError => e
232
226
  OpenTelemetry.handle_error(exception: e, message: 'unexpected error decoding rpc.Status in OTLP::Exporter#log_status')
233
227
  end
234
228
 
229
+ def log_request_failure(response_code)
230
+ OpenTelemetry.handle_error(message: "OTLP exporter received http.code=#{response_code} for uri='#{@uri}' in OTLP::Exporter#send_bytes")
231
+ @metrics_reporter.add_to_counter('otel.otlp_exporter.failure', labels: { 'reason' => response_code })
232
+ end
233
+
235
234
  def measure_request_duration
236
235
  start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
237
236
  begin
@@ -246,7 +245,7 @@ module OpenTelemetry
246
245
  end
247
246
 
248
247
  def backoff?(retry_count:, reason:, retry_after: nil) # rubocop:disable Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
249
- @metrics_reporter.add_to_counter('otel.otlp_exporter.failure', labels: { 'reason' => reason })
248
+ log_request_failure(reason)
250
249
  return false if retry_count > RETRY_COUNT
251
250
 
252
251
  sleep_interval = nil
@@ -386,6 +385,21 @@ module OpenTelemetry
386
385
  result
387
386
  end
388
387
 
388
+ def prepare_endpoint(endpoint)
389
+ endpoint ||= ENV['OTEL_EXPORTER_OTLP_TRACES_ENDPOINT']
390
+ if endpoint.nil?
391
+ endpoint = ENV['OTEL_EXPORTER_OTLP_ENDPOINT'] || 'http://localhost:4318'
392
+ endpoint += '/' unless endpoint.end_with?('/')
393
+ URI.join(endpoint, 'v1/traces')
394
+ elsif endpoint.strip.empty?
395
+ raise ArgumentError, "invalid url for OTLP::Exporter #{endpoint}"
396
+ else
397
+ URI(endpoint)
398
+ end
399
+ rescue URI::InvalidURIError
400
+ raise ArgumentError, "invalid url for OTLP::Exporter #{endpoint}"
401
+ end
402
+
389
403
  def prepare_headers(config_headers)
390
404
  headers = case config_headers
391
405
  when String then parse_headers(config_headers)
@@ -8,7 +8,7 @@ module OpenTelemetry
8
8
  module Exporter
9
9
  module OTLP
10
10
  ## Current OpenTelemetry OTLP exporter version
11
- VERSION = '0.26.0'
11
+ VERSION = '0.26.2'
12
12
  end
13
13
  end
14
14
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opentelemetry-exporter-otlp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.26.0
4
+ version: 0.26.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenTelemetry Authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-14 00:00:00.000000000 Z
11
+ date: 2024-01-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: googleapis-common-protos-types
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '3.19'
33
+ version: '3.14'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '3.19'
40
+ version: '3.14'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: opentelemetry-api
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: appraisal
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 2.2.0
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 2.2.0
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: bundler
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -264,25 +278,21 @@ files:
264
278
  - lib/opentelemetry/exporter/otlp/exporter.rb
265
279
  - lib/opentelemetry/exporter/otlp/version.rb
266
280
  - lib/opentelemetry/proto/collector/logs/v1/logs_service_pb.rb
267
- - lib/opentelemetry/proto/collector/logs/v1/logs_service_services_pb.rb
268
281
  - lib/opentelemetry/proto/collector/metrics/v1/metrics_service_pb.rb
269
- - lib/opentelemetry/proto/collector/metrics/v1/metrics_service_services_pb.rb
270
282
  - lib/opentelemetry/proto/collector/trace/v1/trace_service_pb.rb
271
- - lib/opentelemetry/proto/collector/trace/v1/trace_service_services_pb.rb
272
283
  - lib/opentelemetry/proto/common/v1/common_pb.rb
273
284
  - lib/opentelemetry/proto/logs/v1/logs_pb.rb
274
285
  - lib/opentelemetry/proto/metrics/v1/metrics_pb.rb
275
286
  - lib/opentelemetry/proto/resource/v1/resource_pb.rb
276
- - lib/opentelemetry/proto/trace/v1/trace_config_pb.rb
277
287
  - lib/opentelemetry/proto/trace/v1/trace_pb.rb
278
288
  homepage: https://github.com/open-telemetry/opentelemetry-ruby
279
289
  licenses:
280
290
  - Apache-2.0
281
291
  metadata:
282
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.26.0/file.CHANGELOG.html
292
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.26.2/file.CHANGELOG.html
283
293
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/exporter/otlp
284
294
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
285
- documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.26.0
295
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-exporter-otlp/v0.26.2
286
296
  post_install_message:
287
297
  rdoc_options: []
288
298
  require_paths:
@@ -1,50 +0,0 @@
1
- # Generated by the protocol buffer compiler. DO NOT EDIT!
2
- # Source: opentelemetry/proto/collector/logs/v1/logs_service.proto for package 'opentelemetry.proto.collector.logs.v1'
3
- # Original file comments:
4
- # Copyright 2020, OpenTelemetry Authors
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- require 'grpc'
20
- require 'opentelemetry/proto/collector/logs/v1/logs_service_pb'
21
-
22
- module Opentelemetry
23
- module Proto
24
- module Collector
25
- module Logs
26
- module V1
27
- module LogsService
28
- # Service that can be used to push logs between one Application instrumented with
29
- # OpenTelemetry and an collector, or between an collector and a central collector (in this
30
- # case logs are sent/received to/from multiple Applications).
31
- class Service
32
-
33
- include ::GRPC::GenericService
34
-
35
- self.marshal_class_method = :encode
36
- self.unmarshal_class_method = :decode
37
- self.service_name = 'opentelemetry.proto.collector.logs.v1.LogsService'
38
-
39
- # For performance reasons, it is recommended to keep this RPC
40
- # alive for the entire life of the application.
41
- rpc :Export, ::Opentelemetry::Proto::Collector::Logs::V1::ExportLogsServiceRequest, ::Opentelemetry::Proto::Collector::Logs::V1::ExportLogsServiceResponse
42
- end
43
-
44
- Stub = Service.rpc_stub_class
45
- end
46
- end
47
- end
48
- end
49
- end
50
- end
@@ -1,50 +0,0 @@
1
- # Generated by the protocol buffer compiler. DO NOT EDIT!
2
- # Source: opentelemetry/proto/collector/metrics/v1/metrics_service.proto for package 'opentelemetry.proto.collector.metrics.v1'
3
- # Original file comments:
4
- # Copyright 2019, OpenTelemetry Authors
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- require 'grpc'
20
- require 'opentelemetry/proto/collector/metrics/v1/metrics_service_pb'
21
-
22
- module Opentelemetry
23
- module Proto
24
- module Collector
25
- module Metrics
26
- module V1
27
- module MetricsService
28
- # Service that can be used to push metrics between one Application
29
- # instrumented with OpenTelemetry and a collector, or between a collector and a
30
- # central collector.
31
- class Service
32
-
33
- include ::GRPC::GenericService
34
-
35
- self.marshal_class_method = :encode
36
- self.unmarshal_class_method = :decode
37
- self.service_name = 'opentelemetry.proto.collector.metrics.v1.MetricsService'
38
-
39
- # For performance reasons, it is recommended to keep this RPC
40
- # alive for the entire life of the application.
41
- rpc :Export, ::Opentelemetry::Proto::Collector::Metrics::V1::ExportMetricsServiceRequest, ::Opentelemetry::Proto::Collector::Metrics::V1::ExportMetricsServiceResponse
42
- end
43
-
44
- Stub = Service.rpc_stub_class
45
- end
46
- end
47
- end
48
- end
49
- end
50
- end
@@ -1,50 +0,0 @@
1
- # Generated by the protocol buffer compiler. DO NOT EDIT!
2
- # Source: opentelemetry/proto/collector/trace/v1/trace_service.proto for package 'opentelemetry.proto.collector.trace.v1'
3
- # Original file comments:
4
- # Copyright 2019, OpenTelemetry Authors
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- require 'grpc'
20
- require 'opentelemetry/proto/collector/trace/v1/trace_service_pb'
21
-
22
- module Opentelemetry
23
- module Proto
24
- module Collector
25
- module Trace
26
- module V1
27
- module TraceService
28
- # Service that can be used to push spans between one Application instrumented with
29
- # OpenTelemetry and a collector, or between a collector and a central collector (in this
30
- # case spans are sent/received to/from multiple Applications).
31
- class Service
32
-
33
- include ::GRPC::GenericService
34
-
35
- self.marshal_class_method = :encode
36
- self.unmarshal_class_method = :decode
37
- self.service_name = 'opentelemetry.proto.collector.trace.v1.TraceService'
38
-
39
- # For performance reasons, it is recommended to keep this RPC
40
- # alive for the entire life of the application.
41
- rpc :Export, ::Opentelemetry::Proto::Collector::Trace::V1::ExportTraceServiceRequest, ::Opentelemetry::Proto::Collector::Trace::V1::ExportTraceServiceResponse
42
- end
43
-
44
- Stub = Service.rpc_stub_class
45
- end
46
- end
47
- end
48
- end
49
- end
50
- end
@@ -1,49 +0,0 @@
1
- # Generated by the protocol buffer compiler. DO NOT EDIT!
2
- # source: opentelemetry/proto/trace/v1/trace_config.proto
3
-
4
- require 'google/protobuf'
5
-
6
- Google::Protobuf::DescriptorPool.generated_pool.build do
7
- add_file("opentelemetry/proto/trace/v1/trace_config.proto", :syntax => :proto3) do
8
- add_message "opentelemetry.proto.trace.v1.TraceConfig" do
9
- optional :max_number_of_attributes, :int64, 4
10
- optional :max_number_of_timed_events, :int64, 5
11
- optional :max_number_of_attributes_per_timed_event, :int64, 6
12
- optional :max_number_of_links, :int64, 7
13
- optional :max_number_of_attributes_per_link, :int64, 8
14
- oneof :sampler do
15
- optional :constant_sampler, :message, 1, "opentelemetry.proto.trace.v1.ConstantSampler"
16
- optional :trace_id_ratio_based, :message, 2, "opentelemetry.proto.trace.v1.TraceIdRatioBased"
17
- optional :rate_limiting_sampler, :message, 3, "opentelemetry.proto.trace.v1.RateLimitingSampler"
18
- end
19
- end
20
- add_message "opentelemetry.proto.trace.v1.ConstantSampler" do
21
- optional :decision, :enum, 1, "opentelemetry.proto.trace.v1.ConstantSampler.ConstantDecision"
22
- end
23
- add_enum "opentelemetry.proto.trace.v1.ConstantSampler.ConstantDecision" do
24
- value :ALWAYS_OFF, 0
25
- value :ALWAYS_ON, 1
26
- value :ALWAYS_PARENT, 2
27
- end
28
- add_message "opentelemetry.proto.trace.v1.TraceIdRatioBased" do
29
- optional :samplingRatio, :double, 1
30
- end
31
- add_message "opentelemetry.proto.trace.v1.RateLimitingSampler" do
32
- optional :qps, :int64, 1
33
- end
34
- end
35
- end
36
-
37
- module Opentelemetry
38
- module Proto
39
- module Trace
40
- module V1
41
- TraceConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.TraceConfig").msgclass
42
- ConstantSampler = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.ConstantSampler").msgclass
43
- ConstantSampler::ConstantDecision = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.ConstantSampler.ConstantDecision").enummodule
44
- TraceIdRatioBased = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.TraceIdRatioBased").msgclass
45
- RateLimitingSampler = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("opentelemetry.proto.trace.v1.RateLimitingSampler").msgclass
46
- end
47
- end
48
- end
49
- end