opentelemetry-exporter-otlp 0.24.2 → 0.26.2

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