diff --git a/.github/actions/test_gem/action.yml b/.github/actions/test_gem/action.yml index fee7aa56cd..aa6486e360 100644 --- a/.github/actions/test_gem/action.yml +++ b/.github/actions/test_gem/action.yml @@ -58,21 +58,21 @@ runs: # ...but not for appraisals, sadly. - name: Install Ruby ${{ inputs.ruby }} with dependencies if: "${{ steps.setup.outputs.appraisals == 'false' }}" - uses: ruby/setup-ruby@v1.165.1 + uses: ruby/setup-ruby@v1.179.0 with: ruby-version: "${{ inputs.ruby }}" working-directory: "${{ steps.setup.outputs.gem_dir }}" - bundler: "latest" + bundler: "2.5.10" bundler-cache: true cache-version: "v1-${{ steps.setup.outputs.cache_key }}" # If we're using appraisals, do it all manually. - name: Install Ruby ${{ inputs.ruby }} without dependencies if: "${{ steps.setup.outputs.appraisals == 'true' }}" - uses: ruby/setup-ruby@v1.165.1 + uses: ruby/setup-ruby@v1.179.0 with: ruby-version: "${{ inputs.ruby }}" - bundler: "latest" + bundler: "2.5.10" working-directory: "${{ steps.setup.outputs.gem_dir }}" - name: Install dependencies and generate appraisals if: "${{ steps.setup.outputs.appraisals == 'true' }}" diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml deleted file mode 100644 index 2b877f8909..0000000000 --- a/.github/workflows/codeql.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: "CodeQL" - -on: - push: - branches: [ "main" ] - pull_request: - branches: [ "main" ] - workflow_dispatch: - -jobs: - analyze: - name: Analyze - runs-on: ubuntu-latest - - env: - CODEQL_ENABLE_EXPERIMENTAL_FEATURES: true - - strategy: - fail-fast: false - matrix: - language: [ 'ruby' ] - - steps: - - name: Checkout repository - uses: actions/checkout@v2 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v1 - with: - tools: latest - - - name: Autobuild - uses: github/codeql-action/autobuild@v2 - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 diff --git a/.github/workflows/release-hook-on-closed.yml b/.github/workflows/release-hook-on-closed.yml index ea3f3fbd12..8e15e2124b 100644 --- a/.github/workflows/release-hook-on-closed.yml +++ b/.github/workflows/release-hook-on-closed.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.165.1 + uses: ruby/setup-ruby@v1.179.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-hook-on-push.yml b/.github/workflows/release-hook-on-push.yml index 3b85109a7d..00cf10864c 100644 --- a/.github/workflows/release-hook-on-push.yml +++ b/.github/workflows/release-hook-on-push.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.165.1 + uses: ruby/setup-ruby@v1.179.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-perform.yml b/.github/workflows/release-perform.yml index e634cd3f9c..49aa216584 100644 --- a/.github/workflows/release-perform.yml +++ b/.github/workflows/release-perform.yml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.165.1 + uses: ruby/setup-ruby@v1.179.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-request.yml b/.github/workflows/release-request.yml index d67826602c..cd10d07fba 100644 --- a/.github/workflows/release-request.yml +++ b/.github/workflows/release-request.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.165.1 + uses: ruby/setup-ruby@v1.179.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-retry.yml b/.github/workflows/release-retry.yml index f859a865d8..dc2f940691 100644 --- a/.github/workflows/release-retry.yml +++ b/.github/workflows/release-retry.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.165.1 + uses: ruby/setup-ruby@v1.179.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/LICENSE b/LICENSE index 1ef7dad2c5..261eeb9e9f 100644 --- a/LICENSE +++ b/LICENSE @@ -186,7 +186,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright The OpenTelemetry Authors + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/README.md b/README.md index 0675ba7748..93c256a470 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,11 @@ The [opentelemetry-ruby-contrib repository][contrib-repo] contains instrumentati OpenTelemetry Ruby follows the [versioning and stability document][otel-versioning] in the OpenTelemetry specification. Notably, we adhere to the outlined version numbering exception, which states that experimental signals may have a `0.x` version number. +## Compatibility + +OpenTelemetry Ruby ensures compatibility with the current supported versions of +the [Ruby language](https://www.ruby-lang.org/en/downloads/branches/). + ## Useful links - For more information on OpenTelemetry, visit: diff --git a/api/CHANGELOG.md b/api/CHANGELOG.md index 8eab444104..43b6e5fb6d 100644 --- a/api/CHANGELOG.md +++ b/api/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-api +### v1.3.0 / 2024-07-24 + +* ADDED: Add add_link to span api/sdk + ### v1.2.5 / 2024-02-20 * FIXED: Replace Context stack on clear diff --git a/api/lib/opentelemetry/version.rb b/api/lib/opentelemetry/version.rb index db6ee4be29..009daf16ba 100644 --- a/api/lib/opentelemetry/version.rb +++ b/api/lib/opentelemetry/version.rb @@ -6,5 +6,5 @@ module OpenTelemetry ## Current OpenTelemetry version - VERSION = '1.2.5' + VERSION = '1.3.0' end diff --git a/common/.rubocop.yml b/common/.rubocop.yml index 94649e0bec..db98871e84 100644 --- a/common/.rubocop.yml +++ b/common/.rubocop.yml @@ -6,6 +6,8 @@ Bundler/OrderedGems: Style/FrozenStringLiteralComment: Exclude: - gemfiles/**/* +Style/ExplicitBlockArgument: + Enabled: false Style/StringLiterals: Exclude: - gemfiles/**/* diff --git a/common/CHANGELOG.md b/common/CHANGELOG.md index 62000dd675..3fb88daaff 100644 --- a/common/CHANGELOG.md +++ b/common/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-common +### v0.21.0 / 2024-05-08 + +* ADDED: Untraced method updated to support both block and non block structured calls + ### v0.20.1 / 2024-02-06 * FIXED: Patch the issue for frozen string on ruby < 3.0 with string interpolation diff --git a/common/lib/opentelemetry/common/utilities.rb b/common/lib/opentelemetry/common/utilities.rb index 8667a6fd94..d13e251ff8 100644 --- a/common/lib/opentelemetry/common/utilities.rb +++ b/common/lib/opentelemetry/common/utilities.rb @@ -4,6 +4,8 @@ # # SPDX-License-Identifier: Apache-2.0 +require 'uri' + module OpenTelemetry module Common # Utilities contains common helpers. @@ -86,10 +88,17 @@ def truncate_attribute_value(value, limit) end end - # Disables tracing within the provided block. - def untraced - Context.with_value(UNTRACED_KEY, true) do |ctx, _| - yield ctx + # Disables tracing within the provided block + # If no block is provided instead returns an + # untraced ctx. + # + # @param [optional Context] context Accepts an explicit context, defaults to current + def untraced(context = Context.current) + context = context.set_value(UNTRACED_KEY, true) + if block_given? + Context.with_current(context) { |ctx| yield ctx } + else + context end end diff --git a/common/lib/opentelemetry/common/version.rb b/common/lib/opentelemetry/common/version.rb index 3943ebf24e..b290888e9e 100644 --- a/common/lib/opentelemetry/common/version.rb +++ b/common/lib/opentelemetry/common/version.rb @@ -6,6 +6,6 @@ module OpenTelemetry module Common - VERSION = '0.20.1' + VERSION = '0.21.0' end end diff --git a/common/test/opentelemetry/common/utilities_test.rb b/common/test/opentelemetry/common/utilities_test.rb index f931242fd8..555b87121d 100644 --- a/common/test/opentelemetry/common/utilities_test.rb +++ b/common/test/opentelemetry/common/utilities_test.rb @@ -26,6 +26,13 @@ def shutdown(timeout: nil); end common_utils.untraced {} assert_equal(false, common_utils.untraced?) end + + it 'supports non block format' do + token = OpenTelemetry::Context.attach(common_utils.untraced) + assert_equal(true, common_utils.untraced?) + OpenTelemetry::Context.detach(token) + assert_equal(false, common_utils.untraced?) + end end describe '#utf8_encode' do diff --git a/exporter/otlp-common/lib/opentelemetry/proto/collector/logs/v1/logs_service_pb.rb b/exporter/otlp-common/lib/opentelemetry/proto/collector/logs/v1/logs_service_pb.rb index 645dfd21f8..6cc98b0e7b 100644 --- a/exporter/otlp-common/lib/opentelemetry/proto/collector/logs/v1/logs_service_pb.rb +++ b/exporter/otlp-common/lib/opentelemetry/proto/collector/logs/v1/logs_service_pb.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/collector/logs/v1/logs_service.proto @@ -5,15 +6,11 @@ require 'opentelemetry/proto/logs/v1/logs_pb' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/collector/logs/v1/logs_service.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.collector.logs.v1.ExportLogsServiceRequest" do - repeated :resource_logs, :message, 1, "opentelemetry.proto.logs.v1.ResourceLogs" - end - add_message "opentelemetry.proto.collector.logs.v1.ExportLogsServiceResponse" do - end - end -end + +descriptor_data = "\n8opentelemetry/proto/collector/logs/v1/logs_service.proto\x12%opentelemetry.proto.collector.logs.v1\x1a&opentelemetry/proto/logs/v1/logs.proto\"\\\n\x18\x45xportLogsServiceRequest\x12@\n\rresource_logs\x18\x01 \x03(\x0b\x32).opentelemetry.proto.logs.v1.ResourceLogs\"\x1b\n\x19\x45xportLogsServiceResponse2\x9d\x01\n\x0bLogsService\x12\x8d\x01\n\x06\x45xport\x12?.opentelemetry.proto.collector.logs.v1.ExportLogsServiceRequest\x1a@.opentelemetry.proto.collector.logs.v1.ExportLogsServiceResponse\"\x00\x42p\n(io.opentelemetry.proto.collector.logs.v1B\x10LogsServiceProtoP\x01Z0go.opentelemetry.io/proto/otlp/collector/logs/v1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp-common/lib/opentelemetry/proto/collector/metrics/v1/metrics_service_pb.rb b/exporter/otlp-common/lib/opentelemetry/proto/collector/metrics/v1/metrics_service_pb.rb index 56e3bbea69..7e95f43cdb 100644 --- a/exporter/otlp-common/lib/opentelemetry/proto/collector/metrics/v1/metrics_service_pb.rb +++ b/exporter/otlp-common/lib/opentelemetry/proto/collector/metrics/v1/metrics_service_pb.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/collector/metrics/v1/metrics_service.proto @@ -5,15 +6,11 @@ require 'opentelemetry/proto/metrics/v1/metrics_pb' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/collector/metrics/v1/metrics_service.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest" do - repeated :resource_metrics, :message, 1, "opentelemetry.proto.metrics.v1.ResourceMetrics" - end - add_message "opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceResponse" do - end - end -end + +descriptor_data = "\n>opentelemetry/proto/collector/metrics/v1/metrics_service.proto\x12(opentelemetry.proto.collector.metrics.v1\x1a,opentelemetry/proto/metrics/v1/metrics.proto\"h\n\x1b\x45xportMetricsServiceRequest\x12I\n\x10resource_metrics\x18\x01 \x03(\x0b\x32/.opentelemetry.proto.metrics.v1.ResourceMetrics\"\x1e\n\x1c\x45xportMetricsServiceResponse2\xac\x01\n\x0eMetricsService\x12\x99\x01\n\x06\x45xport\x12\x45.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest\x1a\x46.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceResponse\"\x00\x42y\n+io.opentelemetry.proto.collector.metrics.v1B\x13MetricsServiceProtoP\x01Z3go.opentelemetry.io/proto/otlp/collector/metrics/v1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp-common/lib/opentelemetry/proto/collector/trace/v1/trace_service_pb.rb b/exporter/otlp-common/lib/opentelemetry/proto/collector/trace/v1/trace_service_pb.rb index a71fbf168a..f6bc5efc5c 100644 --- a/exporter/otlp-common/lib/opentelemetry/proto/collector/trace/v1/trace_service_pb.rb +++ b/exporter/otlp-common/lib/opentelemetry/proto/collector/trace/v1/trace_service_pb.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/collector/trace/v1/trace_service.proto @@ -5,15 +6,11 @@ require 'opentelemetry/proto/trace/v1/trace_pb' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/collector/trace/v1/trace_service.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest" do - repeated :resource_spans, :message, 1, "opentelemetry.proto.trace.v1.ResourceSpans" - end - add_message "opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse" do - end - end -end + +descriptor_data = "\n:opentelemetry/proto/collector/trace/v1/trace_service.proto\x12&opentelemetry.proto.collector.trace.v1\x1a(opentelemetry/proto/trace/v1/trace.proto\"`\n\x19\x45xportTraceServiceRequest\x12\x43\n\x0eresource_spans\x18\x01 \x03(\x0b\x32+.opentelemetry.proto.trace.v1.ResourceSpans\"\x1c\n\x1a\x45xportTraceServiceResponse2\xa2\x01\n\x0cTraceService\x12\x91\x01\n\x06\x45xport\x12\x41.opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest\x1a\x42.opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse\"\x00\x42s\n)io.opentelemetry.proto.collector.trace.v1B\x11TraceServiceProtoP\x01Z1go.opentelemetry.io/proto/otlp/collector/trace/v1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp-common/lib/opentelemetry/proto/common/v1/common_pb.rb b/exporter/otlp-common/lib/opentelemetry/proto/common/v1/common_pb.rb index 006d3047d0..c91fe92c51 100644 --- a/exporter/otlp-common/lib/opentelemetry/proto/common/v1/common_pb.rb +++ b/exporter/otlp-common/lib/opentelemetry/proto/common/v1/common_pb.rb @@ -1,41 +1,14 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/common/v1/common.proto require 'google/protobuf' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/common/v1/common.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.common.v1.AnyValue" do - oneof :value do - optional :string_value, :string, 1 - optional :bool_value, :bool, 2 - optional :int_value, :int64, 3 - optional :double_value, :double, 4 - optional :array_value, :message, 5, "opentelemetry.proto.common.v1.ArrayValue" - optional :kvlist_value, :message, 6, "opentelemetry.proto.common.v1.KeyValueList" - optional :bytes_value, :bytes, 7 - end - end - add_message "opentelemetry.proto.common.v1.ArrayValue" do - repeated :values, :message, 1, "opentelemetry.proto.common.v1.AnyValue" - end - add_message "opentelemetry.proto.common.v1.KeyValueList" do - repeated :values, :message, 1, "opentelemetry.proto.common.v1.KeyValue" - end - add_message "opentelemetry.proto.common.v1.KeyValue" do - optional :key, :string, 1 - optional :value, :message, 2, "opentelemetry.proto.common.v1.AnyValue" - end - add_message "opentelemetry.proto.common.v1.InstrumentationLibrary" do - optional :name, :string, 1 - optional :version, :string, 2 - end - add_message "opentelemetry.proto.common.v1.InstrumentationScope" do - optional :name, :string, 1 - optional :version, :string, 2 - end - end -end + +descriptor_data = "\n*opentelemetry/proto/common/v1/common.proto\x12\x1dopentelemetry.proto.common.v1\"\x8c\x02\n\x08\x41nyValue\x12\x16\n\x0cstring_value\x18\x01 \x01(\tH\x00\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x00\x12\x13\n\tint_value\x18\x03 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x04 \x01(\x01H\x00\x12@\n\x0b\x61rray_value\x18\x05 \x01(\x0b\x32).opentelemetry.proto.common.v1.ArrayValueH\x00\x12\x43\n\x0ckvlist_value\x18\x06 \x01(\x0b\x32+.opentelemetry.proto.common.v1.KeyValueListH\x00\x12\x15\n\x0b\x62ytes_value\x18\x07 \x01(\x0cH\x00\x42\x07\n\x05value\"E\n\nArrayValue\x12\x37\n\x06values\x18\x01 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.AnyValue\"G\n\x0cKeyValueList\x12\x37\n\x06values\x18\x01 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\"O\n\x08KeyValue\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.opentelemetry.proto.common.v1.AnyValue\";\n\x16InstrumentationLibrary\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t:\x02\x18\x01\"5\n\x14InstrumentationScope\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\tB[\n io.opentelemetry.proto.common.v1B\x0b\x43ommonProtoP\x01Z(go.opentelemetry.io/proto/otlp/common/v1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp-common/lib/opentelemetry/proto/logs/v1/logs_pb.rb b/exporter/otlp-common/lib/opentelemetry/proto/logs/v1/logs_pb.rb index d6ea3cd664..6fee743383 100644 --- a/exporter/otlp-common/lib/opentelemetry/proto/logs/v1/logs_pb.rb +++ b/exporter/otlp-common/lib/opentelemetry/proto/logs/v1/logs_pb.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/logs/v1/logs.proto @@ -6,72 +7,11 @@ require 'opentelemetry/proto/common/v1/common_pb' require 'opentelemetry/proto/resource/v1/resource_pb' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/logs/v1/logs.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.logs.v1.LogsData" do - repeated :resource_logs, :message, 1, "opentelemetry.proto.logs.v1.ResourceLogs" - end - add_message "opentelemetry.proto.logs.v1.ResourceLogs" do - optional :resource, :message, 1, "opentelemetry.proto.resource.v1.Resource" - repeated :scope_logs, :message, 2, "opentelemetry.proto.logs.v1.ScopeLogs" - repeated :instrumentation_library_logs, :message, 1000, "opentelemetry.proto.logs.v1.InstrumentationLibraryLogs" - optional :schema_url, :string, 3 - end - add_message "opentelemetry.proto.logs.v1.ScopeLogs" do - optional :scope, :message, 1, "opentelemetry.proto.common.v1.InstrumentationScope" - repeated :log_records, :message, 2, "opentelemetry.proto.logs.v1.LogRecord" - optional :schema_url, :string, 3 - end - add_message "opentelemetry.proto.logs.v1.InstrumentationLibraryLogs" do - optional :instrumentation_library, :message, 1, "opentelemetry.proto.common.v1.InstrumentationLibrary" - repeated :log_records, :message, 2, "opentelemetry.proto.logs.v1.LogRecord" - optional :schema_url, :string, 3 - end - add_message "opentelemetry.proto.logs.v1.LogRecord" do - optional :time_unix_nano, :fixed64, 1 - optional :observed_time_unix_nano, :fixed64, 11 - optional :severity_number, :enum, 2, "opentelemetry.proto.logs.v1.SeverityNumber" - optional :severity_text, :string, 3 - optional :body, :message, 5, "opentelemetry.proto.common.v1.AnyValue" - repeated :attributes, :message, 6, "opentelemetry.proto.common.v1.KeyValue" - optional :dropped_attributes_count, :uint32, 7 - optional :flags, :fixed32, 8 - optional :trace_id, :bytes, 9 - optional :span_id, :bytes, 10 - end - add_enum "opentelemetry.proto.logs.v1.SeverityNumber" do - value :SEVERITY_NUMBER_UNSPECIFIED, 0 - value :SEVERITY_NUMBER_TRACE, 1 - value :SEVERITY_NUMBER_TRACE2, 2 - value :SEVERITY_NUMBER_TRACE3, 3 - value :SEVERITY_NUMBER_TRACE4, 4 - value :SEVERITY_NUMBER_DEBUG, 5 - value :SEVERITY_NUMBER_DEBUG2, 6 - value :SEVERITY_NUMBER_DEBUG3, 7 - value :SEVERITY_NUMBER_DEBUG4, 8 - value :SEVERITY_NUMBER_INFO, 9 - value :SEVERITY_NUMBER_INFO2, 10 - value :SEVERITY_NUMBER_INFO3, 11 - value :SEVERITY_NUMBER_INFO4, 12 - value :SEVERITY_NUMBER_WARN, 13 - value :SEVERITY_NUMBER_WARN2, 14 - value :SEVERITY_NUMBER_WARN3, 15 - value :SEVERITY_NUMBER_WARN4, 16 - value :SEVERITY_NUMBER_ERROR, 17 - value :SEVERITY_NUMBER_ERROR2, 18 - value :SEVERITY_NUMBER_ERROR3, 19 - value :SEVERITY_NUMBER_ERROR4, 20 - value :SEVERITY_NUMBER_FATAL, 21 - value :SEVERITY_NUMBER_FATAL2, 22 - value :SEVERITY_NUMBER_FATAL3, 23 - value :SEVERITY_NUMBER_FATAL4, 24 - end - add_enum "opentelemetry.proto.logs.v1.LogRecordFlags" do - value :LOG_RECORD_FLAG_UNSPECIFIED, 0 - value :LOG_RECORD_FLAG_TRACE_FLAGS_MASK, 255 - end - end -end + +descriptor_data = "\n&opentelemetry/proto/logs/v1/logs.proto\x12\x1bopentelemetry.proto.logs.v1\x1a*opentelemetry/proto/common/v1/common.proto\x1a.opentelemetry/proto/resource/v1/resource.proto\"L\n\x08LogsData\x12@\n\rresource_logs\x18\x01 \x03(\x0b\x32).opentelemetry.proto.logs.v1.ResourceLogs\"\xff\x01\n\x0cResourceLogs\x12;\n\x08resource\x18\x01 \x01(\x0b\x32).opentelemetry.proto.resource.v1.Resource\x12:\n\nscope_logs\x18\x02 \x03(\x0b\x32&.opentelemetry.proto.logs.v1.ScopeLogs\x12\x62\n\x1cinstrumentation_library_logs\x18\xe8\x07 \x03(\x0b\x32\x37.opentelemetry.proto.logs.v1.InstrumentationLibraryLogsB\x02\x18\x01\x12\x12\n\nschema_url\x18\x03 \x01(\t\"\xa0\x01\n\tScopeLogs\x12\x42\n\x05scope\x18\x01 \x01(\x0b\x32\x33.opentelemetry.proto.common.v1.InstrumentationScope\x12;\n\x0blog_records\x18\x02 \x03(\x0b\x32&.opentelemetry.proto.logs.v1.LogRecord\x12\x12\n\nschema_url\x18\x03 \x01(\t\"\xc9\x01\n\x1aInstrumentationLibraryLogs\x12V\n\x17instrumentation_library\x18\x01 \x01(\x0b\x32\x35.opentelemetry.proto.common.v1.InstrumentationLibrary\x12;\n\x0blog_records\x18\x02 \x03(\x0b\x32&.opentelemetry.proto.logs.v1.LogRecord\x12\x12\n\nschema_url\x18\x03 \x01(\t:\x02\x18\x01\"\xef\x02\n\tLogRecord\x12\x16\n\x0etime_unix_nano\x18\x01 \x01(\x06\x12\x1f\n\x17observed_time_unix_nano\x18\x0b \x01(\x06\x12\x44\n\x0fseverity_number\x18\x02 \x01(\x0e\x32+.opentelemetry.proto.logs.v1.SeverityNumber\x12\x15\n\rseverity_text\x18\x03 \x01(\t\x12\x35\n\x04\x62ody\x18\x05 \x01(\x0b\x32\'.opentelemetry.proto.common.v1.AnyValue\x12;\n\nattributes\x18\x06 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12 \n\x18\x64ropped_attributes_count\x18\x07 \x01(\r\x12\r\n\x05\x66lags\x18\x08 \x01(\x07\x12\x10\n\x08trace_id\x18\t \x01(\x0c\x12\x0f\n\x07span_id\x18\n \x01(\x0cJ\x04\x08\x04\x10\x05*\xc3\x05\n\x0eSeverityNumber\x12\x1f\n\x1bSEVERITY_NUMBER_UNSPECIFIED\x10\x00\x12\x19\n\x15SEVERITY_NUMBER_TRACE\x10\x01\x12\x1a\n\x16SEVERITY_NUMBER_TRACE2\x10\x02\x12\x1a\n\x16SEVERITY_NUMBER_TRACE3\x10\x03\x12\x1a\n\x16SEVERITY_NUMBER_TRACE4\x10\x04\x12\x19\n\x15SEVERITY_NUMBER_DEBUG\x10\x05\x12\x1a\n\x16SEVERITY_NUMBER_DEBUG2\x10\x06\x12\x1a\n\x16SEVERITY_NUMBER_DEBUG3\x10\x07\x12\x1a\n\x16SEVERITY_NUMBER_DEBUG4\x10\x08\x12\x18\n\x14SEVERITY_NUMBER_INFO\x10\t\x12\x19\n\x15SEVERITY_NUMBER_INFO2\x10\n\x12\x19\n\x15SEVERITY_NUMBER_INFO3\x10\x0b\x12\x19\n\x15SEVERITY_NUMBER_INFO4\x10\x0c\x12\x18\n\x14SEVERITY_NUMBER_WARN\x10\r\x12\x19\n\x15SEVERITY_NUMBER_WARN2\x10\x0e\x12\x19\n\x15SEVERITY_NUMBER_WARN3\x10\x0f\x12\x19\n\x15SEVERITY_NUMBER_WARN4\x10\x10\x12\x19\n\x15SEVERITY_NUMBER_ERROR\x10\x11\x12\x1a\n\x16SEVERITY_NUMBER_ERROR2\x10\x12\x12\x1a\n\x16SEVERITY_NUMBER_ERROR3\x10\x13\x12\x1a\n\x16SEVERITY_NUMBER_ERROR4\x10\x14\x12\x19\n\x15SEVERITY_NUMBER_FATAL\x10\x15\x12\x1a\n\x16SEVERITY_NUMBER_FATAL2\x10\x16\x12\x1a\n\x16SEVERITY_NUMBER_FATAL3\x10\x17\x12\x1a\n\x16SEVERITY_NUMBER_FATAL4\x10\x18*X\n\x0eLogRecordFlags\x12\x1f\n\x1bLOG_RECORD_FLAG_UNSPECIFIED\x10\x00\x12%\n LOG_RECORD_FLAG_TRACE_FLAGS_MASK\x10\xff\x01\x42U\n\x1eio.opentelemetry.proto.logs.v1B\tLogsProtoP\x01Z&go.opentelemetry.io/proto/otlp/logs/v1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp-common/lib/opentelemetry/proto/metrics/v1/metrics_pb.rb b/exporter/otlp-common/lib/opentelemetry/proto/metrics/v1/metrics_pb.rb index f85db6b9c1..eccff76040 100644 --- a/exporter/otlp-common/lib/opentelemetry/proto/metrics/v1/metrics_pb.rb +++ b/exporter/otlp-common/lib/opentelemetry/proto/metrics/v1/metrics_pb.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/metrics/v1/metrics.proto @@ -6,135 +7,11 @@ require 'opentelemetry/proto/common/v1/common_pb' require 'opentelemetry/proto/resource/v1/resource_pb' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/metrics/v1/metrics.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.metrics.v1.MetricsData" do - repeated :resource_metrics, :message, 1, "opentelemetry.proto.metrics.v1.ResourceMetrics" - end - add_message "opentelemetry.proto.metrics.v1.ResourceMetrics" do - optional :resource, :message, 1, "opentelemetry.proto.resource.v1.Resource" - repeated :scope_metrics, :message, 2, "opentelemetry.proto.metrics.v1.ScopeMetrics" - repeated :instrumentation_library_metrics, :message, 1000, "opentelemetry.proto.metrics.v1.InstrumentationLibraryMetrics" - optional :schema_url, :string, 3 - end - add_message "opentelemetry.proto.metrics.v1.ScopeMetrics" do - optional :scope, :message, 1, "opentelemetry.proto.common.v1.InstrumentationScope" - repeated :metrics, :message, 2, "opentelemetry.proto.metrics.v1.Metric" - optional :schema_url, :string, 3 - end - add_message "opentelemetry.proto.metrics.v1.InstrumentationLibraryMetrics" do - optional :instrumentation_library, :message, 1, "opentelemetry.proto.common.v1.InstrumentationLibrary" - repeated :metrics, :message, 2, "opentelemetry.proto.metrics.v1.Metric" - optional :schema_url, :string, 3 - end - add_message "opentelemetry.proto.metrics.v1.Metric" do - optional :name, :string, 1 - optional :description, :string, 2 - optional :unit, :string, 3 - oneof :data do - optional :gauge, :message, 5, "opentelemetry.proto.metrics.v1.Gauge" - optional :sum, :message, 7, "opentelemetry.proto.metrics.v1.Sum" - optional :histogram, :message, 9, "opentelemetry.proto.metrics.v1.Histogram" - optional :exponential_histogram, :message, 10, "opentelemetry.proto.metrics.v1.ExponentialHistogram" - optional :summary, :message, 11, "opentelemetry.proto.metrics.v1.Summary" - end - end - add_message "opentelemetry.proto.metrics.v1.Gauge" do - repeated :data_points, :message, 1, "opentelemetry.proto.metrics.v1.NumberDataPoint" - end - add_message "opentelemetry.proto.metrics.v1.Sum" do - repeated :data_points, :message, 1, "opentelemetry.proto.metrics.v1.NumberDataPoint" - optional :aggregation_temporality, :enum, 2, "opentelemetry.proto.metrics.v1.AggregationTemporality" - optional :is_monotonic, :bool, 3 - end - add_message "opentelemetry.proto.metrics.v1.Histogram" do - repeated :data_points, :message, 1, "opentelemetry.proto.metrics.v1.HistogramDataPoint" - optional :aggregation_temporality, :enum, 2, "opentelemetry.proto.metrics.v1.AggregationTemporality" - end - add_message "opentelemetry.proto.metrics.v1.ExponentialHistogram" do - repeated :data_points, :message, 1, "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint" - optional :aggregation_temporality, :enum, 2, "opentelemetry.proto.metrics.v1.AggregationTemporality" - end - add_message "opentelemetry.proto.metrics.v1.Summary" do - repeated :data_points, :message, 1, "opentelemetry.proto.metrics.v1.SummaryDataPoint" - end - add_message "opentelemetry.proto.metrics.v1.NumberDataPoint" do - repeated :attributes, :message, 7, "opentelemetry.proto.common.v1.KeyValue" - optional :start_time_unix_nano, :fixed64, 2 - optional :time_unix_nano, :fixed64, 3 - repeated :exemplars, :message, 5, "opentelemetry.proto.metrics.v1.Exemplar" - optional :flags, :uint32, 8 - oneof :value do - optional :as_double, :double, 4 - optional :as_int, :sfixed64, 6 - end - end - add_message "opentelemetry.proto.metrics.v1.HistogramDataPoint" do - repeated :attributes, :message, 9, "opentelemetry.proto.common.v1.KeyValue" - optional :start_time_unix_nano, :fixed64, 2 - optional :time_unix_nano, :fixed64, 3 - optional :count, :fixed64, 4 - proto3_optional :sum, :double, 5 - repeated :bucket_counts, :fixed64, 6 - repeated :explicit_bounds, :double, 7 - repeated :exemplars, :message, 8, "opentelemetry.proto.metrics.v1.Exemplar" - optional :flags, :uint32, 10 - proto3_optional :min, :double, 11 - proto3_optional :max, :double, 12 - end - add_message "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint" do - repeated :attributes, :message, 1, "opentelemetry.proto.common.v1.KeyValue" - optional :start_time_unix_nano, :fixed64, 2 - optional :time_unix_nano, :fixed64, 3 - optional :count, :fixed64, 4 - proto3_optional :sum, :double, 5 - optional :scale, :sint32, 6 - optional :zero_count, :fixed64, 7 - optional :positive, :message, 8, "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets" - optional :negative, :message, 9, "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets" - optional :flags, :uint32, 10 - repeated :exemplars, :message, 11, "opentelemetry.proto.metrics.v1.Exemplar" - proto3_optional :min, :double, 12 - proto3_optional :max, :double, 13 - end - add_message "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets" do - optional :offset, :sint32, 1 - repeated :bucket_counts, :uint64, 2 - end - add_message "opentelemetry.proto.metrics.v1.SummaryDataPoint" do - repeated :attributes, :message, 7, "opentelemetry.proto.common.v1.KeyValue" - optional :start_time_unix_nano, :fixed64, 2 - optional :time_unix_nano, :fixed64, 3 - optional :count, :fixed64, 4 - optional :sum, :double, 5 - repeated :quantile_values, :message, 6, "opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile" - optional :flags, :uint32, 8 - end - add_message "opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile" do - optional :quantile, :double, 1 - optional :value, :double, 2 - end - add_message "opentelemetry.proto.metrics.v1.Exemplar" do - repeated :filtered_attributes, :message, 7, "opentelemetry.proto.common.v1.KeyValue" - optional :time_unix_nano, :fixed64, 2 - optional :span_id, :bytes, 4 - optional :trace_id, :bytes, 5 - oneof :value do - optional :as_double, :double, 3 - optional :as_int, :sfixed64, 6 - end - end - add_enum "opentelemetry.proto.metrics.v1.AggregationTemporality" do - value :AGGREGATION_TEMPORALITY_UNSPECIFIED, 0 - value :AGGREGATION_TEMPORALITY_DELTA, 1 - value :AGGREGATION_TEMPORALITY_CUMULATIVE, 2 - end - add_enum "opentelemetry.proto.metrics.v1.DataPointFlags" do - value :FLAG_NONE, 0 - value :FLAG_NO_RECORDED_VALUE, 1 - end - end -end + +descriptor_data = "\n,opentelemetry/proto/metrics/v1/metrics.proto\x12\x1eopentelemetry.proto.metrics.v1\x1a*opentelemetry/proto/common/v1/common.proto\x1a.opentelemetry/proto/resource/v1/resource.proto\"X\n\x0bMetricsData\x12I\n\x10resource_metrics\x18\x01 \x03(\x0b\x32/.opentelemetry.proto.metrics.v1.ResourceMetrics\"\x94\x02\n\x0fResourceMetrics\x12;\n\x08resource\x18\x01 \x01(\x0b\x32).opentelemetry.proto.resource.v1.Resource\x12\x43\n\rscope_metrics\x18\x02 \x03(\x0b\x32,.opentelemetry.proto.metrics.v1.ScopeMetrics\x12k\n\x1finstrumentation_library_metrics\x18\xe8\x07 \x03(\x0b\x32=.opentelemetry.proto.metrics.v1.InstrumentationLibraryMetricsB\x02\x18\x01\x12\x12\n\nschema_url\x18\x03 \x01(\t\"\x9f\x01\n\x0cScopeMetrics\x12\x42\n\x05scope\x18\x01 \x01(\x0b\x32\x33.opentelemetry.proto.common.v1.InstrumentationScope\x12\x37\n\x07metrics\x18\x02 \x03(\x0b\x32&.opentelemetry.proto.metrics.v1.Metric\x12\x12\n\nschema_url\x18\x03 \x01(\t\"\xc8\x01\n\x1dInstrumentationLibraryMetrics\x12V\n\x17instrumentation_library\x18\x01 \x01(\x0b\x32\x35.opentelemetry.proto.common.v1.InstrumentationLibrary\x12\x37\n\x07metrics\x18\x02 \x03(\x0b\x32&.opentelemetry.proto.metrics.v1.Metric\x12\x12\n\nschema_url\x18\x03 \x01(\t:\x02\x18\x01\"\x92\x03\n\x06Metric\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0c\n\x04unit\x18\x03 \x01(\t\x12\x36\n\x05gauge\x18\x05 \x01(\x0b\x32%.opentelemetry.proto.metrics.v1.GaugeH\x00\x12\x32\n\x03sum\x18\x07 \x01(\x0b\x32#.opentelemetry.proto.metrics.v1.SumH\x00\x12>\n\thistogram\x18\t \x01(\x0b\x32).opentelemetry.proto.metrics.v1.HistogramH\x00\x12U\n\x15\x65xponential_histogram\x18\n \x01(\x0b\x32\x34.opentelemetry.proto.metrics.v1.ExponentialHistogramH\x00\x12:\n\x07summary\x18\x0b \x01(\x0b\x32\'.opentelemetry.proto.metrics.v1.SummaryH\x00\x42\x06\n\x04\x64\x61taJ\x04\x08\x04\x10\x05J\x04\x08\x06\x10\x07J\x04\x08\x08\x10\t\"M\n\x05Gauge\x12\x44\n\x0b\x64\x61ta_points\x18\x01 \x03(\x0b\x32/.opentelemetry.proto.metrics.v1.NumberDataPoint\"\xba\x01\n\x03Sum\x12\x44\n\x0b\x64\x61ta_points\x18\x01 \x03(\x0b\x32/.opentelemetry.proto.metrics.v1.NumberDataPoint\x12W\n\x17\x61ggregation_temporality\x18\x02 \x01(\x0e\x32\x36.opentelemetry.proto.metrics.v1.AggregationTemporality\x12\x14\n\x0cis_monotonic\x18\x03 \x01(\x08\"\xad\x01\n\tHistogram\x12G\n\x0b\x64\x61ta_points\x18\x01 \x03(\x0b\x32\x32.opentelemetry.proto.metrics.v1.HistogramDataPoint\x12W\n\x17\x61ggregation_temporality\x18\x02 \x01(\x0e\x32\x36.opentelemetry.proto.metrics.v1.AggregationTemporality\"\xc3\x01\n\x14\x45xponentialHistogram\x12R\n\x0b\x64\x61ta_points\x18\x01 \x03(\x0b\x32=.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint\x12W\n\x17\x61ggregation_temporality\x18\x02 \x01(\x0e\x32\x36.opentelemetry.proto.metrics.v1.AggregationTemporality\"P\n\x07Summary\x12\x45\n\x0b\x64\x61ta_points\x18\x01 \x03(\x0b\x32\x30.opentelemetry.proto.metrics.v1.SummaryDataPoint\"\x86\x02\n\x0fNumberDataPoint\x12;\n\nattributes\x18\x07 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12\x1c\n\x14start_time_unix_nano\x18\x02 \x01(\x06\x12\x16\n\x0etime_unix_nano\x18\x03 \x01(\x06\x12\x13\n\tas_double\x18\x04 \x01(\x01H\x00\x12\x10\n\x06\x61s_int\x18\x06 \x01(\x10H\x00\x12;\n\texemplars\x18\x05 \x03(\x0b\x32(.opentelemetry.proto.metrics.v1.Exemplar\x12\r\n\x05\x66lags\x18\x08 \x01(\rB\x07\n\x05valueJ\x04\x08\x01\x10\x02\"\xe6\x02\n\x12HistogramDataPoint\x12;\n\nattributes\x18\t \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12\x1c\n\x14start_time_unix_nano\x18\x02 \x01(\x06\x12\x16\n\x0etime_unix_nano\x18\x03 \x01(\x06\x12\r\n\x05\x63ount\x18\x04 \x01(\x06\x12\x10\n\x03sum\x18\x05 \x01(\x01H\x00\x88\x01\x01\x12\x15\n\rbucket_counts\x18\x06 \x03(\x06\x12\x17\n\x0f\x65xplicit_bounds\x18\x07 \x03(\x01\x12;\n\texemplars\x18\x08 \x03(\x0b\x32(.opentelemetry.proto.metrics.v1.Exemplar\x12\r\n\x05\x66lags\x18\n \x01(\r\x12\x10\n\x03min\x18\x0b \x01(\x01H\x01\x88\x01\x01\x12\x10\n\x03max\x18\x0c \x01(\x01H\x02\x88\x01\x01\x42\x06\n\x04_sumB\x06\n\x04_minB\x06\n\x04_maxJ\x04\x08\x01\x10\x02\"\xc2\x04\n\x1d\x45xponentialHistogramDataPoint\x12;\n\nattributes\x18\x01 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12\x1c\n\x14start_time_unix_nano\x18\x02 \x01(\x06\x12\x16\n\x0etime_unix_nano\x18\x03 \x01(\x06\x12\r\n\x05\x63ount\x18\x04 \x01(\x06\x12\x10\n\x03sum\x18\x05 \x01(\x01H\x00\x88\x01\x01\x12\r\n\x05scale\x18\x06 \x01(\x11\x12\x12\n\nzero_count\x18\x07 \x01(\x06\x12W\n\x08positive\x18\x08 \x01(\x0b\x32\x45.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets\x12W\n\x08negative\x18\t \x01(\x0b\x32\x45.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets\x12\r\n\x05\x66lags\x18\n \x01(\r\x12;\n\texemplars\x18\x0b \x03(\x0b\x32(.opentelemetry.proto.metrics.v1.Exemplar\x12\x10\n\x03min\x18\x0c \x01(\x01H\x01\x88\x01\x01\x12\x10\n\x03max\x18\r \x01(\x01H\x02\x88\x01\x01\x1a\x30\n\x07\x42uckets\x12\x0e\n\x06offset\x18\x01 \x01(\x11\x12\x15\n\rbucket_counts\x18\x02 \x03(\x04\x42\x06\n\x04_sumB\x06\n\x04_minB\x06\n\x04_max\"\xc5\x02\n\x10SummaryDataPoint\x12;\n\nattributes\x18\x07 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12\x1c\n\x14start_time_unix_nano\x18\x02 \x01(\x06\x12\x16\n\x0etime_unix_nano\x18\x03 \x01(\x06\x12\r\n\x05\x63ount\x18\x04 \x01(\x06\x12\x0b\n\x03sum\x18\x05 \x01(\x01\x12Y\n\x0fquantile_values\x18\x06 \x03(\x0b\x32@.opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile\x12\r\n\x05\x66lags\x18\x08 \x01(\r\x1a\x32\n\x0fValueAtQuantile\x12\x10\n\x08quantile\x18\x01 \x01(\x01\x12\r\n\x05value\x18\x02 \x01(\x01J\x04\x08\x01\x10\x02\"\xc1\x01\n\x08\x45xemplar\x12\x44\n\x13\x66iltered_attributes\x18\x07 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12\x16\n\x0etime_unix_nano\x18\x02 \x01(\x06\x12\x13\n\tas_double\x18\x03 \x01(\x01H\x00\x12\x10\n\x06\x61s_int\x18\x06 \x01(\x10H\x00\x12\x0f\n\x07span_id\x18\x04 \x01(\x0c\x12\x10\n\x08trace_id\x18\x05 \x01(\x0c\x42\x07\n\x05valueJ\x04\x08\x01\x10\x02*\x8c\x01\n\x16\x41ggregationTemporality\x12\'\n#AGGREGATION_TEMPORALITY_UNSPECIFIED\x10\x00\x12!\n\x1d\x41GGREGATION_TEMPORALITY_DELTA\x10\x01\x12&\n\"AGGREGATION_TEMPORALITY_CUMULATIVE\x10\x02*;\n\x0e\x44\x61taPointFlags\x12\r\n\tFLAG_NONE\x10\x00\x12\x1a\n\x16\x46LAG_NO_RECORDED_VALUE\x10\x01\x42^\n!io.opentelemetry.proto.metrics.v1B\x0cMetricsProtoP\x01Z)go.opentelemetry.io/proto/otlp/metrics/v1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp-common/lib/opentelemetry/proto/resource/v1/resource_pb.rb b/exporter/otlp-common/lib/opentelemetry/proto/resource/v1/resource_pb.rb index a10d5ad1f5..a47c81d56f 100644 --- a/exporter/otlp-common/lib/opentelemetry/proto/resource/v1/resource_pb.rb +++ b/exporter/otlp-common/lib/opentelemetry/proto/resource/v1/resource_pb.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/resource/v1/resource.proto @@ -5,14 +6,11 @@ require 'opentelemetry/proto/common/v1/common_pb' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/resource/v1/resource.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.resource.v1.Resource" do - repeated :attributes, :message, 1, "opentelemetry.proto.common.v1.KeyValue" - optional :dropped_attributes_count, :uint32, 2 - end - end -end + +descriptor_data = "\n.opentelemetry/proto/resource/v1/resource.proto\x12\x1fopentelemetry.proto.resource.v1\x1a*opentelemetry/proto/common/v1/common.proto\"i\n\x08Resource\x12;\n\nattributes\x18\x01 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12 \n\x18\x64ropped_attributes_count\x18\x02 \x01(\rBa\n\"io.opentelemetry.proto.resource.v1B\rResourceProtoP\x01Z*go.opentelemetry.io/proto/otlp/resource/v1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp-common/lib/opentelemetry/proto/trace/v1/trace_config_pb.rb b/exporter/otlp-common/lib/opentelemetry/proto/trace/v1/trace_config_pb.rb index 540dc2d65d..453d8b556f 100644 --- a/exporter/otlp-common/lib/opentelemetry/proto/trace/v1/trace_config_pb.rb +++ b/exporter/otlp-common/lib/opentelemetry/proto/trace/v1/trace_config_pb.rb @@ -1,38 +1,14 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/trace/v1/trace_config.proto require 'google/protobuf' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/trace/v1/trace_config.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.trace.v1.TraceConfig" do - optional :max_number_of_attributes, :int64, 4 - optional :max_number_of_timed_events, :int64, 5 - optional :max_number_of_attributes_per_timed_event, :int64, 6 - optional :max_number_of_links, :int64, 7 - optional :max_number_of_attributes_per_link, :int64, 8 - oneof :sampler do - optional :constant_sampler, :message, 1, "opentelemetry.proto.trace.v1.ConstantSampler" - optional :trace_id_ratio_based, :message, 2, "opentelemetry.proto.trace.v1.TraceIdRatioBased" - optional :rate_limiting_sampler, :message, 3, "opentelemetry.proto.trace.v1.RateLimitingSampler" - end - end - add_message "opentelemetry.proto.trace.v1.ConstantSampler" do - optional :decision, :enum, 1, "opentelemetry.proto.trace.v1.ConstantSampler.ConstantDecision" - end - add_enum "opentelemetry.proto.trace.v1.ConstantSampler.ConstantDecision" do - value :ALWAYS_OFF, 0 - value :ALWAYS_ON, 1 - value :ALWAYS_PARENT, 2 - end - add_message "opentelemetry.proto.trace.v1.TraceIdRatioBased" do - optional :samplingRatio, :double, 1 - end - add_message "opentelemetry.proto.trace.v1.RateLimitingSampler" do - optional :qps, :int64, 1 - end - end -end + +descriptor_data = "\n/opentelemetry/proto/trace/v1/trace_config.proto\x12\x1copentelemetry.proto.trace.v1\"\xc8\x03\n\x0bTraceConfig\x12I\n\x10\x63onstant_sampler\x18\x01 \x01(\x0b\x32-.opentelemetry.proto.trace.v1.ConstantSamplerH\x00\x12O\n\x14trace_id_ratio_based\x18\x02 \x01(\x0b\x32/.opentelemetry.proto.trace.v1.TraceIdRatioBasedH\x00\x12R\n\x15rate_limiting_sampler\x18\x03 \x01(\x0b\x32\x31.opentelemetry.proto.trace.v1.RateLimitingSamplerH\x00\x12 \n\x18max_number_of_attributes\x18\x04 \x01(\x03\x12\"\n\x1amax_number_of_timed_events\x18\x05 \x01(\x03\x12\x30\n(max_number_of_attributes_per_timed_event\x18\x06 \x01(\x03\x12\x1b\n\x13max_number_of_links\x18\x07 \x01(\x03\x12)\n!max_number_of_attributes_per_link\x18\x08 \x01(\x03\x42\t\n\x07sampler\"\xa9\x01\n\x0f\x43onstantSampler\x12P\n\x08\x64\x65\x63ision\x18\x01 \x01(\x0e\x32>.opentelemetry.proto.trace.v1.ConstantSampler.ConstantDecision\"D\n\x10\x43onstantDecision\x12\x0e\n\nALWAYS_OFF\x10\x00\x12\r\n\tALWAYS_ON\x10\x01\x12\x11\n\rALWAYS_PARENT\x10\x02\"*\n\x11TraceIdRatioBased\x12\x15\n\rsamplingRatio\x18\x01 \x01(\x01\"\"\n\x13RateLimitingSampler\x12\x0b\n\x03qps\x18\x01 \x01(\x03\x42h\n\x1fio.opentelemetry.proto.trace.v1B\x10TraceConfigProtoP\x01Z1go.opentelemetry.io/proto/otlp/collector/trace/v1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp-common/lib/opentelemetry/proto/trace/v1/trace_pb.rb b/exporter/otlp-common/lib/opentelemetry/proto/trace/v1/trace_pb.rb index e06a34c0bf..b1ea7c5c0e 100644 --- a/exporter/otlp-common/lib/opentelemetry/proto/trace/v1/trace_pb.rb +++ b/exporter/otlp-common/lib/opentelemetry/proto/trace/v1/trace_pb.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/trace/v1/trace.proto @@ -6,76 +7,11 @@ require 'opentelemetry/proto/common/v1/common_pb' require 'opentelemetry/proto/resource/v1/resource_pb' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/trace/v1/trace.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.trace.v1.TracesData" do - repeated :resource_spans, :message, 1, "opentelemetry.proto.trace.v1.ResourceSpans" - end - add_message "opentelemetry.proto.trace.v1.ResourceSpans" do - optional :resource, :message, 1, "opentelemetry.proto.resource.v1.Resource" - repeated :scope_spans, :message, 2, "opentelemetry.proto.trace.v1.ScopeSpans" - repeated :instrumentation_library_spans, :message, 1000, "opentelemetry.proto.trace.v1.InstrumentationLibrarySpans" - optional :schema_url, :string, 3 - end - add_message "opentelemetry.proto.trace.v1.ScopeSpans" do - optional :scope, :message, 1, "opentelemetry.proto.common.v1.InstrumentationScope" - repeated :spans, :message, 2, "opentelemetry.proto.trace.v1.Span" - optional :schema_url, :string, 3 - end - add_message "opentelemetry.proto.trace.v1.InstrumentationLibrarySpans" do - optional :instrumentation_library, :message, 1, "opentelemetry.proto.common.v1.InstrumentationLibrary" - repeated :spans, :message, 2, "opentelemetry.proto.trace.v1.Span" - optional :schema_url, :string, 3 - end - add_message "opentelemetry.proto.trace.v1.Span" do - optional :trace_id, :bytes, 1 - optional :span_id, :bytes, 2 - optional :trace_state, :string, 3 - optional :parent_span_id, :bytes, 4 - optional :name, :string, 5 - optional :kind, :enum, 6, "opentelemetry.proto.trace.v1.Span.SpanKind" - optional :start_time_unix_nano, :fixed64, 7 - optional :end_time_unix_nano, :fixed64, 8 - repeated :attributes, :message, 9, "opentelemetry.proto.common.v1.KeyValue" - optional :dropped_attributes_count, :uint32, 10 - repeated :events, :message, 11, "opentelemetry.proto.trace.v1.Span.Event" - optional :dropped_events_count, :uint32, 12 - repeated :links, :message, 13, "opentelemetry.proto.trace.v1.Span.Link" - optional :dropped_links_count, :uint32, 14 - optional :status, :message, 15, "opentelemetry.proto.trace.v1.Status" - end - add_message "opentelemetry.proto.trace.v1.Span.Event" do - optional :time_unix_nano, :fixed64, 1 - optional :name, :string, 2 - repeated :attributes, :message, 3, "opentelemetry.proto.common.v1.KeyValue" - optional :dropped_attributes_count, :uint32, 4 - end - add_message "opentelemetry.proto.trace.v1.Span.Link" do - optional :trace_id, :bytes, 1 - optional :span_id, :bytes, 2 - optional :trace_state, :string, 3 - repeated :attributes, :message, 4, "opentelemetry.proto.common.v1.KeyValue" - optional :dropped_attributes_count, :uint32, 5 - end - add_enum "opentelemetry.proto.trace.v1.Span.SpanKind" do - value :SPAN_KIND_UNSPECIFIED, 0 - value :SPAN_KIND_INTERNAL, 1 - value :SPAN_KIND_SERVER, 2 - value :SPAN_KIND_CLIENT, 3 - value :SPAN_KIND_PRODUCER, 4 - value :SPAN_KIND_CONSUMER, 5 - end - add_message "opentelemetry.proto.trace.v1.Status" do - optional :message, :string, 2 - optional :code, :enum, 3, "opentelemetry.proto.trace.v1.Status.StatusCode" - end - add_enum "opentelemetry.proto.trace.v1.Status.StatusCode" do - value :STATUS_CODE_UNSET, 0 - value :STATUS_CODE_OK, 1 - value :STATUS_CODE_ERROR, 2 - end - end -end + +descriptor_data = "\n(opentelemetry/proto/trace/v1/trace.proto\x12\x1copentelemetry.proto.trace.v1\x1a*opentelemetry/proto/common/v1/common.proto\x1a.opentelemetry/proto/resource/v1/resource.proto\"Q\n\nTracesData\x12\x43\n\x0eresource_spans\x18\x01 \x03(\x0b\x32+.opentelemetry.proto.trace.v1.ResourceSpans\"\x86\x02\n\rResourceSpans\x12;\n\x08resource\x18\x01 \x01(\x0b\x32).opentelemetry.proto.resource.v1.Resource\x12=\n\x0bscope_spans\x18\x02 \x03(\x0b\x32(.opentelemetry.proto.trace.v1.ScopeSpans\x12\x65\n\x1dinstrumentation_library_spans\x18\xe8\x07 \x03(\x0b\x32\x39.opentelemetry.proto.trace.v1.InstrumentationLibrarySpansB\x02\x18\x01\x12\x12\n\nschema_url\x18\x03 \x01(\t\"\x97\x01\n\nScopeSpans\x12\x42\n\x05scope\x18\x01 \x01(\x0b\x32\x33.opentelemetry.proto.common.v1.InstrumentationScope\x12\x31\n\x05spans\x18\x02 \x03(\x0b\x32\".opentelemetry.proto.trace.v1.Span\x12\x12\n\nschema_url\x18\x03 \x01(\t\"\xc0\x01\n\x1bInstrumentationLibrarySpans\x12V\n\x17instrumentation_library\x18\x01 \x01(\x0b\x32\x35.opentelemetry.proto.common.v1.InstrumentationLibrary\x12\x31\n\x05spans\x18\x02 \x03(\x0b\x32\".opentelemetry.proto.trace.v1.Span\x12\x12\n\nschema_url\x18\x03 \x01(\t:\x02\x18\x01\"\xe6\x07\n\x04Span\x12\x10\n\x08trace_id\x18\x01 \x01(\x0c\x12\x0f\n\x07span_id\x18\x02 \x01(\x0c\x12\x13\n\x0btrace_state\x18\x03 \x01(\t\x12\x16\n\x0eparent_span_id\x18\x04 \x01(\x0c\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x39\n\x04kind\x18\x06 \x01(\x0e\x32+.opentelemetry.proto.trace.v1.Span.SpanKind\x12\x1c\n\x14start_time_unix_nano\x18\x07 \x01(\x06\x12\x1a\n\x12\x65nd_time_unix_nano\x18\x08 \x01(\x06\x12;\n\nattributes\x18\t \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12 \n\x18\x64ropped_attributes_count\x18\n \x01(\r\x12\x38\n\x06\x65vents\x18\x0b \x03(\x0b\x32(.opentelemetry.proto.trace.v1.Span.Event\x12\x1c\n\x14\x64ropped_events_count\x18\x0c \x01(\r\x12\x36\n\x05links\x18\r \x03(\x0b\x32\'.opentelemetry.proto.trace.v1.Span.Link\x12\x1b\n\x13\x64ropped_links_count\x18\x0e \x01(\r\x12\x34\n\x06status\x18\x0f \x01(\x0b\x32$.opentelemetry.proto.trace.v1.Status\x1a\x8c\x01\n\x05\x45vent\x12\x16\n\x0etime_unix_nano\x18\x01 \x01(\x06\x12\x0c\n\x04name\x18\x02 \x01(\t\x12;\n\nattributes\x18\x03 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12 \n\x18\x64ropped_attributes_count\x18\x04 \x01(\r\x1a\x9d\x01\n\x04Link\x12\x10\n\x08trace_id\x18\x01 \x01(\x0c\x12\x0f\n\x07span_id\x18\x02 \x01(\x0c\x12\x13\n\x0btrace_state\x18\x03 \x01(\t\x12;\n\nattributes\x18\x04 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12 \n\x18\x64ropped_attributes_count\x18\x05 \x01(\r\"\x99\x01\n\x08SpanKind\x12\x19\n\x15SPAN_KIND_UNSPECIFIED\x10\x00\x12\x16\n\x12SPAN_KIND_INTERNAL\x10\x01\x12\x14\n\x10SPAN_KIND_SERVER\x10\x02\x12\x14\n\x10SPAN_KIND_CLIENT\x10\x03\x12\x16\n\x12SPAN_KIND_PRODUCER\x10\x04\x12\x16\n\x12SPAN_KIND_CONSUMER\x10\x05\"\xae\x01\n\x06Status\x12\x0f\n\x07message\x18\x02 \x01(\t\x12=\n\x04\x63ode\x18\x03 \x01(\x0e\x32/.opentelemetry.proto.trace.v1.Status.StatusCode\"N\n\nStatusCode\x12\x15\n\x11STATUS_CODE_UNSET\x10\x00\x12\x12\n\x0eSTATUS_CODE_OK\x10\x01\x12\x15\n\x11STATUS_CODE_ERROR\x10\x02J\x04\x08\x01\x10\x02\x42X\n\x1fio.opentelemetry.proto.trace.v1B\nTraceProtoP\x01Z\'go.opentelemetry.io/proto/otlp/trace/v1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp-http/lib/opentelemetry/exporter/otlp/http/trace_exporter.rb b/exporter/otlp-http/lib/opentelemetry/exporter/otlp/http/trace_exporter.rb index 0ae739df5a..de2b857788 100644 --- a/exporter/otlp-http/lib/opentelemetry/exporter/otlp/http/trace_exporter.rb +++ b/exporter/otlp-http/lib/opentelemetry/exporter/otlp/http/trace_exporter.rb @@ -180,8 +180,9 @@ def send_bytes(bytes, timeout:) # rubocop:disable Metrics/MethodLength rescue Net::OpenTimeout, Net::ReadTimeout retry if backoff?(retry_count: retry_count += 1, reason: 'timeout') return FAILURE - rescue OpenSSL::SSL::SSLError + rescue OpenSSL::SSL::SSLError => e retry if backoff?(retry_count: retry_count += 1, reason: 'openssl_error') + OpenTelemetry.handle_error(exception: e, message: 'SSL error in OTLP::Exporter#send_bytes') return FAILURE rescue SocketError retry if backoff?(retry_count: retry_count += 1, reason: 'socket_error') diff --git a/exporter/otlp-metrics/lib/opentelemetry/proto/collector/logs/v1/logs_service_pb.rb b/exporter/otlp-metrics/lib/opentelemetry/proto/collector/logs/v1/logs_service_pb.rb index ceeb940e82..d243dfbc07 100644 --- a/exporter/otlp-metrics/lib/opentelemetry/proto/collector/logs/v1/logs_service_pb.rb +++ b/exporter/otlp-metrics/lib/opentelemetry/proto/collector/logs/v1/logs_service_pb.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/collector/logs/v1/logs_service.proto @@ -5,20 +6,11 @@ require 'opentelemetry/proto/logs/v1/logs_pb' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/collector/logs/v1/logs_service.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.collector.logs.v1.ExportLogsServiceRequest" do - repeated :resource_logs, :message, 1, "opentelemetry.proto.logs.v1.ResourceLogs" - end - add_message "opentelemetry.proto.collector.logs.v1.ExportLogsServiceResponse" do - optional :partial_success, :message, 1, "opentelemetry.proto.collector.logs.v1.ExportLogsPartialSuccess" - end - add_message "opentelemetry.proto.collector.logs.v1.ExportLogsPartialSuccess" do - optional :rejected_log_records, :int64, 1 - optional :error_message, :string, 2 - end - end -end + +descriptor_data = "\n8opentelemetry/proto/collector/logs/v1/logs_service.proto\x12%opentelemetry.proto.collector.logs.v1\x1a&opentelemetry/proto/logs/v1/logs.proto\"\\\n\x18\x45xportLogsServiceRequest\x12@\n\rresource_logs\x18\x01 \x03(\x0b\x32).opentelemetry.proto.logs.v1.ResourceLogs\"u\n\x19\x45xportLogsServiceResponse\x12X\n\x0fpartial_success\x18\x01 \x01(\x0b\x32?.opentelemetry.proto.collector.logs.v1.ExportLogsPartialSuccess\"O\n\x18\x45xportLogsPartialSuccess\x12\x1c\n\x14rejected_log_records\x18\x01 \x01(\x03\x12\x15\n\rerror_message\x18\x02 \x01(\t2\x9d\x01\n\x0bLogsService\x12\x8d\x01\n\x06\x45xport\x12?.opentelemetry.proto.collector.logs.v1.ExportLogsServiceRequest\x1a@.opentelemetry.proto.collector.logs.v1.ExportLogsServiceResponse\"\x00\x42\x98\x01\n(io.opentelemetry.proto.collector.logs.v1B\x10LogsServiceProtoP\x01Z0go.opentelemetry.io/proto/otlp/collector/logs/v1\xaa\x02%OpenTelemetry.Proto.Collector.Logs.V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp-metrics/lib/opentelemetry/proto/collector/metrics/v1/metrics_service_pb.rb b/exporter/otlp-metrics/lib/opentelemetry/proto/collector/metrics/v1/metrics_service_pb.rb index 15654a2cfd..637fce86ce 100644 --- a/exporter/otlp-metrics/lib/opentelemetry/proto/collector/metrics/v1/metrics_service_pb.rb +++ b/exporter/otlp-metrics/lib/opentelemetry/proto/collector/metrics/v1/metrics_service_pb.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/collector/metrics/v1/metrics_service.proto @@ -5,20 +6,11 @@ require 'opentelemetry/proto/metrics/v1/metrics_pb' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/collector/metrics/v1/metrics_service.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest" do - repeated :resource_metrics, :message, 1, "opentelemetry.proto.metrics.v1.ResourceMetrics" - end - add_message "opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceResponse" do - optional :partial_success, :message, 1, "opentelemetry.proto.collector.metrics.v1.ExportMetricsPartialSuccess" - end - add_message "opentelemetry.proto.collector.metrics.v1.ExportMetricsPartialSuccess" do - optional :rejected_data_points, :int64, 1 - optional :error_message, :string, 2 - end - end -end + +descriptor_data = "\n>opentelemetry/proto/collector/metrics/v1/metrics_service.proto\x12(opentelemetry.proto.collector.metrics.v1\x1a,opentelemetry/proto/metrics/v1/metrics.proto\"h\n\x1b\x45xportMetricsServiceRequest\x12I\n\x10resource_metrics\x18\x01 \x03(\x0b\x32/.opentelemetry.proto.metrics.v1.ResourceMetrics\"~\n\x1c\x45xportMetricsServiceResponse\x12^\n\x0fpartial_success\x18\x01 \x01(\x0b\x32\x45.opentelemetry.proto.collector.metrics.v1.ExportMetricsPartialSuccess\"R\n\x1b\x45xportMetricsPartialSuccess\x12\x1c\n\x14rejected_data_points\x18\x01 \x01(\x03\x12\x15\n\rerror_message\x18\x02 \x01(\t2\xac\x01\n\x0eMetricsService\x12\x99\x01\n\x06\x45xport\x12\x45.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest\x1a\x46.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceResponse\"\x00\x42\xa4\x01\n+io.opentelemetry.proto.collector.metrics.v1B\x13MetricsServiceProtoP\x01Z3go.opentelemetry.io/proto/otlp/collector/metrics/v1\xaa\x02(OpenTelemetry.Proto.Collector.Metrics.V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp-metrics/lib/opentelemetry/proto/collector/trace/v1/trace_service_pb.rb b/exporter/otlp-metrics/lib/opentelemetry/proto/collector/trace/v1/trace_service_pb.rb index 4d0d62f22e..95f802c0f6 100644 --- a/exporter/otlp-metrics/lib/opentelemetry/proto/collector/trace/v1/trace_service_pb.rb +++ b/exporter/otlp-metrics/lib/opentelemetry/proto/collector/trace/v1/trace_service_pb.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/collector/trace/v1/trace_service.proto @@ -5,20 +6,11 @@ require 'opentelemetry/proto/trace/v1/trace_pb' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/collector/trace/v1/trace_service.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest" do - repeated :resource_spans, :message, 1, "opentelemetry.proto.trace.v1.ResourceSpans" - end - add_message "opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse" do - optional :partial_success, :message, 1, "opentelemetry.proto.collector.trace.v1.ExportTracePartialSuccess" - end - add_message "opentelemetry.proto.collector.trace.v1.ExportTracePartialSuccess" do - optional :rejected_spans, :int64, 1 - optional :error_message, :string, 2 - end - end -end + +descriptor_data = "\n:opentelemetry/proto/collector/trace/v1/trace_service.proto\x12&opentelemetry.proto.collector.trace.v1\x1a(opentelemetry/proto/trace/v1/trace.proto\"`\n\x19\x45xportTraceServiceRequest\x12\x43\n\x0eresource_spans\x18\x01 \x03(\x0b\x32+.opentelemetry.proto.trace.v1.ResourceSpans\"x\n\x1a\x45xportTraceServiceResponse\x12Z\n\x0fpartial_success\x18\x01 \x01(\x0b\x32\x41.opentelemetry.proto.collector.trace.v1.ExportTracePartialSuccess\"J\n\x19\x45xportTracePartialSuccess\x12\x16\n\x0erejected_spans\x18\x01 \x01(\x03\x12\x15\n\rerror_message\x18\x02 \x01(\t2\xa2\x01\n\x0cTraceService\x12\x91\x01\n\x06\x45xport\x12\x41.opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest\x1a\x42.opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse\"\x00\x42\x9c\x01\n)io.opentelemetry.proto.collector.trace.v1B\x11TraceServiceProtoP\x01Z1go.opentelemetry.io/proto/otlp/collector/trace/v1\xaa\x02&OpenTelemetry.Proto.Collector.Trace.V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp-metrics/lib/opentelemetry/proto/common/v1/common_pb.rb b/exporter/otlp-metrics/lib/opentelemetry/proto/common/v1/common_pb.rb index a49580ec51..a9a74ad335 100644 --- a/exporter/otlp-metrics/lib/opentelemetry/proto/common/v1/common_pb.rb +++ b/exporter/otlp-metrics/lib/opentelemetry/proto/common/v1/common_pb.rb @@ -1,39 +1,14 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/common/v1/common.proto require 'google/protobuf' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/common/v1/common.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.common.v1.AnyValue" do - oneof :value do - optional :string_value, :string, 1 - optional :bool_value, :bool, 2 - optional :int_value, :int64, 3 - optional :double_value, :double, 4 - optional :array_value, :message, 5, "opentelemetry.proto.common.v1.ArrayValue" - optional :kvlist_value, :message, 6, "opentelemetry.proto.common.v1.KeyValueList" - optional :bytes_value, :bytes, 7 - end - end - add_message "opentelemetry.proto.common.v1.ArrayValue" do - repeated :values, :message, 1, "opentelemetry.proto.common.v1.AnyValue" - end - add_message "opentelemetry.proto.common.v1.KeyValueList" do - repeated :values, :message, 1, "opentelemetry.proto.common.v1.KeyValue" - end - add_message "opentelemetry.proto.common.v1.KeyValue" do - optional :key, :string, 1 - optional :value, :message, 2, "opentelemetry.proto.common.v1.AnyValue" - end - add_message "opentelemetry.proto.common.v1.InstrumentationScope" do - optional :name, :string, 1 - optional :version, :string, 2 - repeated :attributes, :message, 3, "opentelemetry.proto.common.v1.KeyValue" - optional :dropped_attributes_count, :uint32, 4 - end - end -end + +descriptor_data = "\n*opentelemetry/proto/common/v1/common.proto\x12\x1dopentelemetry.proto.common.v1\"\x8c\x02\n\x08\x41nyValue\x12\x16\n\x0cstring_value\x18\x01 \x01(\tH\x00\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x00\x12\x13\n\tint_value\x18\x03 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x04 \x01(\x01H\x00\x12@\n\x0b\x61rray_value\x18\x05 \x01(\x0b\x32).opentelemetry.proto.common.v1.ArrayValueH\x00\x12\x43\n\x0ckvlist_value\x18\x06 \x01(\x0b\x32+.opentelemetry.proto.common.v1.KeyValueListH\x00\x12\x15\n\x0b\x62ytes_value\x18\x07 \x01(\x0cH\x00\x42\x07\n\x05value\"E\n\nArrayValue\x12\x37\n\x06values\x18\x01 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.AnyValue\"G\n\x0cKeyValueList\x12\x37\n\x06values\x18\x01 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\"O\n\x08KeyValue\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.opentelemetry.proto.common.v1.AnyValue\"\x94\x01\n\x14InstrumentationScope\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12;\n\nattributes\x18\x03 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12 \n\x18\x64ropped_attributes_count\x18\x04 \x01(\rB{\n io.opentelemetry.proto.common.v1B\x0b\x43ommonProtoP\x01Z(go.opentelemetry.io/proto/otlp/common/v1\xaa\x02\x1dOpenTelemetry.Proto.Common.V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp-metrics/lib/opentelemetry/proto/logs/v1/logs_pb.rb b/exporter/otlp-metrics/lib/opentelemetry/proto/logs/v1/logs_pb.rb index 2419b86bfa..ba19937d1a 100644 --- a/exporter/otlp-metrics/lib/opentelemetry/proto/logs/v1/logs_pb.rb +++ b/exporter/otlp-metrics/lib/opentelemetry/proto/logs/v1/logs_pb.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/logs/v1/logs.proto @@ -6,66 +7,11 @@ require 'opentelemetry/proto/common/v1/common_pb' require 'opentelemetry/proto/resource/v1/resource_pb' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/logs/v1/logs.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.logs.v1.LogsData" do - repeated :resource_logs, :message, 1, "opentelemetry.proto.logs.v1.ResourceLogs" - end - add_message "opentelemetry.proto.logs.v1.ResourceLogs" do - optional :resource, :message, 1, "opentelemetry.proto.resource.v1.Resource" - repeated :scope_logs, :message, 2, "opentelemetry.proto.logs.v1.ScopeLogs" - optional :schema_url, :string, 3 - end - add_message "opentelemetry.proto.logs.v1.ScopeLogs" do - optional :scope, :message, 1, "opentelemetry.proto.common.v1.InstrumentationScope" - repeated :log_records, :message, 2, "opentelemetry.proto.logs.v1.LogRecord" - optional :schema_url, :string, 3 - end - add_message "opentelemetry.proto.logs.v1.LogRecord" do - optional :time_unix_nano, :fixed64, 1 - optional :observed_time_unix_nano, :fixed64, 11 - optional :severity_number, :enum, 2, "opentelemetry.proto.logs.v1.SeverityNumber" - optional :severity_text, :string, 3 - optional :body, :message, 5, "opentelemetry.proto.common.v1.AnyValue" - repeated :attributes, :message, 6, "opentelemetry.proto.common.v1.KeyValue" - optional :dropped_attributes_count, :uint32, 7 - optional :flags, :fixed32, 8 - optional :trace_id, :bytes, 9 - optional :span_id, :bytes, 10 - end - add_enum "opentelemetry.proto.logs.v1.SeverityNumber" do - value :SEVERITY_NUMBER_UNSPECIFIED, 0 - value :SEVERITY_NUMBER_TRACE, 1 - value :SEVERITY_NUMBER_TRACE2, 2 - value :SEVERITY_NUMBER_TRACE3, 3 - value :SEVERITY_NUMBER_TRACE4, 4 - value :SEVERITY_NUMBER_DEBUG, 5 - value :SEVERITY_NUMBER_DEBUG2, 6 - value :SEVERITY_NUMBER_DEBUG3, 7 - value :SEVERITY_NUMBER_DEBUG4, 8 - value :SEVERITY_NUMBER_INFO, 9 - value :SEVERITY_NUMBER_INFO2, 10 - value :SEVERITY_NUMBER_INFO3, 11 - value :SEVERITY_NUMBER_INFO4, 12 - value :SEVERITY_NUMBER_WARN, 13 - value :SEVERITY_NUMBER_WARN2, 14 - value :SEVERITY_NUMBER_WARN3, 15 - value :SEVERITY_NUMBER_WARN4, 16 - value :SEVERITY_NUMBER_ERROR, 17 - value :SEVERITY_NUMBER_ERROR2, 18 - value :SEVERITY_NUMBER_ERROR3, 19 - value :SEVERITY_NUMBER_ERROR4, 20 - value :SEVERITY_NUMBER_FATAL, 21 - value :SEVERITY_NUMBER_FATAL2, 22 - value :SEVERITY_NUMBER_FATAL3, 23 - value :SEVERITY_NUMBER_FATAL4, 24 - end - add_enum "opentelemetry.proto.logs.v1.LogRecordFlags" do - value :LOG_RECORD_FLAGS_DO_NOT_USE, 0 - value :LOG_RECORD_FLAGS_TRACE_FLAGS_MASK, 255 - end - end -end + +descriptor_data = "\n&opentelemetry/proto/logs/v1/logs.proto\x12\x1bopentelemetry.proto.logs.v1\x1a*opentelemetry/proto/common/v1/common.proto\x1a.opentelemetry/proto/resource/v1/resource.proto\"L\n\x08LogsData\x12@\n\rresource_logs\x18\x01 \x03(\x0b\x32).opentelemetry.proto.logs.v1.ResourceLogs\"\xa3\x01\n\x0cResourceLogs\x12;\n\x08resource\x18\x01 \x01(\x0b\x32).opentelemetry.proto.resource.v1.Resource\x12:\n\nscope_logs\x18\x02 \x03(\x0b\x32&.opentelemetry.proto.logs.v1.ScopeLogs\x12\x12\n\nschema_url\x18\x03 \x01(\tJ\x06\x08\xe8\x07\x10\xe9\x07\"\xa0\x01\n\tScopeLogs\x12\x42\n\x05scope\x18\x01 \x01(\x0b\x32\x33.opentelemetry.proto.common.v1.InstrumentationScope\x12;\n\x0blog_records\x18\x02 \x03(\x0b\x32&.opentelemetry.proto.logs.v1.LogRecord\x12\x12\n\nschema_url\x18\x03 \x01(\t\"\xef\x02\n\tLogRecord\x12\x16\n\x0etime_unix_nano\x18\x01 \x01(\x06\x12\x1f\n\x17observed_time_unix_nano\x18\x0b \x01(\x06\x12\x44\n\x0fseverity_number\x18\x02 \x01(\x0e\x32+.opentelemetry.proto.logs.v1.SeverityNumber\x12\x15\n\rseverity_text\x18\x03 \x01(\t\x12\x35\n\x04\x62ody\x18\x05 \x01(\x0b\x32\'.opentelemetry.proto.common.v1.AnyValue\x12;\n\nattributes\x18\x06 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12 \n\x18\x64ropped_attributes_count\x18\x07 \x01(\r\x12\r\n\x05\x66lags\x18\x08 \x01(\x07\x12\x10\n\x08trace_id\x18\t \x01(\x0c\x12\x0f\n\x07span_id\x18\n \x01(\x0cJ\x04\x08\x04\x10\x05*\xc3\x05\n\x0eSeverityNumber\x12\x1f\n\x1bSEVERITY_NUMBER_UNSPECIFIED\x10\x00\x12\x19\n\x15SEVERITY_NUMBER_TRACE\x10\x01\x12\x1a\n\x16SEVERITY_NUMBER_TRACE2\x10\x02\x12\x1a\n\x16SEVERITY_NUMBER_TRACE3\x10\x03\x12\x1a\n\x16SEVERITY_NUMBER_TRACE4\x10\x04\x12\x19\n\x15SEVERITY_NUMBER_DEBUG\x10\x05\x12\x1a\n\x16SEVERITY_NUMBER_DEBUG2\x10\x06\x12\x1a\n\x16SEVERITY_NUMBER_DEBUG3\x10\x07\x12\x1a\n\x16SEVERITY_NUMBER_DEBUG4\x10\x08\x12\x18\n\x14SEVERITY_NUMBER_INFO\x10\t\x12\x19\n\x15SEVERITY_NUMBER_INFO2\x10\n\x12\x19\n\x15SEVERITY_NUMBER_INFO3\x10\x0b\x12\x19\n\x15SEVERITY_NUMBER_INFO4\x10\x0c\x12\x18\n\x14SEVERITY_NUMBER_WARN\x10\r\x12\x19\n\x15SEVERITY_NUMBER_WARN2\x10\x0e\x12\x19\n\x15SEVERITY_NUMBER_WARN3\x10\x0f\x12\x19\n\x15SEVERITY_NUMBER_WARN4\x10\x10\x12\x19\n\x15SEVERITY_NUMBER_ERROR\x10\x11\x12\x1a\n\x16SEVERITY_NUMBER_ERROR2\x10\x12\x12\x1a\n\x16SEVERITY_NUMBER_ERROR3\x10\x13\x12\x1a\n\x16SEVERITY_NUMBER_ERROR4\x10\x14\x12\x19\n\x15SEVERITY_NUMBER_FATAL\x10\x15\x12\x1a\n\x16SEVERITY_NUMBER_FATAL2\x10\x16\x12\x1a\n\x16SEVERITY_NUMBER_FATAL3\x10\x17\x12\x1a\n\x16SEVERITY_NUMBER_FATAL4\x10\x18*Y\n\x0eLogRecordFlags\x12\x1f\n\x1bLOG_RECORD_FLAGS_DO_NOT_USE\x10\x00\x12&\n!LOG_RECORD_FLAGS_TRACE_FLAGS_MASK\x10\xff\x01\x42s\n\x1eio.opentelemetry.proto.logs.v1B\tLogsProtoP\x01Z&go.opentelemetry.io/proto/otlp/logs/v1\xaa\x02\x1bOpenTelemetry.Proto.Logs.V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp-metrics/lib/opentelemetry/proto/metrics/v1/metrics_pb.rb b/exporter/otlp-metrics/lib/opentelemetry/proto/metrics/v1/metrics_pb.rb index 743381736b..ada5f22e09 100644 --- a/exporter/otlp-metrics/lib/opentelemetry/proto/metrics/v1/metrics_pb.rb +++ b/exporter/otlp-metrics/lib/opentelemetry/proto/metrics/v1/metrics_pb.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/metrics/v1/metrics.proto @@ -6,130 +7,11 @@ require 'opentelemetry/proto/common/v1/common_pb' require 'opentelemetry/proto/resource/v1/resource_pb' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/metrics/v1/metrics.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.metrics.v1.MetricsData" do - repeated :resource_metrics, :message, 1, "opentelemetry.proto.metrics.v1.ResourceMetrics" - end - add_message "opentelemetry.proto.metrics.v1.ResourceMetrics" do - optional :resource, :message, 1, "opentelemetry.proto.resource.v1.Resource" - repeated :scope_metrics, :message, 2, "opentelemetry.proto.metrics.v1.ScopeMetrics" - optional :schema_url, :string, 3 - end - add_message "opentelemetry.proto.metrics.v1.ScopeMetrics" do - optional :scope, :message, 1, "opentelemetry.proto.common.v1.InstrumentationScope" - repeated :metrics, :message, 2, "opentelemetry.proto.metrics.v1.Metric" - optional :schema_url, :string, 3 - end - add_message "opentelemetry.proto.metrics.v1.Metric" do - optional :name, :string, 1 - optional :description, :string, 2 - optional :unit, :string, 3 - oneof :data do - optional :gauge, :message, 5, "opentelemetry.proto.metrics.v1.Gauge" - optional :sum, :message, 7, "opentelemetry.proto.metrics.v1.Sum" - optional :histogram, :message, 9, "opentelemetry.proto.metrics.v1.Histogram" - optional :exponential_histogram, :message, 10, "opentelemetry.proto.metrics.v1.ExponentialHistogram" - optional :summary, :message, 11, "opentelemetry.proto.metrics.v1.Summary" - end - end - add_message "opentelemetry.proto.metrics.v1.Gauge" do - repeated :data_points, :message, 1, "opentelemetry.proto.metrics.v1.NumberDataPoint" - end - add_message "opentelemetry.proto.metrics.v1.Sum" do - repeated :data_points, :message, 1, "opentelemetry.proto.metrics.v1.NumberDataPoint" - optional :aggregation_temporality, :enum, 2, "opentelemetry.proto.metrics.v1.AggregationTemporality" - optional :is_monotonic, :bool, 3 - end - add_message "opentelemetry.proto.metrics.v1.Histogram" do - repeated :data_points, :message, 1, "opentelemetry.proto.metrics.v1.HistogramDataPoint" - optional :aggregation_temporality, :enum, 2, "opentelemetry.proto.metrics.v1.AggregationTemporality" - end - add_message "opentelemetry.proto.metrics.v1.ExponentialHistogram" do - repeated :data_points, :message, 1, "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint" - optional :aggregation_temporality, :enum, 2, "opentelemetry.proto.metrics.v1.AggregationTemporality" - end - add_message "opentelemetry.proto.metrics.v1.Summary" do - repeated :data_points, :message, 1, "opentelemetry.proto.metrics.v1.SummaryDataPoint" - end - add_message "opentelemetry.proto.metrics.v1.NumberDataPoint" do - repeated :attributes, :message, 7, "opentelemetry.proto.common.v1.KeyValue" - optional :start_time_unix_nano, :fixed64, 2 - optional :time_unix_nano, :fixed64, 3 - repeated :exemplars, :message, 5, "opentelemetry.proto.metrics.v1.Exemplar" - optional :flags, :uint32, 8 - oneof :value do - optional :as_double, :double, 4 - optional :as_int, :sfixed64, 6 - end - end - add_message "opentelemetry.proto.metrics.v1.HistogramDataPoint" do - repeated :attributes, :message, 9, "opentelemetry.proto.common.v1.KeyValue" - optional :start_time_unix_nano, :fixed64, 2 - optional :time_unix_nano, :fixed64, 3 - optional :count, :fixed64, 4 - proto3_optional :sum, :double, 5 - repeated :bucket_counts, :fixed64, 6 - repeated :explicit_bounds, :double, 7 - repeated :exemplars, :message, 8, "opentelemetry.proto.metrics.v1.Exemplar" - optional :flags, :uint32, 10 - proto3_optional :min, :double, 11 - proto3_optional :max, :double, 12 - end - add_message "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint" do - repeated :attributes, :message, 1, "opentelemetry.proto.common.v1.KeyValue" - optional :start_time_unix_nano, :fixed64, 2 - optional :time_unix_nano, :fixed64, 3 - optional :count, :fixed64, 4 - proto3_optional :sum, :double, 5 - optional :scale, :sint32, 6 - optional :zero_count, :fixed64, 7 - optional :positive, :message, 8, "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets" - optional :negative, :message, 9, "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets" - optional :flags, :uint32, 10 - repeated :exemplars, :message, 11, "opentelemetry.proto.metrics.v1.Exemplar" - proto3_optional :min, :double, 12 - proto3_optional :max, :double, 13 - optional :zero_threshold, :double, 14 - end - add_message "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets" do - optional :offset, :sint32, 1 - repeated :bucket_counts, :uint64, 2 - end - add_message "opentelemetry.proto.metrics.v1.SummaryDataPoint" do - repeated :attributes, :message, 7, "opentelemetry.proto.common.v1.KeyValue" - optional :start_time_unix_nano, :fixed64, 2 - optional :time_unix_nano, :fixed64, 3 - optional :count, :fixed64, 4 - optional :sum, :double, 5 - repeated :quantile_values, :message, 6, "opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile" - optional :flags, :uint32, 8 - end - add_message "opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile" do - optional :quantile, :double, 1 - optional :value, :double, 2 - end - add_message "opentelemetry.proto.metrics.v1.Exemplar" do - repeated :filtered_attributes, :message, 7, "opentelemetry.proto.common.v1.KeyValue" - optional :time_unix_nano, :fixed64, 2 - optional :span_id, :bytes, 4 - optional :trace_id, :bytes, 5 - oneof :value do - optional :as_double, :double, 3 - optional :as_int, :sfixed64, 6 - end - end - add_enum "opentelemetry.proto.metrics.v1.AggregationTemporality" do - value :AGGREGATION_TEMPORALITY_UNSPECIFIED, 0 - value :AGGREGATION_TEMPORALITY_DELTA, 1 - value :AGGREGATION_TEMPORALITY_CUMULATIVE, 2 - end - add_enum "opentelemetry.proto.metrics.v1.DataPointFlags" do - value :DATA_POINT_FLAGS_DO_NOT_USE, 0 - value :DATA_POINT_FLAGS_NO_RECORDED_VALUE_MASK, 1 - end - end -end + +descriptor_data = "\n,opentelemetry/proto/metrics/v1/metrics.proto\x12\x1eopentelemetry.proto.metrics.v1\x1a*opentelemetry/proto/common/v1/common.proto\x1a.opentelemetry/proto/resource/v1/resource.proto\"X\n\x0bMetricsData\x12I\n\x10resource_metrics\x18\x01 \x03(\x0b\x32/.opentelemetry.proto.metrics.v1.ResourceMetrics\"\xaf\x01\n\x0fResourceMetrics\x12;\n\x08resource\x18\x01 \x01(\x0b\x32).opentelemetry.proto.resource.v1.Resource\x12\x43\n\rscope_metrics\x18\x02 \x03(\x0b\x32,.opentelemetry.proto.metrics.v1.ScopeMetrics\x12\x12\n\nschema_url\x18\x03 \x01(\tJ\x06\x08\xe8\x07\x10\xe9\x07\"\x9f\x01\n\x0cScopeMetrics\x12\x42\n\x05scope\x18\x01 \x01(\x0b\x32\x33.opentelemetry.proto.common.v1.InstrumentationScope\x12\x37\n\x07metrics\x18\x02 \x03(\x0b\x32&.opentelemetry.proto.metrics.v1.Metric\x12\x12\n\nschema_url\x18\x03 \x01(\t\"\x92\x03\n\x06Metric\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0c\n\x04unit\x18\x03 \x01(\t\x12\x36\n\x05gauge\x18\x05 \x01(\x0b\x32%.opentelemetry.proto.metrics.v1.GaugeH\x00\x12\x32\n\x03sum\x18\x07 \x01(\x0b\x32#.opentelemetry.proto.metrics.v1.SumH\x00\x12>\n\thistogram\x18\t \x01(\x0b\x32).opentelemetry.proto.metrics.v1.HistogramH\x00\x12U\n\x15\x65xponential_histogram\x18\n \x01(\x0b\x32\x34.opentelemetry.proto.metrics.v1.ExponentialHistogramH\x00\x12:\n\x07summary\x18\x0b \x01(\x0b\x32\'.opentelemetry.proto.metrics.v1.SummaryH\x00\x42\x06\n\x04\x64\x61taJ\x04\x08\x04\x10\x05J\x04\x08\x06\x10\x07J\x04\x08\x08\x10\t\"M\n\x05Gauge\x12\x44\n\x0b\x64\x61ta_points\x18\x01 \x03(\x0b\x32/.opentelemetry.proto.metrics.v1.NumberDataPoint\"\xba\x01\n\x03Sum\x12\x44\n\x0b\x64\x61ta_points\x18\x01 \x03(\x0b\x32/.opentelemetry.proto.metrics.v1.NumberDataPoint\x12W\n\x17\x61ggregation_temporality\x18\x02 \x01(\x0e\x32\x36.opentelemetry.proto.metrics.v1.AggregationTemporality\x12\x14\n\x0cis_monotonic\x18\x03 \x01(\x08\"\xad\x01\n\tHistogram\x12G\n\x0b\x64\x61ta_points\x18\x01 \x03(\x0b\x32\x32.opentelemetry.proto.metrics.v1.HistogramDataPoint\x12W\n\x17\x61ggregation_temporality\x18\x02 \x01(\x0e\x32\x36.opentelemetry.proto.metrics.v1.AggregationTemporality\"\xc3\x01\n\x14\x45xponentialHistogram\x12R\n\x0b\x64\x61ta_points\x18\x01 \x03(\x0b\x32=.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint\x12W\n\x17\x61ggregation_temporality\x18\x02 \x01(\x0e\x32\x36.opentelemetry.proto.metrics.v1.AggregationTemporality\"P\n\x07Summary\x12\x45\n\x0b\x64\x61ta_points\x18\x01 \x03(\x0b\x32\x30.opentelemetry.proto.metrics.v1.SummaryDataPoint\"\x86\x02\n\x0fNumberDataPoint\x12;\n\nattributes\x18\x07 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12\x1c\n\x14start_time_unix_nano\x18\x02 \x01(\x06\x12\x16\n\x0etime_unix_nano\x18\x03 \x01(\x06\x12\x13\n\tas_double\x18\x04 \x01(\x01H\x00\x12\x10\n\x06\x61s_int\x18\x06 \x01(\x10H\x00\x12;\n\texemplars\x18\x05 \x03(\x0b\x32(.opentelemetry.proto.metrics.v1.Exemplar\x12\r\n\x05\x66lags\x18\x08 \x01(\rB\x07\n\x05valueJ\x04\x08\x01\x10\x02\"\xe6\x02\n\x12HistogramDataPoint\x12;\n\nattributes\x18\t \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12\x1c\n\x14start_time_unix_nano\x18\x02 \x01(\x06\x12\x16\n\x0etime_unix_nano\x18\x03 \x01(\x06\x12\r\n\x05\x63ount\x18\x04 \x01(\x06\x12\x10\n\x03sum\x18\x05 \x01(\x01H\x00\x88\x01\x01\x12\x15\n\rbucket_counts\x18\x06 \x03(\x06\x12\x17\n\x0f\x65xplicit_bounds\x18\x07 \x03(\x01\x12;\n\texemplars\x18\x08 \x03(\x0b\x32(.opentelemetry.proto.metrics.v1.Exemplar\x12\r\n\x05\x66lags\x18\n \x01(\r\x12\x10\n\x03min\x18\x0b \x01(\x01H\x01\x88\x01\x01\x12\x10\n\x03max\x18\x0c \x01(\x01H\x02\x88\x01\x01\x42\x06\n\x04_sumB\x06\n\x04_minB\x06\n\x04_maxJ\x04\x08\x01\x10\x02\"\xda\x04\n\x1d\x45xponentialHistogramDataPoint\x12;\n\nattributes\x18\x01 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12\x1c\n\x14start_time_unix_nano\x18\x02 \x01(\x06\x12\x16\n\x0etime_unix_nano\x18\x03 \x01(\x06\x12\r\n\x05\x63ount\x18\x04 \x01(\x06\x12\x10\n\x03sum\x18\x05 \x01(\x01H\x00\x88\x01\x01\x12\r\n\x05scale\x18\x06 \x01(\x11\x12\x12\n\nzero_count\x18\x07 \x01(\x06\x12W\n\x08positive\x18\x08 \x01(\x0b\x32\x45.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets\x12W\n\x08negative\x18\t \x01(\x0b\x32\x45.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets\x12\r\n\x05\x66lags\x18\n \x01(\r\x12;\n\texemplars\x18\x0b \x03(\x0b\x32(.opentelemetry.proto.metrics.v1.Exemplar\x12\x10\n\x03min\x18\x0c \x01(\x01H\x01\x88\x01\x01\x12\x10\n\x03max\x18\r \x01(\x01H\x02\x88\x01\x01\x12\x16\n\x0ezero_threshold\x18\x0e \x01(\x01\x1a\x30\n\x07\x42uckets\x12\x0e\n\x06offset\x18\x01 \x01(\x11\x12\x15\n\rbucket_counts\x18\x02 \x03(\x04\x42\x06\n\x04_sumB\x06\n\x04_minB\x06\n\x04_max\"\xc5\x02\n\x10SummaryDataPoint\x12;\n\nattributes\x18\x07 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12\x1c\n\x14start_time_unix_nano\x18\x02 \x01(\x06\x12\x16\n\x0etime_unix_nano\x18\x03 \x01(\x06\x12\r\n\x05\x63ount\x18\x04 \x01(\x06\x12\x0b\n\x03sum\x18\x05 \x01(\x01\x12Y\n\x0fquantile_values\x18\x06 \x03(\x0b\x32@.opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile\x12\r\n\x05\x66lags\x18\x08 \x01(\r\x1a\x32\n\x0fValueAtQuantile\x12\x10\n\x08quantile\x18\x01 \x01(\x01\x12\r\n\x05value\x18\x02 \x01(\x01J\x04\x08\x01\x10\x02\"\xc1\x01\n\x08\x45xemplar\x12\x44\n\x13\x66iltered_attributes\x18\x07 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12\x16\n\x0etime_unix_nano\x18\x02 \x01(\x06\x12\x13\n\tas_double\x18\x03 \x01(\x01H\x00\x12\x10\n\x06\x61s_int\x18\x06 \x01(\x10H\x00\x12\x0f\n\x07span_id\x18\x04 \x01(\x0c\x12\x10\n\x08trace_id\x18\x05 \x01(\x0c\x42\x07\n\x05valueJ\x04\x08\x01\x10\x02*\x8c\x01\n\x16\x41ggregationTemporality\x12\'\n#AGGREGATION_TEMPORALITY_UNSPECIFIED\x10\x00\x12!\n\x1d\x41GGREGATION_TEMPORALITY_DELTA\x10\x01\x12&\n\"AGGREGATION_TEMPORALITY_CUMULATIVE\x10\x02*^\n\x0e\x44\x61taPointFlags\x12\x1f\n\x1b\x44\x41TA_POINT_FLAGS_DO_NOT_USE\x10\x00\x12+\n\'DATA_POINT_FLAGS_NO_RECORDED_VALUE_MASK\x10\x01\x42\x7f\n!io.opentelemetry.proto.metrics.v1B\x0cMetricsProtoP\x01Z)go.opentelemetry.io/proto/otlp/metrics/v1\xaa\x02\x1eOpenTelemetry.Proto.Metrics.V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp-metrics/lib/opentelemetry/proto/resource/v1/resource_pb.rb b/exporter/otlp-metrics/lib/opentelemetry/proto/resource/v1/resource_pb.rb index a10d5ad1f5..67abefd477 100644 --- a/exporter/otlp-metrics/lib/opentelemetry/proto/resource/v1/resource_pb.rb +++ b/exporter/otlp-metrics/lib/opentelemetry/proto/resource/v1/resource_pb.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/resource/v1/resource.proto @@ -5,14 +6,11 @@ require 'opentelemetry/proto/common/v1/common_pb' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/resource/v1/resource.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.resource.v1.Resource" do - repeated :attributes, :message, 1, "opentelemetry.proto.common.v1.KeyValue" - optional :dropped_attributes_count, :uint32, 2 - end - end -end + +descriptor_data = "\n.opentelemetry/proto/resource/v1/resource.proto\x12\x1fopentelemetry.proto.resource.v1\x1a*opentelemetry/proto/common/v1/common.proto\"i\n\x08Resource\x12;\n\nattributes\x18\x01 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12 \n\x18\x64ropped_attributes_count\x18\x02 \x01(\rB\x83\x01\n\"io.opentelemetry.proto.resource.v1B\rResourceProtoP\x01Z*go.opentelemetry.io/proto/otlp/resource/v1\xaa\x02\x1fOpenTelemetry.Proto.Resource.V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp-metrics/lib/opentelemetry/proto/trace/v1/trace_pb.rb b/exporter/otlp-metrics/lib/opentelemetry/proto/trace/v1/trace_pb.rb index 48c5737352..cb45baa18b 100644 --- a/exporter/otlp-metrics/lib/opentelemetry/proto/trace/v1/trace_pb.rb +++ b/exporter/otlp-metrics/lib/opentelemetry/proto/trace/v1/trace_pb.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/trace/v1/trace.proto @@ -6,70 +7,11 @@ require 'opentelemetry/proto/common/v1/common_pb' require 'opentelemetry/proto/resource/v1/resource_pb' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/trace/v1/trace.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.trace.v1.TracesData" do - repeated :resource_spans, :message, 1, "opentelemetry.proto.trace.v1.ResourceSpans" - end - add_message "opentelemetry.proto.trace.v1.ResourceSpans" do - optional :resource, :message, 1, "opentelemetry.proto.resource.v1.Resource" - repeated :scope_spans, :message, 2, "opentelemetry.proto.trace.v1.ScopeSpans" - optional :schema_url, :string, 3 - end - add_message "opentelemetry.proto.trace.v1.ScopeSpans" do - optional :scope, :message, 1, "opentelemetry.proto.common.v1.InstrumentationScope" - repeated :spans, :message, 2, "opentelemetry.proto.trace.v1.Span" - optional :schema_url, :string, 3 - end - add_message "opentelemetry.proto.trace.v1.Span" do - optional :trace_id, :bytes, 1 - optional :span_id, :bytes, 2 - optional :trace_state, :string, 3 - optional :parent_span_id, :bytes, 4 - optional :name, :string, 5 - optional :kind, :enum, 6, "opentelemetry.proto.trace.v1.Span.SpanKind" - optional :start_time_unix_nano, :fixed64, 7 - optional :end_time_unix_nano, :fixed64, 8 - repeated :attributes, :message, 9, "opentelemetry.proto.common.v1.KeyValue" - optional :dropped_attributes_count, :uint32, 10 - repeated :events, :message, 11, "opentelemetry.proto.trace.v1.Span.Event" - optional :dropped_events_count, :uint32, 12 - repeated :links, :message, 13, "opentelemetry.proto.trace.v1.Span.Link" - optional :dropped_links_count, :uint32, 14 - optional :status, :message, 15, "opentelemetry.proto.trace.v1.Status" - end - add_message "opentelemetry.proto.trace.v1.Span.Event" do - optional :time_unix_nano, :fixed64, 1 - optional :name, :string, 2 - repeated :attributes, :message, 3, "opentelemetry.proto.common.v1.KeyValue" - optional :dropped_attributes_count, :uint32, 4 - end - add_message "opentelemetry.proto.trace.v1.Span.Link" do - optional :trace_id, :bytes, 1 - optional :span_id, :bytes, 2 - optional :trace_state, :string, 3 - repeated :attributes, :message, 4, "opentelemetry.proto.common.v1.KeyValue" - optional :dropped_attributes_count, :uint32, 5 - end - add_enum "opentelemetry.proto.trace.v1.Span.SpanKind" do - value :SPAN_KIND_UNSPECIFIED, 0 - value :SPAN_KIND_INTERNAL, 1 - value :SPAN_KIND_SERVER, 2 - value :SPAN_KIND_CLIENT, 3 - value :SPAN_KIND_PRODUCER, 4 - value :SPAN_KIND_CONSUMER, 5 - end - add_message "opentelemetry.proto.trace.v1.Status" do - optional :message, :string, 2 - optional :code, :enum, 3, "opentelemetry.proto.trace.v1.Status.StatusCode" - end - add_enum "opentelemetry.proto.trace.v1.Status.StatusCode" do - value :STATUS_CODE_UNSET, 0 - value :STATUS_CODE_OK, 1 - value :STATUS_CODE_ERROR, 2 - end - end -end + +descriptor_data = "\n(opentelemetry/proto/trace/v1/trace.proto\x12\x1copentelemetry.proto.trace.v1\x1a*opentelemetry/proto/common/v1/common.proto\x1a.opentelemetry/proto/resource/v1/resource.proto\"Q\n\nTracesData\x12\x43\n\x0eresource_spans\x18\x01 \x03(\x0b\x32+.opentelemetry.proto.trace.v1.ResourceSpans\"\xa7\x01\n\rResourceSpans\x12;\n\x08resource\x18\x01 \x01(\x0b\x32).opentelemetry.proto.resource.v1.Resource\x12=\n\x0bscope_spans\x18\x02 \x03(\x0b\x32(.opentelemetry.proto.trace.v1.ScopeSpans\x12\x12\n\nschema_url\x18\x03 \x01(\tJ\x06\x08\xe8\x07\x10\xe9\x07\"\x97\x01\n\nScopeSpans\x12\x42\n\x05scope\x18\x01 \x01(\x0b\x32\x33.opentelemetry.proto.common.v1.InstrumentationScope\x12\x31\n\x05spans\x18\x02 \x03(\x0b\x32\".opentelemetry.proto.trace.v1.Span\x12\x12\n\nschema_url\x18\x03 \x01(\t\"\xe6\x07\n\x04Span\x12\x10\n\x08trace_id\x18\x01 \x01(\x0c\x12\x0f\n\x07span_id\x18\x02 \x01(\x0c\x12\x13\n\x0btrace_state\x18\x03 \x01(\t\x12\x16\n\x0eparent_span_id\x18\x04 \x01(\x0c\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x39\n\x04kind\x18\x06 \x01(\x0e\x32+.opentelemetry.proto.trace.v1.Span.SpanKind\x12\x1c\n\x14start_time_unix_nano\x18\x07 \x01(\x06\x12\x1a\n\x12\x65nd_time_unix_nano\x18\x08 \x01(\x06\x12;\n\nattributes\x18\t \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12 \n\x18\x64ropped_attributes_count\x18\n \x01(\r\x12\x38\n\x06\x65vents\x18\x0b \x03(\x0b\x32(.opentelemetry.proto.trace.v1.Span.Event\x12\x1c\n\x14\x64ropped_events_count\x18\x0c \x01(\r\x12\x36\n\x05links\x18\r \x03(\x0b\x32\'.opentelemetry.proto.trace.v1.Span.Link\x12\x1b\n\x13\x64ropped_links_count\x18\x0e \x01(\r\x12\x34\n\x06status\x18\x0f \x01(\x0b\x32$.opentelemetry.proto.trace.v1.Status\x1a\x8c\x01\n\x05\x45vent\x12\x16\n\x0etime_unix_nano\x18\x01 \x01(\x06\x12\x0c\n\x04name\x18\x02 \x01(\t\x12;\n\nattributes\x18\x03 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12 \n\x18\x64ropped_attributes_count\x18\x04 \x01(\r\x1a\x9d\x01\n\x04Link\x12\x10\n\x08trace_id\x18\x01 \x01(\x0c\x12\x0f\n\x07span_id\x18\x02 \x01(\x0c\x12\x13\n\x0btrace_state\x18\x03 \x01(\t\x12;\n\nattributes\x18\x04 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12 \n\x18\x64ropped_attributes_count\x18\x05 \x01(\r\"\x99\x01\n\x08SpanKind\x12\x19\n\x15SPAN_KIND_UNSPECIFIED\x10\x00\x12\x16\n\x12SPAN_KIND_INTERNAL\x10\x01\x12\x14\n\x10SPAN_KIND_SERVER\x10\x02\x12\x14\n\x10SPAN_KIND_CLIENT\x10\x03\x12\x16\n\x12SPAN_KIND_PRODUCER\x10\x04\x12\x16\n\x12SPAN_KIND_CONSUMER\x10\x05\"\xae\x01\n\x06Status\x12\x0f\n\x07message\x18\x02 \x01(\t\x12=\n\x04\x63ode\x18\x03 \x01(\x0e\x32/.opentelemetry.proto.trace.v1.Status.StatusCode\"N\n\nStatusCode\x12\x15\n\x11STATUS_CODE_UNSET\x10\x00\x12\x12\n\x0eSTATUS_CODE_OK\x10\x01\x12\x15\n\x11STATUS_CODE_ERROR\x10\x02J\x04\x08\x01\x10\x02\x42w\n\x1fio.opentelemetry.proto.trace.v1B\nTraceProtoP\x01Z\'go.opentelemetry.io/proto/otlp/trace/v1\xaa\x02\x1cOpenTelemetry.Proto.Trace.V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp-metrics/opentelemetry-exporter-otlp-metrics.gemspec b/exporter/otlp-metrics/opentelemetry-exporter-otlp-metrics.gemspec index 66eb57d918..655be1d78c 100644 --- a/exporter/otlp-metrics/opentelemetry-exporter-otlp-metrics.gemspec +++ b/exporter/otlp-metrics/opentelemetry-exporter-otlp-metrics.gemspec @@ -26,7 +26,7 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.0' spec.add_dependency 'googleapis-common-protos-types', '~> 1.3' - spec.add_dependency 'google-protobuf', '~> 3.14' + spec.add_dependency 'google-protobuf', '>= 3.18', '< 5.0' spec.add_dependency 'opentelemetry-api', '~> 1.1' spec.add_dependency 'opentelemetry-common', '~> 0.20' spec.add_dependency 'opentelemetry-sdk', '~> 1.2' diff --git a/exporter/otlp/CHANGELOG.md b/exporter/otlp/CHANGELOG.md index 7cae65894b..88ee03a7dc 100644 --- a/exporter/otlp/CHANGELOG.md +++ b/exporter/otlp/CHANGELOG.md @@ -1,5 +1,17 @@ # Release History: opentelemetry-exporter-otlp +### v0.28.1 / 2024-07-24 + +* ADDED: Improve SSL error logging. + +### v0.28.0 / 2024-06-19 + +* ADDED: Bump google_protobuf >=3.18, < 5.a + +### v0.27.0 / 2024-04-19 + +* ADDED: Add stats for serialization time in otlp exporter + ### v0.26.3 / 2024-02-01 * FIXED: do not log request failure in backoff? diff --git a/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb b/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb index 55d8fae054..1f32c4bd19 100644 --- a/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb +++ b/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb @@ -184,8 +184,9 @@ def send_bytes(bytes, timeout:) # rubocop:disable Metrics/CyclomaticComplexity, rescue Net::OpenTimeout, Net::ReadTimeout retry if backoff?(retry_count: retry_count += 1, reason: 'timeout') return FAILURE - rescue OpenSSL::SSL::SSLError + rescue OpenSSL::SSL::SSLError => e retry if backoff?(retry_count: retry_count += 1, reason: 'openssl_error') + OpenTelemetry.handle_error(exception: e, message: 'SSL error in OTLP::Exporter#send_bytes') return FAILURE rescue SocketError retry if backoff?(retry_count: retry_count += 1, reason: 'socket_error') @@ -271,6 +272,7 @@ def backoff?(retry_count:, reason:, retry_after: nil) # rubocop:disable Metrics/ end def encode(span_data) # rubocop:disable Metrics/MethodLength, Metrics/CyclomaticComplexity + start = Process.clock_gettime(Process::CLOCK_MONOTONIC) Opentelemetry::Proto::Collector::Trace::V1::ExportTraceServiceRequest.encode( Opentelemetry::Proto::Collector::Trace::V1::ExportTraceServiceRequest.new( resource_spans: span_data @@ -298,6 +300,11 @@ def encode(span_data) # rubocop:disable Metrics/MethodLength, Metrics/Cyclomatic rescue StandardError => e OpenTelemetry.handle_error(exception: e, message: 'unexpected error in OTLP::Exporter#encode') nil + ensure + stop = Process.clock_gettime(Process::CLOCK_MONOTONIC) + duration_ms = 1000.0 * (stop - start) + @metrics_reporter.record_value('otel.otlp_exporter.encode_duration', + value: duration_ms) end def as_otlp_span(span_data) # rubocop:disable Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity diff --git a/exporter/otlp/lib/opentelemetry/exporter/otlp/version.rb b/exporter/otlp/lib/opentelemetry/exporter/otlp/version.rb index 35e8a783b7..b12e7e7de2 100644 --- a/exporter/otlp/lib/opentelemetry/exporter/otlp/version.rb +++ b/exporter/otlp/lib/opentelemetry/exporter/otlp/version.rb @@ -8,7 +8,7 @@ module OpenTelemetry module Exporter module OTLP ## Current OpenTelemetry OTLP exporter version - VERSION = '0.26.3' + VERSION = '0.28.1' end end end diff --git a/exporter/otlp/lib/opentelemetry/proto/collector/logs/v1/logs_service_pb.rb b/exporter/otlp/lib/opentelemetry/proto/collector/logs/v1/logs_service_pb.rb index ceeb940e82..d243dfbc07 100644 --- a/exporter/otlp/lib/opentelemetry/proto/collector/logs/v1/logs_service_pb.rb +++ b/exporter/otlp/lib/opentelemetry/proto/collector/logs/v1/logs_service_pb.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/collector/logs/v1/logs_service.proto @@ -5,20 +6,11 @@ require 'opentelemetry/proto/logs/v1/logs_pb' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/collector/logs/v1/logs_service.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.collector.logs.v1.ExportLogsServiceRequest" do - repeated :resource_logs, :message, 1, "opentelemetry.proto.logs.v1.ResourceLogs" - end - add_message "opentelemetry.proto.collector.logs.v1.ExportLogsServiceResponse" do - optional :partial_success, :message, 1, "opentelemetry.proto.collector.logs.v1.ExportLogsPartialSuccess" - end - add_message "opentelemetry.proto.collector.logs.v1.ExportLogsPartialSuccess" do - optional :rejected_log_records, :int64, 1 - optional :error_message, :string, 2 - end - end -end + +descriptor_data = "\n8opentelemetry/proto/collector/logs/v1/logs_service.proto\x12%opentelemetry.proto.collector.logs.v1\x1a&opentelemetry/proto/logs/v1/logs.proto\"\\\n\x18\x45xportLogsServiceRequest\x12@\n\rresource_logs\x18\x01 \x03(\x0b\x32).opentelemetry.proto.logs.v1.ResourceLogs\"u\n\x19\x45xportLogsServiceResponse\x12X\n\x0fpartial_success\x18\x01 \x01(\x0b\x32?.opentelemetry.proto.collector.logs.v1.ExportLogsPartialSuccess\"O\n\x18\x45xportLogsPartialSuccess\x12\x1c\n\x14rejected_log_records\x18\x01 \x01(\x03\x12\x15\n\rerror_message\x18\x02 \x01(\t2\x9d\x01\n\x0bLogsService\x12\x8d\x01\n\x06\x45xport\x12?.opentelemetry.proto.collector.logs.v1.ExportLogsServiceRequest\x1a@.opentelemetry.proto.collector.logs.v1.ExportLogsServiceResponse\"\x00\x42\x98\x01\n(io.opentelemetry.proto.collector.logs.v1B\x10LogsServiceProtoP\x01Z0go.opentelemetry.io/proto/otlp/collector/logs/v1\xaa\x02%OpenTelemetry.Proto.Collector.Logs.V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp/lib/opentelemetry/proto/collector/metrics/v1/metrics_service_pb.rb b/exporter/otlp/lib/opentelemetry/proto/collector/metrics/v1/metrics_service_pb.rb index 15654a2cfd..637fce86ce 100644 --- a/exporter/otlp/lib/opentelemetry/proto/collector/metrics/v1/metrics_service_pb.rb +++ b/exporter/otlp/lib/opentelemetry/proto/collector/metrics/v1/metrics_service_pb.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/collector/metrics/v1/metrics_service.proto @@ -5,20 +6,11 @@ require 'opentelemetry/proto/metrics/v1/metrics_pb' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/collector/metrics/v1/metrics_service.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest" do - repeated :resource_metrics, :message, 1, "opentelemetry.proto.metrics.v1.ResourceMetrics" - end - add_message "opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceResponse" do - optional :partial_success, :message, 1, "opentelemetry.proto.collector.metrics.v1.ExportMetricsPartialSuccess" - end - add_message "opentelemetry.proto.collector.metrics.v1.ExportMetricsPartialSuccess" do - optional :rejected_data_points, :int64, 1 - optional :error_message, :string, 2 - end - end -end + +descriptor_data = "\n>opentelemetry/proto/collector/metrics/v1/metrics_service.proto\x12(opentelemetry.proto.collector.metrics.v1\x1a,opentelemetry/proto/metrics/v1/metrics.proto\"h\n\x1b\x45xportMetricsServiceRequest\x12I\n\x10resource_metrics\x18\x01 \x03(\x0b\x32/.opentelemetry.proto.metrics.v1.ResourceMetrics\"~\n\x1c\x45xportMetricsServiceResponse\x12^\n\x0fpartial_success\x18\x01 \x01(\x0b\x32\x45.opentelemetry.proto.collector.metrics.v1.ExportMetricsPartialSuccess\"R\n\x1b\x45xportMetricsPartialSuccess\x12\x1c\n\x14rejected_data_points\x18\x01 \x01(\x03\x12\x15\n\rerror_message\x18\x02 \x01(\t2\xac\x01\n\x0eMetricsService\x12\x99\x01\n\x06\x45xport\x12\x45.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest\x1a\x46.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceResponse\"\x00\x42\xa4\x01\n+io.opentelemetry.proto.collector.metrics.v1B\x13MetricsServiceProtoP\x01Z3go.opentelemetry.io/proto/otlp/collector/metrics/v1\xaa\x02(OpenTelemetry.Proto.Collector.Metrics.V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp/lib/opentelemetry/proto/collector/trace/v1/trace_service_pb.rb b/exporter/otlp/lib/opentelemetry/proto/collector/trace/v1/trace_service_pb.rb index 4d0d62f22e..95f802c0f6 100644 --- a/exporter/otlp/lib/opentelemetry/proto/collector/trace/v1/trace_service_pb.rb +++ b/exporter/otlp/lib/opentelemetry/proto/collector/trace/v1/trace_service_pb.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/collector/trace/v1/trace_service.proto @@ -5,20 +6,11 @@ require 'opentelemetry/proto/trace/v1/trace_pb' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/collector/trace/v1/trace_service.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest" do - repeated :resource_spans, :message, 1, "opentelemetry.proto.trace.v1.ResourceSpans" - end - add_message "opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse" do - optional :partial_success, :message, 1, "opentelemetry.proto.collector.trace.v1.ExportTracePartialSuccess" - end - add_message "opentelemetry.proto.collector.trace.v1.ExportTracePartialSuccess" do - optional :rejected_spans, :int64, 1 - optional :error_message, :string, 2 - end - end -end + +descriptor_data = "\n:opentelemetry/proto/collector/trace/v1/trace_service.proto\x12&opentelemetry.proto.collector.trace.v1\x1a(opentelemetry/proto/trace/v1/trace.proto\"`\n\x19\x45xportTraceServiceRequest\x12\x43\n\x0eresource_spans\x18\x01 \x03(\x0b\x32+.opentelemetry.proto.trace.v1.ResourceSpans\"x\n\x1a\x45xportTraceServiceResponse\x12Z\n\x0fpartial_success\x18\x01 \x01(\x0b\x32\x41.opentelemetry.proto.collector.trace.v1.ExportTracePartialSuccess\"J\n\x19\x45xportTracePartialSuccess\x12\x16\n\x0erejected_spans\x18\x01 \x01(\x03\x12\x15\n\rerror_message\x18\x02 \x01(\t2\xa2\x01\n\x0cTraceService\x12\x91\x01\n\x06\x45xport\x12\x41.opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest\x1a\x42.opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse\"\x00\x42\x9c\x01\n)io.opentelemetry.proto.collector.trace.v1B\x11TraceServiceProtoP\x01Z1go.opentelemetry.io/proto/otlp/collector/trace/v1\xaa\x02&OpenTelemetry.Proto.Collector.Trace.V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp/lib/opentelemetry/proto/common/v1/common_pb.rb b/exporter/otlp/lib/opentelemetry/proto/common/v1/common_pb.rb index a49580ec51..a9a74ad335 100644 --- a/exporter/otlp/lib/opentelemetry/proto/common/v1/common_pb.rb +++ b/exporter/otlp/lib/opentelemetry/proto/common/v1/common_pb.rb @@ -1,39 +1,14 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/common/v1/common.proto require 'google/protobuf' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/common/v1/common.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.common.v1.AnyValue" do - oneof :value do - optional :string_value, :string, 1 - optional :bool_value, :bool, 2 - optional :int_value, :int64, 3 - optional :double_value, :double, 4 - optional :array_value, :message, 5, "opentelemetry.proto.common.v1.ArrayValue" - optional :kvlist_value, :message, 6, "opentelemetry.proto.common.v1.KeyValueList" - optional :bytes_value, :bytes, 7 - end - end - add_message "opentelemetry.proto.common.v1.ArrayValue" do - repeated :values, :message, 1, "opentelemetry.proto.common.v1.AnyValue" - end - add_message "opentelemetry.proto.common.v1.KeyValueList" do - repeated :values, :message, 1, "opentelemetry.proto.common.v1.KeyValue" - end - add_message "opentelemetry.proto.common.v1.KeyValue" do - optional :key, :string, 1 - optional :value, :message, 2, "opentelemetry.proto.common.v1.AnyValue" - end - add_message "opentelemetry.proto.common.v1.InstrumentationScope" do - optional :name, :string, 1 - optional :version, :string, 2 - repeated :attributes, :message, 3, "opentelemetry.proto.common.v1.KeyValue" - optional :dropped_attributes_count, :uint32, 4 - end - end -end + +descriptor_data = "\n*opentelemetry/proto/common/v1/common.proto\x12\x1dopentelemetry.proto.common.v1\"\x8c\x02\n\x08\x41nyValue\x12\x16\n\x0cstring_value\x18\x01 \x01(\tH\x00\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x00\x12\x13\n\tint_value\x18\x03 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x04 \x01(\x01H\x00\x12@\n\x0b\x61rray_value\x18\x05 \x01(\x0b\x32).opentelemetry.proto.common.v1.ArrayValueH\x00\x12\x43\n\x0ckvlist_value\x18\x06 \x01(\x0b\x32+.opentelemetry.proto.common.v1.KeyValueListH\x00\x12\x15\n\x0b\x62ytes_value\x18\x07 \x01(\x0cH\x00\x42\x07\n\x05value\"E\n\nArrayValue\x12\x37\n\x06values\x18\x01 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.AnyValue\"G\n\x0cKeyValueList\x12\x37\n\x06values\x18\x01 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\"O\n\x08KeyValue\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.opentelemetry.proto.common.v1.AnyValue\"\x94\x01\n\x14InstrumentationScope\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12;\n\nattributes\x18\x03 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12 \n\x18\x64ropped_attributes_count\x18\x04 \x01(\rB{\n io.opentelemetry.proto.common.v1B\x0b\x43ommonProtoP\x01Z(go.opentelemetry.io/proto/otlp/common/v1\xaa\x02\x1dOpenTelemetry.Proto.Common.V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp/lib/opentelemetry/proto/logs/v1/logs_pb.rb b/exporter/otlp/lib/opentelemetry/proto/logs/v1/logs_pb.rb index 2419b86bfa..ba19937d1a 100644 --- a/exporter/otlp/lib/opentelemetry/proto/logs/v1/logs_pb.rb +++ b/exporter/otlp/lib/opentelemetry/proto/logs/v1/logs_pb.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/logs/v1/logs.proto @@ -6,66 +7,11 @@ require 'opentelemetry/proto/common/v1/common_pb' require 'opentelemetry/proto/resource/v1/resource_pb' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/logs/v1/logs.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.logs.v1.LogsData" do - repeated :resource_logs, :message, 1, "opentelemetry.proto.logs.v1.ResourceLogs" - end - add_message "opentelemetry.proto.logs.v1.ResourceLogs" do - optional :resource, :message, 1, "opentelemetry.proto.resource.v1.Resource" - repeated :scope_logs, :message, 2, "opentelemetry.proto.logs.v1.ScopeLogs" - optional :schema_url, :string, 3 - end - add_message "opentelemetry.proto.logs.v1.ScopeLogs" do - optional :scope, :message, 1, "opentelemetry.proto.common.v1.InstrumentationScope" - repeated :log_records, :message, 2, "opentelemetry.proto.logs.v1.LogRecord" - optional :schema_url, :string, 3 - end - add_message "opentelemetry.proto.logs.v1.LogRecord" do - optional :time_unix_nano, :fixed64, 1 - optional :observed_time_unix_nano, :fixed64, 11 - optional :severity_number, :enum, 2, "opentelemetry.proto.logs.v1.SeverityNumber" - optional :severity_text, :string, 3 - optional :body, :message, 5, "opentelemetry.proto.common.v1.AnyValue" - repeated :attributes, :message, 6, "opentelemetry.proto.common.v1.KeyValue" - optional :dropped_attributes_count, :uint32, 7 - optional :flags, :fixed32, 8 - optional :trace_id, :bytes, 9 - optional :span_id, :bytes, 10 - end - add_enum "opentelemetry.proto.logs.v1.SeverityNumber" do - value :SEVERITY_NUMBER_UNSPECIFIED, 0 - value :SEVERITY_NUMBER_TRACE, 1 - value :SEVERITY_NUMBER_TRACE2, 2 - value :SEVERITY_NUMBER_TRACE3, 3 - value :SEVERITY_NUMBER_TRACE4, 4 - value :SEVERITY_NUMBER_DEBUG, 5 - value :SEVERITY_NUMBER_DEBUG2, 6 - value :SEVERITY_NUMBER_DEBUG3, 7 - value :SEVERITY_NUMBER_DEBUG4, 8 - value :SEVERITY_NUMBER_INFO, 9 - value :SEVERITY_NUMBER_INFO2, 10 - value :SEVERITY_NUMBER_INFO3, 11 - value :SEVERITY_NUMBER_INFO4, 12 - value :SEVERITY_NUMBER_WARN, 13 - value :SEVERITY_NUMBER_WARN2, 14 - value :SEVERITY_NUMBER_WARN3, 15 - value :SEVERITY_NUMBER_WARN4, 16 - value :SEVERITY_NUMBER_ERROR, 17 - value :SEVERITY_NUMBER_ERROR2, 18 - value :SEVERITY_NUMBER_ERROR3, 19 - value :SEVERITY_NUMBER_ERROR4, 20 - value :SEVERITY_NUMBER_FATAL, 21 - value :SEVERITY_NUMBER_FATAL2, 22 - value :SEVERITY_NUMBER_FATAL3, 23 - value :SEVERITY_NUMBER_FATAL4, 24 - end - add_enum "opentelemetry.proto.logs.v1.LogRecordFlags" do - value :LOG_RECORD_FLAGS_DO_NOT_USE, 0 - value :LOG_RECORD_FLAGS_TRACE_FLAGS_MASK, 255 - end - end -end + +descriptor_data = "\n&opentelemetry/proto/logs/v1/logs.proto\x12\x1bopentelemetry.proto.logs.v1\x1a*opentelemetry/proto/common/v1/common.proto\x1a.opentelemetry/proto/resource/v1/resource.proto\"L\n\x08LogsData\x12@\n\rresource_logs\x18\x01 \x03(\x0b\x32).opentelemetry.proto.logs.v1.ResourceLogs\"\xa3\x01\n\x0cResourceLogs\x12;\n\x08resource\x18\x01 \x01(\x0b\x32).opentelemetry.proto.resource.v1.Resource\x12:\n\nscope_logs\x18\x02 \x03(\x0b\x32&.opentelemetry.proto.logs.v1.ScopeLogs\x12\x12\n\nschema_url\x18\x03 \x01(\tJ\x06\x08\xe8\x07\x10\xe9\x07\"\xa0\x01\n\tScopeLogs\x12\x42\n\x05scope\x18\x01 \x01(\x0b\x32\x33.opentelemetry.proto.common.v1.InstrumentationScope\x12;\n\x0blog_records\x18\x02 \x03(\x0b\x32&.opentelemetry.proto.logs.v1.LogRecord\x12\x12\n\nschema_url\x18\x03 \x01(\t\"\xef\x02\n\tLogRecord\x12\x16\n\x0etime_unix_nano\x18\x01 \x01(\x06\x12\x1f\n\x17observed_time_unix_nano\x18\x0b \x01(\x06\x12\x44\n\x0fseverity_number\x18\x02 \x01(\x0e\x32+.opentelemetry.proto.logs.v1.SeverityNumber\x12\x15\n\rseverity_text\x18\x03 \x01(\t\x12\x35\n\x04\x62ody\x18\x05 \x01(\x0b\x32\'.opentelemetry.proto.common.v1.AnyValue\x12;\n\nattributes\x18\x06 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12 \n\x18\x64ropped_attributes_count\x18\x07 \x01(\r\x12\r\n\x05\x66lags\x18\x08 \x01(\x07\x12\x10\n\x08trace_id\x18\t \x01(\x0c\x12\x0f\n\x07span_id\x18\n \x01(\x0cJ\x04\x08\x04\x10\x05*\xc3\x05\n\x0eSeverityNumber\x12\x1f\n\x1bSEVERITY_NUMBER_UNSPECIFIED\x10\x00\x12\x19\n\x15SEVERITY_NUMBER_TRACE\x10\x01\x12\x1a\n\x16SEVERITY_NUMBER_TRACE2\x10\x02\x12\x1a\n\x16SEVERITY_NUMBER_TRACE3\x10\x03\x12\x1a\n\x16SEVERITY_NUMBER_TRACE4\x10\x04\x12\x19\n\x15SEVERITY_NUMBER_DEBUG\x10\x05\x12\x1a\n\x16SEVERITY_NUMBER_DEBUG2\x10\x06\x12\x1a\n\x16SEVERITY_NUMBER_DEBUG3\x10\x07\x12\x1a\n\x16SEVERITY_NUMBER_DEBUG4\x10\x08\x12\x18\n\x14SEVERITY_NUMBER_INFO\x10\t\x12\x19\n\x15SEVERITY_NUMBER_INFO2\x10\n\x12\x19\n\x15SEVERITY_NUMBER_INFO3\x10\x0b\x12\x19\n\x15SEVERITY_NUMBER_INFO4\x10\x0c\x12\x18\n\x14SEVERITY_NUMBER_WARN\x10\r\x12\x19\n\x15SEVERITY_NUMBER_WARN2\x10\x0e\x12\x19\n\x15SEVERITY_NUMBER_WARN3\x10\x0f\x12\x19\n\x15SEVERITY_NUMBER_WARN4\x10\x10\x12\x19\n\x15SEVERITY_NUMBER_ERROR\x10\x11\x12\x1a\n\x16SEVERITY_NUMBER_ERROR2\x10\x12\x12\x1a\n\x16SEVERITY_NUMBER_ERROR3\x10\x13\x12\x1a\n\x16SEVERITY_NUMBER_ERROR4\x10\x14\x12\x19\n\x15SEVERITY_NUMBER_FATAL\x10\x15\x12\x1a\n\x16SEVERITY_NUMBER_FATAL2\x10\x16\x12\x1a\n\x16SEVERITY_NUMBER_FATAL3\x10\x17\x12\x1a\n\x16SEVERITY_NUMBER_FATAL4\x10\x18*Y\n\x0eLogRecordFlags\x12\x1f\n\x1bLOG_RECORD_FLAGS_DO_NOT_USE\x10\x00\x12&\n!LOG_RECORD_FLAGS_TRACE_FLAGS_MASK\x10\xff\x01\x42s\n\x1eio.opentelemetry.proto.logs.v1B\tLogsProtoP\x01Z&go.opentelemetry.io/proto/otlp/logs/v1\xaa\x02\x1bOpenTelemetry.Proto.Logs.V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp/lib/opentelemetry/proto/metrics/v1/metrics_pb.rb b/exporter/otlp/lib/opentelemetry/proto/metrics/v1/metrics_pb.rb index 743381736b..ada5f22e09 100644 --- a/exporter/otlp/lib/opentelemetry/proto/metrics/v1/metrics_pb.rb +++ b/exporter/otlp/lib/opentelemetry/proto/metrics/v1/metrics_pb.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/metrics/v1/metrics.proto @@ -6,130 +7,11 @@ require 'opentelemetry/proto/common/v1/common_pb' require 'opentelemetry/proto/resource/v1/resource_pb' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/metrics/v1/metrics.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.metrics.v1.MetricsData" do - repeated :resource_metrics, :message, 1, "opentelemetry.proto.metrics.v1.ResourceMetrics" - end - add_message "opentelemetry.proto.metrics.v1.ResourceMetrics" do - optional :resource, :message, 1, "opentelemetry.proto.resource.v1.Resource" - repeated :scope_metrics, :message, 2, "opentelemetry.proto.metrics.v1.ScopeMetrics" - optional :schema_url, :string, 3 - end - add_message "opentelemetry.proto.metrics.v1.ScopeMetrics" do - optional :scope, :message, 1, "opentelemetry.proto.common.v1.InstrumentationScope" - repeated :metrics, :message, 2, "opentelemetry.proto.metrics.v1.Metric" - optional :schema_url, :string, 3 - end - add_message "opentelemetry.proto.metrics.v1.Metric" do - optional :name, :string, 1 - optional :description, :string, 2 - optional :unit, :string, 3 - oneof :data do - optional :gauge, :message, 5, "opentelemetry.proto.metrics.v1.Gauge" - optional :sum, :message, 7, "opentelemetry.proto.metrics.v1.Sum" - optional :histogram, :message, 9, "opentelemetry.proto.metrics.v1.Histogram" - optional :exponential_histogram, :message, 10, "opentelemetry.proto.metrics.v1.ExponentialHistogram" - optional :summary, :message, 11, "opentelemetry.proto.metrics.v1.Summary" - end - end - add_message "opentelemetry.proto.metrics.v1.Gauge" do - repeated :data_points, :message, 1, "opentelemetry.proto.metrics.v1.NumberDataPoint" - end - add_message "opentelemetry.proto.metrics.v1.Sum" do - repeated :data_points, :message, 1, "opentelemetry.proto.metrics.v1.NumberDataPoint" - optional :aggregation_temporality, :enum, 2, "opentelemetry.proto.metrics.v1.AggregationTemporality" - optional :is_monotonic, :bool, 3 - end - add_message "opentelemetry.proto.metrics.v1.Histogram" do - repeated :data_points, :message, 1, "opentelemetry.proto.metrics.v1.HistogramDataPoint" - optional :aggregation_temporality, :enum, 2, "opentelemetry.proto.metrics.v1.AggregationTemporality" - end - add_message "opentelemetry.proto.metrics.v1.ExponentialHistogram" do - repeated :data_points, :message, 1, "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint" - optional :aggregation_temporality, :enum, 2, "opentelemetry.proto.metrics.v1.AggregationTemporality" - end - add_message "opentelemetry.proto.metrics.v1.Summary" do - repeated :data_points, :message, 1, "opentelemetry.proto.metrics.v1.SummaryDataPoint" - end - add_message "opentelemetry.proto.metrics.v1.NumberDataPoint" do - repeated :attributes, :message, 7, "opentelemetry.proto.common.v1.KeyValue" - optional :start_time_unix_nano, :fixed64, 2 - optional :time_unix_nano, :fixed64, 3 - repeated :exemplars, :message, 5, "opentelemetry.proto.metrics.v1.Exemplar" - optional :flags, :uint32, 8 - oneof :value do - optional :as_double, :double, 4 - optional :as_int, :sfixed64, 6 - end - end - add_message "opentelemetry.proto.metrics.v1.HistogramDataPoint" do - repeated :attributes, :message, 9, "opentelemetry.proto.common.v1.KeyValue" - optional :start_time_unix_nano, :fixed64, 2 - optional :time_unix_nano, :fixed64, 3 - optional :count, :fixed64, 4 - proto3_optional :sum, :double, 5 - repeated :bucket_counts, :fixed64, 6 - repeated :explicit_bounds, :double, 7 - repeated :exemplars, :message, 8, "opentelemetry.proto.metrics.v1.Exemplar" - optional :flags, :uint32, 10 - proto3_optional :min, :double, 11 - proto3_optional :max, :double, 12 - end - add_message "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint" do - repeated :attributes, :message, 1, "opentelemetry.proto.common.v1.KeyValue" - optional :start_time_unix_nano, :fixed64, 2 - optional :time_unix_nano, :fixed64, 3 - optional :count, :fixed64, 4 - proto3_optional :sum, :double, 5 - optional :scale, :sint32, 6 - optional :zero_count, :fixed64, 7 - optional :positive, :message, 8, "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets" - optional :negative, :message, 9, "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets" - optional :flags, :uint32, 10 - repeated :exemplars, :message, 11, "opentelemetry.proto.metrics.v1.Exemplar" - proto3_optional :min, :double, 12 - proto3_optional :max, :double, 13 - optional :zero_threshold, :double, 14 - end - add_message "opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets" do - optional :offset, :sint32, 1 - repeated :bucket_counts, :uint64, 2 - end - add_message "opentelemetry.proto.metrics.v1.SummaryDataPoint" do - repeated :attributes, :message, 7, "opentelemetry.proto.common.v1.KeyValue" - optional :start_time_unix_nano, :fixed64, 2 - optional :time_unix_nano, :fixed64, 3 - optional :count, :fixed64, 4 - optional :sum, :double, 5 - repeated :quantile_values, :message, 6, "opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile" - optional :flags, :uint32, 8 - end - add_message "opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile" do - optional :quantile, :double, 1 - optional :value, :double, 2 - end - add_message "opentelemetry.proto.metrics.v1.Exemplar" do - repeated :filtered_attributes, :message, 7, "opentelemetry.proto.common.v1.KeyValue" - optional :time_unix_nano, :fixed64, 2 - optional :span_id, :bytes, 4 - optional :trace_id, :bytes, 5 - oneof :value do - optional :as_double, :double, 3 - optional :as_int, :sfixed64, 6 - end - end - add_enum "opentelemetry.proto.metrics.v1.AggregationTemporality" do - value :AGGREGATION_TEMPORALITY_UNSPECIFIED, 0 - value :AGGREGATION_TEMPORALITY_DELTA, 1 - value :AGGREGATION_TEMPORALITY_CUMULATIVE, 2 - end - add_enum "opentelemetry.proto.metrics.v1.DataPointFlags" do - value :DATA_POINT_FLAGS_DO_NOT_USE, 0 - value :DATA_POINT_FLAGS_NO_RECORDED_VALUE_MASK, 1 - end - end -end + +descriptor_data = "\n,opentelemetry/proto/metrics/v1/metrics.proto\x12\x1eopentelemetry.proto.metrics.v1\x1a*opentelemetry/proto/common/v1/common.proto\x1a.opentelemetry/proto/resource/v1/resource.proto\"X\n\x0bMetricsData\x12I\n\x10resource_metrics\x18\x01 \x03(\x0b\x32/.opentelemetry.proto.metrics.v1.ResourceMetrics\"\xaf\x01\n\x0fResourceMetrics\x12;\n\x08resource\x18\x01 \x01(\x0b\x32).opentelemetry.proto.resource.v1.Resource\x12\x43\n\rscope_metrics\x18\x02 \x03(\x0b\x32,.opentelemetry.proto.metrics.v1.ScopeMetrics\x12\x12\n\nschema_url\x18\x03 \x01(\tJ\x06\x08\xe8\x07\x10\xe9\x07\"\x9f\x01\n\x0cScopeMetrics\x12\x42\n\x05scope\x18\x01 \x01(\x0b\x32\x33.opentelemetry.proto.common.v1.InstrumentationScope\x12\x37\n\x07metrics\x18\x02 \x03(\x0b\x32&.opentelemetry.proto.metrics.v1.Metric\x12\x12\n\nschema_url\x18\x03 \x01(\t\"\x92\x03\n\x06Metric\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0c\n\x04unit\x18\x03 \x01(\t\x12\x36\n\x05gauge\x18\x05 \x01(\x0b\x32%.opentelemetry.proto.metrics.v1.GaugeH\x00\x12\x32\n\x03sum\x18\x07 \x01(\x0b\x32#.opentelemetry.proto.metrics.v1.SumH\x00\x12>\n\thistogram\x18\t \x01(\x0b\x32).opentelemetry.proto.metrics.v1.HistogramH\x00\x12U\n\x15\x65xponential_histogram\x18\n \x01(\x0b\x32\x34.opentelemetry.proto.metrics.v1.ExponentialHistogramH\x00\x12:\n\x07summary\x18\x0b \x01(\x0b\x32\'.opentelemetry.proto.metrics.v1.SummaryH\x00\x42\x06\n\x04\x64\x61taJ\x04\x08\x04\x10\x05J\x04\x08\x06\x10\x07J\x04\x08\x08\x10\t\"M\n\x05Gauge\x12\x44\n\x0b\x64\x61ta_points\x18\x01 \x03(\x0b\x32/.opentelemetry.proto.metrics.v1.NumberDataPoint\"\xba\x01\n\x03Sum\x12\x44\n\x0b\x64\x61ta_points\x18\x01 \x03(\x0b\x32/.opentelemetry.proto.metrics.v1.NumberDataPoint\x12W\n\x17\x61ggregation_temporality\x18\x02 \x01(\x0e\x32\x36.opentelemetry.proto.metrics.v1.AggregationTemporality\x12\x14\n\x0cis_monotonic\x18\x03 \x01(\x08\"\xad\x01\n\tHistogram\x12G\n\x0b\x64\x61ta_points\x18\x01 \x03(\x0b\x32\x32.opentelemetry.proto.metrics.v1.HistogramDataPoint\x12W\n\x17\x61ggregation_temporality\x18\x02 \x01(\x0e\x32\x36.opentelemetry.proto.metrics.v1.AggregationTemporality\"\xc3\x01\n\x14\x45xponentialHistogram\x12R\n\x0b\x64\x61ta_points\x18\x01 \x03(\x0b\x32=.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint\x12W\n\x17\x61ggregation_temporality\x18\x02 \x01(\x0e\x32\x36.opentelemetry.proto.metrics.v1.AggregationTemporality\"P\n\x07Summary\x12\x45\n\x0b\x64\x61ta_points\x18\x01 \x03(\x0b\x32\x30.opentelemetry.proto.metrics.v1.SummaryDataPoint\"\x86\x02\n\x0fNumberDataPoint\x12;\n\nattributes\x18\x07 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12\x1c\n\x14start_time_unix_nano\x18\x02 \x01(\x06\x12\x16\n\x0etime_unix_nano\x18\x03 \x01(\x06\x12\x13\n\tas_double\x18\x04 \x01(\x01H\x00\x12\x10\n\x06\x61s_int\x18\x06 \x01(\x10H\x00\x12;\n\texemplars\x18\x05 \x03(\x0b\x32(.opentelemetry.proto.metrics.v1.Exemplar\x12\r\n\x05\x66lags\x18\x08 \x01(\rB\x07\n\x05valueJ\x04\x08\x01\x10\x02\"\xe6\x02\n\x12HistogramDataPoint\x12;\n\nattributes\x18\t \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12\x1c\n\x14start_time_unix_nano\x18\x02 \x01(\x06\x12\x16\n\x0etime_unix_nano\x18\x03 \x01(\x06\x12\r\n\x05\x63ount\x18\x04 \x01(\x06\x12\x10\n\x03sum\x18\x05 \x01(\x01H\x00\x88\x01\x01\x12\x15\n\rbucket_counts\x18\x06 \x03(\x06\x12\x17\n\x0f\x65xplicit_bounds\x18\x07 \x03(\x01\x12;\n\texemplars\x18\x08 \x03(\x0b\x32(.opentelemetry.proto.metrics.v1.Exemplar\x12\r\n\x05\x66lags\x18\n \x01(\r\x12\x10\n\x03min\x18\x0b \x01(\x01H\x01\x88\x01\x01\x12\x10\n\x03max\x18\x0c \x01(\x01H\x02\x88\x01\x01\x42\x06\n\x04_sumB\x06\n\x04_minB\x06\n\x04_maxJ\x04\x08\x01\x10\x02\"\xda\x04\n\x1d\x45xponentialHistogramDataPoint\x12;\n\nattributes\x18\x01 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12\x1c\n\x14start_time_unix_nano\x18\x02 \x01(\x06\x12\x16\n\x0etime_unix_nano\x18\x03 \x01(\x06\x12\r\n\x05\x63ount\x18\x04 \x01(\x06\x12\x10\n\x03sum\x18\x05 \x01(\x01H\x00\x88\x01\x01\x12\r\n\x05scale\x18\x06 \x01(\x11\x12\x12\n\nzero_count\x18\x07 \x01(\x06\x12W\n\x08positive\x18\x08 \x01(\x0b\x32\x45.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets\x12W\n\x08negative\x18\t \x01(\x0b\x32\x45.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets\x12\r\n\x05\x66lags\x18\n \x01(\r\x12;\n\texemplars\x18\x0b \x03(\x0b\x32(.opentelemetry.proto.metrics.v1.Exemplar\x12\x10\n\x03min\x18\x0c \x01(\x01H\x01\x88\x01\x01\x12\x10\n\x03max\x18\r \x01(\x01H\x02\x88\x01\x01\x12\x16\n\x0ezero_threshold\x18\x0e \x01(\x01\x1a\x30\n\x07\x42uckets\x12\x0e\n\x06offset\x18\x01 \x01(\x11\x12\x15\n\rbucket_counts\x18\x02 \x03(\x04\x42\x06\n\x04_sumB\x06\n\x04_minB\x06\n\x04_max\"\xc5\x02\n\x10SummaryDataPoint\x12;\n\nattributes\x18\x07 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12\x1c\n\x14start_time_unix_nano\x18\x02 \x01(\x06\x12\x16\n\x0etime_unix_nano\x18\x03 \x01(\x06\x12\r\n\x05\x63ount\x18\x04 \x01(\x06\x12\x0b\n\x03sum\x18\x05 \x01(\x01\x12Y\n\x0fquantile_values\x18\x06 \x03(\x0b\x32@.opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile\x12\r\n\x05\x66lags\x18\x08 \x01(\r\x1a\x32\n\x0fValueAtQuantile\x12\x10\n\x08quantile\x18\x01 \x01(\x01\x12\r\n\x05value\x18\x02 \x01(\x01J\x04\x08\x01\x10\x02\"\xc1\x01\n\x08\x45xemplar\x12\x44\n\x13\x66iltered_attributes\x18\x07 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12\x16\n\x0etime_unix_nano\x18\x02 \x01(\x06\x12\x13\n\tas_double\x18\x03 \x01(\x01H\x00\x12\x10\n\x06\x61s_int\x18\x06 \x01(\x10H\x00\x12\x0f\n\x07span_id\x18\x04 \x01(\x0c\x12\x10\n\x08trace_id\x18\x05 \x01(\x0c\x42\x07\n\x05valueJ\x04\x08\x01\x10\x02*\x8c\x01\n\x16\x41ggregationTemporality\x12\'\n#AGGREGATION_TEMPORALITY_UNSPECIFIED\x10\x00\x12!\n\x1d\x41GGREGATION_TEMPORALITY_DELTA\x10\x01\x12&\n\"AGGREGATION_TEMPORALITY_CUMULATIVE\x10\x02*^\n\x0e\x44\x61taPointFlags\x12\x1f\n\x1b\x44\x41TA_POINT_FLAGS_DO_NOT_USE\x10\x00\x12+\n\'DATA_POINT_FLAGS_NO_RECORDED_VALUE_MASK\x10\x01\x42\x7f\n!io.opentelemetry.proto.metrics.v1B\x0cMetricsProtoP\x01Z)go.opentelemetry.io/proto/otlp/metrics/v1\xaa\x02\x1eOpenTelemetry.Proto.Metrics.V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp/lib/opentelemetry/proto/resource/v1/resource_pb.rb b/exporter/otlp/lib/opentelemetry/proto/resource/v1/resource_pb.rb index a10d5ad1f5..67abefd477 100644 --- a/exporter/otlp/lib/opentelemetry/proto/resource/v1/resource_pb.rb +++ b/exporter/otlp/lib/opentelemetry/proto/resource/v1/resource_pb.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/resource/v1/resource.proto @@ -5,14 +6,11 @@ require 'opentelemetry/proto/common/v1/common_pb' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/resource/v1/resource.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.resource.v1.Resource" do - repeated :attributes, :message, 1, "opentelemetry.proto.common.v1.KeyValue" - optional :dropped_attributes_count, :uint32, 2 - end - end -end + +descriptor_data = "\n.opentelemetry/proto/resource/v1/resource.proto\x12\x1fopentelemetry.proto.resource.v1\x1a*opentelemetry/proto/common/v1/common.proto\"i\n\x08Resource\x12;\n\nattributes\x18\x01 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12 \n\x18\x64ropped_attributes_count\x18\x02 \x01(\rB\x83\x01\n\"io.opentelemetry.proto.resource.v1B\rResourceProtoP\x01Z*go.opentelemetry.io/proto/otlp/resource/v1\xaa\x02\x1fOpenTelemetry.Proto.Resource.V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp/lib/opentelemetry/proto/trace/v1/trace_pb.rb b/exporter/otlp/lib/opentelemetry/proto/trace/v1/trace_pb.rb index 48c5737352..cb45baa18b 100644 --- a/exporter/otlp/lib/opentelemetry/proto/trace/v1/trace_pb.rb +++ b/exporter/otlp/lib/opentelemetry/proto/trace/v1/trace_pb.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: opentelemetry/proto/trace/v1/trace.proto @@ -6,70 +7,11 @@ require 'opentelemetry/proto/common/v1/common_pb' require 'opentelemetry/proto/resource/v1/resource_pb' -Google::Protobuf::DescriptorPool.generated_pool.build do - add_file("opentelemetry/proto/trace/v1/trace.proto", :syntax => :proto3) do - add_message "opentelemetry.proto.trace.v1.TracesData" do - repeated :resource_spans, :message, 1, "opentelemetry.proto.trace.v1.ResourceSpans" - end - add_message "opentelemetry.proto.trace.v1.ResourceSpans" do - optional :resource, :message, 1, "opentelemetry.proto.resource.v1.Resource" - repeated :scope_spans, :message, 2, "opentelemetry.proto.trace.v1.ScopeSpans" - optional :schema_url, :string, 3 - end - add_message "opentelemetry.proto.trace.v1.ScopeSpans" do - optional :scope, :message, 1, "opentelemetry.proto.common.v1.InstrumentationScope" - repeated :spans, :message, 2, "opentelemetry.proto.trace.v1.Span" - optional :schema_url, :string, 3 - end - add_message "opentelemetry.proto.trace.v1.Span" do - optional :trace_id, :bytes, 1 - optional :span_id, :bytes, 2 - optional :trace_state, :string, 3 - optional :parent_span_id, :bytes, 4 - optional :name, :string, 5 - optional :kind, :enum, 6, "opentelemetry.proto.trace.v1.Span.SpanKind" - optional :start_time_unix_nano, :fixed64, 7 - optional :end_time_unix_nano, :fixed64, 8 - repeated :attributes, :message, 9, "opentelemetry.proto.common.v1.KeyValue" - optional :dropped_attributes_count, :uint32, 10 - repeated :events, :message, 11, "opentelemetry.proto.trace.v1.Span.Event" - optional :dropped_events_count, :uint32, 12 - repeated :links, :message, 13, "opentelemetry.proto.trace.v1.Span.Link" - optional :dropped_links_count, :uint32, 14 - optional :status, :message, 15, "opentelemetry.proto.trace.v1.Status" - end - add_message "opentelemetry.proto.trace.v1.Span.Event" do - optional :time_unix_nano, :fixed64, 1 - optional :name, :string, 2 - repeated :attributes, :message, 3, "opentelemetry.proto.common.v1.KeyValue" - optional :dropped_attributes_count, :uint32, 4 - end - add_message "opentelemetry.proto.trace.v1.Span.Link" do - optional :trace_id, :bytes, 1 - optional :span_id, :bytes, 2 - optional :trace_state, :string, 3 - repeated :attributes, :message, 4, "opentelemetry.proto.common.v1.KeyValue" - optional :dropped_attributes_count, :uint32, 5 - end - add_enum "opentelemetry.proto.trace.v1.Span.SpanKind" do - value :SPAN_KIND_UNSPECIFIED, 0 - value :SPAN_KIND_INTERNAL, 1 - value :SPAN_KIND_SERVER, 2 - value :SPAN_KIND_CLIENT, 3 - value :SPAN_KIND_PRODUCER, 4 - value :SPAN_KIND_CONSUMER, 5 - end - add_message "opentelemetry.proto.trace.v1.Status" do - optional :message, :string, 2 - optional :code, :enum, 3, "opentelemetry.proto.trace.v1.Status.StatusCode" - end - add_enum "opentelemetry.proto.trace.v1.Status.StatusCode" do - value :STATUS_CODE_UNSET, 0 - value :STATUS_CODE_OK, 1 - value :STATUS_CODE_ERROR, 2 - end - end -end + +descriptor_data = "\n(opentelemetry/proto/trace/v1/trace.proto\x12\x1copentelemetry.proto.trace.v1\x1a*opentelemetry/proto/common/v1/common.proto\x1a.opentelemetry/proto/resource/v1/resource.proto\"Q\n\nTracesData\x12\x43\n\x0eresource_spans\x18\x01 \x03(\x0b\x32+.opentelemetry.proto.trace.v1.ResourceSpans\"\xa7\x01\n\rResourceSpans\x12;\n\x08resource\x18\x01 \x01(\x0b\x32).opentelemetry.proto.resource.v1.Resource\x12=\n\x0bscope_spans\x18\x02 \x03(\x0b\x32(.opentelemetry.proto.trace.v1.ScopeSpans\x12\x12\n\nschema_url\x18\x03 \x01(\tJ\x06\x08\xe8\x07\x10\xe9\x07\"\x97\x01\n\nScopeSpans\x12\x42\n\x05scope\x18\x01 \x01(\x0b\x32\x33.opentelemetry.proto.common.v1.InstrumentationScope\x12\x31\n\x05spans\x18\x02 \x03(\x0b\x32\".opentelemetry.proto.trace.v1.Span\x12\x12\n\nschema_url\x18\x03 \x01(\t\"\xe6\x07\n\x04Span\x12\x10\n\x08trace_id\x18\x01 \x01(\x0c\x12\x0f\n\x07span_id\x18\x02 \x01(\x0c\x12\x13\n\x0btrace_state\x18\x03 \x01(\t\x12\x16\n\x0eparent_span_id\x18\x04 \x01(\x0c\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x39\n\x04kind\x18\x06 \x01(\x0e\x32+.opentelemetry.proto.trace.v1.Span.SpanKind\x12\x1c\n\x14start_time_unix_nano\x18\x07 \x01(\x06\x12\x1a\n\x12\x65nd_time_unix_nano\x18\x08 \x01(\x06\x12;\n\nattributes\x18\t \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12 \n\x18\x64ropped_attributes_count\x18\n \x01(\r\x12\x38\n\x06\x65vents\x18\x0b \x03(\x0b\x32(.opentelemetry.proto.trace.v1.Span.Event\x12\x1c\n\x14\x64ropped_events_count\x18\x0c \x01(\r\x12\x36\n\x05links\x18\r \x03(\x0b\x32\'.opentelemetry.proto.trace.v1.Span.Link\x12\x1b\n\x13\x64ropped_links_count\x18\x0e \x01(\r\x12\x34\n\x06status\x18\x0f \x01(\x0b\x32$.opentelemetry.proto.trace.v1.Status\x1a\x8c\x01\n\x05\x45vent\x12\x16\n\x0etime_unix_nano\x18\x01 \x01(\x06\x12\x0c\n\x04name\x18\x02 \x01(\t\x12;\n\nattributes\x18\x03 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12 \n\x18\x64ropped_attributes_count\x18\x04 \x01(\r\x1a\x9d\x01\n\x04Link\x12\x10\n\x08trace_id\x18\x01 \x01(\x0c\x12\x0f\n\x07span_id\x18\x02 \x01(\x0c\x12\x13\n\x0btrace_state\x18\x03 \x01(\t\x12;\n\nattributes\x18\x04 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12 \n\x18\x64ropped_attributes_count\x18\x05 \x01(\r\"\x99\x01\n\x08SpanKind\x12\x19\n\x15SPAN_KIND_UNSPECIFIED\x10\x00\x12\x16\n\x12SPAN_KIND_INTERNAL\x10\x01\x12\x14\n\x10SPAN_KIND_SERVER\x10\x02\x12\x14\n\x10SPAN_KIND_CLIENT\x10\x03\x12\x16\n\x12SPAN_KIND_PRODUCER\x10\x04\x12\x16\n\x12SPAN_KIND_CONSUMER\x10\x05\"\xae\x01\n\x06Status\x12\x0f\n\x07message\x18\x02 \x01(\t\x12=\n\x04\x63ode\x18\x03 \x01(\x0e\x32/.opentelemetry.proto.trace.v1.Status.StatusCode\"N\n\nStatusCode\x12\x15\n\x11STATUS_CODE_UNSET\x10\x00\x12\x12\n\x0eSTATUS_CODE_OK\x10\x01\x12\x15\n\x11STATUS_CODE_ERROR\x10\x02J\x04\x08\x01\x10\x02\x42w\n\x1fio.opentelemetry.proto.trace.v1B\nTraceProtoP\x01Z\'go.opentelemetry.io/proto/otlp/trace/v1\xaa\x02\x1cOpenTelemetry.Proto.Trace.V1b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) module Opentelemetry module Proto diff --git a/exporter/otlp/opentelemetry-exporter-otlp.gemspec b/exporter/otlp/opentelemetry-exporter-otlp.gemspec index 0fb029cec0..3b79b3a0bd 100644 --- a/exporter/otlp/opentelemetry-exporter-otlp.gemspec +++ b/exporter/otlp/opentelemetry-exporter-otlp.gemspec @@ -26,7 +26,7 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.0' spec.add_dependency 'googleapis-common-protos-types', '~> 1.3' - spec.add_dependency 'google-protobuf', '~> 3.14' + spec.add_dependency 'google-protobuf', '>= 3.18' spec.add_dependency 'opentelemetry-api', '~> 1.1' spec.add_dependency 'opentelemetry-common', '~> 0.20' spec.add_dependency 'opentelemetry-sdk', '~> 1.2' diff --git a/exporter/otlp/test/opentelemetry/exporter/otlp/exporter_test.rb b/exporter/otlp/test/opentelemetry/exporter/otlp/exporter_test.rb index aa0232d5d9..0f19d9142d 100644 --- a/exporter/otlp/test/opentelemetry/exporter/otlp/exporter_test.rb +++ b/exporter/otlp/test/opentelemetry/exporter/otlp/exporter_test.rb @@ -382,6 +382,17 @@ _(result).must_equal(SUCCESS) end + it 'records metrics' do + metrics_reporter = Minitest::Mock.new + exporter = OpenTelemetry::Exporter::OTLP::Exporter.new(metrics_reporter: metrics_reporter) + stub_request(:post, 'http://localhost:4318/v1/traces').to_timeout.then.to_return(status: 200) + metrics_reporter.expect(:record_value, nil) { |m, _, _| m == 'otel.otlp_exporter.encode_duration' } + metrics_reporter.expect(:record_value, nil) { |m, _, _| m == 'otel.otlp_exporter.message.uncompressed_size' } + metrics_reporter.expect(:record_value, nil) { |m, _, _| m == 'otel.otlp_exporter.message.compressed_size' } + metrics_reporter.expect(:add_to_counter, nil) { |m, _, _| m == 'otel.otlp_exporter.failure' } + exporter.export([OpenTelemetry::TestHelpers.create_span_data]) + end + it 'retries on timeout' do stub_request(:post, 'http://localhost:4318/v1/traces').to_timeout.then.to_return(status: 200) span_data = OpenTelemetry::TestHelpers.create_span_data diff --git a/logs_api/lib/opentelemetry/logs/logger.rb b/logs_api/lib/opentelemetry/logs/logger.rb index c1ba38987a..6374b296b1 100644 --- a/logs_api/lib/opentelemetry/logs/logger.rb +++ b/logs_api/lib/opentelemetry/logs/logger.rb @@ -17,26 +17,31 @@ def initialize # Emit a {LogRecord} to the processing pipeline. # - # @param timestamp [optional Float, Time] Time in nanoseconds since Unix - # epoch when the event occurred measured by the origin clock, i.e. the - # time at the source. - # @param observed_timestamp [optional Float, Time] Time in nanoseconds - # since Unix epoch when the event was observed by the collection system. - # Intended default: Process.clock_gettime(Process::CLOCK_REALTIME, :nanosecond) + # @param timestamp [optional Time] Time when the event occurred. + # @param observed_timestamp [optional Time] Time when the event was + # observed by the collection system. # @param context [optional Context] The Context to associate with the # LogRecord. Intended default: OpenTelemetry::Context.current # @param severity_number [optional Integer] Numerical value of the # severity. Smaller numerical values correspond to less severe events # (such as debug events), larger numerical values correspond to more # severe events (such as errors and critical events). - # @param severity_text [optional String] Original string representation of + # @param [optional String] severity_text Original string representation of # the severity as it is known at the source. Also known as log level. - # @param body [optional String, Numeric, Boolean, Array, Hash{String => String, Numeric, Boolean, Array}] A value containing the body of the log record. - # @param attributes [optional Hash{String => String, Numeric, Boolean, - # Array}] Additional information about the - # event. + # Numeric, Boolean>}] body A value containing the body of the log record. + # @param [optional String] trace_id The trace ID associated with the + # current context. + # @param [optional String] span_id The span ID associated with the + # current context. + # @param [optional TraceFlags] trace_flags The trace flags associated + # with the current context. + # @param [optional Hash{String => String, Numeric, Boolean, + # Array}] attributes Additional information + # about the event. + # @param [optional Context] context The Context to associate with the + # LogRecord. Intended default: OpenTelemetry::Context.current # # @api public def on_emit( diff --git a/logs_sdk/lib/opentelemetry/sdk/logs.rb b/logs_sdk/lib/opentelemetry/sdk/logs.rb index 5f83d72532..f22f39bbac 100644 --- a/logs_sdk/lib/opentelemetry/sdk/logs.rb +++ b/logs_sdk/lib/opentelemetry/sdk/logs.rb @@ -8,6 +8,8 @@ require_relative 'logs/configuration_patch' require_relative 'logs/logger' require_relative 'logs/logger_provider' +require_relative 'logs/log_record' +require_relative 'logs/log_record_data' require_relative 'logs/log_record_processor' require_relative 'logs/export' require_relative 'logs/log_record' diff --git a/logs_sdk/lib/opentelemetry/sdk/logs/log_record.rb b/logs_sdk/lib/opentelemetry/sdk/logs/log_record.rb index 380b0dcb44..0b46bdba43 100644 --- a/logs_sdk/lib/opentelemetry/sdk/logs/log_record.rb +++ b/logs_sdk/lib/opentelemetry/sdk/logs/log_record.rb @@ -27,11 +27,12 @@ class LogRecord < OpenTelemetry::Logs::LogRecord # Creates a new {LogRecord}. # - # @param [optional Float, Time] timestamp Time when the event occurred. - # @param [optional Float, Time] observed_timestamp Time when the event + # @param [optional Time] timestamp Time when the event occurred. + # @param [optional Time] observed_timestamp Time when the event # was observed by the collection system. If nil, will first attempt - # to set to `timestamp`. If `timestamp` is nil, will set to - # `Process.clock_gettime(Process::CLOCK_REALTIME, :nanosecond)`. + # to set to `timestamp`. If `timestamp` is nil, will set to Time.now. + # @param [optional OpenTelemetry::Trace::SpanContext] span_context The + # OpenTelemetry::Trace::SpanContext to associate with the LogRecord. # @param [optional String] severity_text The log severity, also known as # log level. # @param [optional Integer] severity_number The numerical value of the @@ -46,11 +47,16 @@ class LogRecord < OpenTelemetry::Logs::LogRecord # current context. # @param [optional String] span_id The span ID associated with the # current context. - # @param [optional TraceFlags] trace_flags The trace flags associated - # with the current context. - # @param [optional OpenTelemetry::SDK::Logs::Logger] logger The logger that - # created the {LogRecord}. Used to set `resource` and - # `instrumentation_scope`. + # @param [optional OpenTelemetry::Trace::TraceFlags] trace_flags The + # trace flags associated with the current context. + # @param [optional OpenTelemetry::SDK::Resources::Resource] recource The + # source of the log, desrived from the LoggerProvider. + # @param [optional OpenTelemetry::SDK::InstrumentationScope] instrumentation_scope + # The instrumentation scope, derived from the emitting Logger + # @param [optional] OpenTelemetry::SDK::LogRecordLimits] log_record_limits + # Attribute limits + # + # # # @return [LogRecord] def initialize( @@ -63,10 +69,12 @@ def initialize( trace_id: nil, span_id: nil, trace_flags: nil, - logger: nil + resource: nil, + instrumentation_scope: nil, + log_record_limits: nil ) @timestamp = timestamp - @observed_timestamp = observed_timestamp || timestamp || Process.clock_gettime(Process::CLOCK_REALTIME, :nanosecond) + @observed_timestamp = observed_timestamp || timestamp || Time.now @severity_text = severity_text @severity_number = severity_number @body = body @@ -74,9 +82,9 @@ def initialize( @trace_id = trace_id @span_id = span_id @trace_flags = trace_flags - @resource = logger&.resource - @instrumentation_scope = logger&.instrumentation_scope - @log_record_limits = logger&.log_record_limits || LogRecordLimits::DEFAULT + @resource = resource + @instrumentation_scope = instrumentation_scope + @log_record_limits = log_record_limits || LogRecordLimits::DEFAULT @total_recorded_attributes = @attributes&.size || 0 trim_attributes(@attributes) @@ -84,8 +92,8 @@ def initialize( def to_log_record_data LogRecordData.new( - @timestamp, - @observed_timestamp, + to_integer_nanoseconds(@timestamp), + to_integer_nanoseconds(@observed_timestamp), @severity_text, @severity_number, @body, @@ -102,6 +110,7 @@ def to_log_record_data private # Do we have sufficient logging for dropped attributes? + # TODO: Validate attributes the same way as we do in Spans def trim_attributes(attributes) return if attributes.nil? @@ -124,6 +133,12 @@ def truncate_attribute_values(attributes, attribute_length_limit) attributes end + + def to_integer_nanoseconds(timestamp) + return unless timestamp.is_a?(Time) + + t = (timestamp.to_r * 10**9).to_i + end end end end diff --git a/logs_sdk/lib/opentelemetry/sdk/logs/log_record_data.rb b/logs_sdk/lib/opentelemetry/sdk/logs/log_record_data.rb index be185cc624..5bf304f85c 100644 --- a/logs_sdk/lib/opentelemetry/sdk/logs/log_record_data.rb +++ b/logs_sdk/lib/opentelemetry/sdk/logs/log_record_data.rb @@ -8,36 +8,21 @@ module OpenTelemetry module SDK module Logs # LogRecordData is a Struct containing {LogRecord} data for export. - LogRecordData = Struct.new(:timestamp, # optional Integer nanoseconds since Epoch - :observed_timestamp, # Integer nanoseconds since Epoch - :severity_text, # optional String - :severity_number, # optional Integer - :body, # optional String, Numeric, Boolean, Array, Hash{String => String, Numeric, Boolean, - # Array} - :attributes, # optional Hash{String => String, Numeric, Boolean, Array} - :trace_id, # optional String (16-byte binary) - :span_id, # optional String (8-byte binary) - :trace_flags, # optional Integer (8-bit byte of bit flags) - :resource, # optional OpenTelemetry::SDK::Resources::Resource - :instrumentation_scope, # OpenTelemetry::SDK::InstrumentationScope - :total_recorded_attributes) do # Integer - def unix_nano_timestamp - if timestamp.is_a?(Time) - (timestamp.to_r * 1_000_000_000).to_i - else - timestamp - end - end - - def unix_nano_observed_timestamp - if timestamp.is_a?(Time) - (timestamp.to_r * 1_000_000_000).to_i - else - timestamp - end - end - end + LogRecordData = Struct.new(:timestamp, # optional Integer nanoseconds since Epoch + :observed_timestamp, # Integer nanoseconds since Epoch + :severity_text, # optional String + :severity_number, # optional Integer + :body, # optional String, Numeric, Boolean, Array, Hash{String => String, Numeric, Boolean, + # Array} + :attributes, # optional Hash{String => String, Numeric, Boolean, + # Array} + :trace_id, # optional String (16-byte binary) + :span_id, # optional String (8-byte binary) + :trace_flags, # optional Integer (8-bit byte of bit flags) + :resource, # optional OpenTelemetry::SDK::Resources::Resource + :instrumentation_scope, # optional OpenTelemetry::SDK::InstrumentationScope + :total_recorded_attributes) # Integer end end end diff --git a/logs_sdk/lib/opentelemetry/sdk/logs/logger.rb b/logs_sdk/lib/opentelemetry/sdk/logs/logger.rb index ecd530bf05..52e6a12318 100644 --- a/logs_sdk/lib/opentelemetry/sdk/logs/logger.rb +++ b/logs_sdk/lib/opentelemetry/sdk/logs/logger.rb @@ -11,8 +11,6 @@ module SDK module Logs # The SDK implementation of OpenTelemetry::Logs::Logger class Logger < OpenTelemetry::Logs::Logger - attr_reader :instrumentation_scope, :logger_provider - # @api private # # Returns a new {OpenTelemetry::SDK::Logs::Logger} instance. This should @@ -30,25 +28,21 @@ def initialize(name, version, logger_provider) @logger_provider = logger_provider end - def resource - logger_provider.resource - end - def log_record_limits logger_provider.log_record_limits end # Emit a {LogRecord} to the processing pipeline. # - # @param [optional Float, Time] timestamp Time in nanoseconds since Unix - # epoch when the event occurred measured by the origin clock, i.e. the - # time at the source. - # @param [optional Float, Time] observed_timestamp Time in nanoseconds - # since Unix epoch when the event was observed by the collection system. - # Intended default: Process.clock_gettime(Process::CLOCK_REALTIME, :nanosecond) + # @param [optional Time] timestamp Time when the event occurred. + # @param [optional Time] observed_timestamp Time when the event was + # observed by the collection system. + # @param [optional OpenTelemetry::Trace::SpanContext] span_context The + # OpenTelemetry::Trace::SpanContext to associate with the + # {LogRecord}. # @param [optional String] severity_text Original string representation of # the severity as it is known at the source. Also known as log level. - # @param [optional Integer] severity_number Numerical value of the + # @param severity_number [optional Integer] Numerical value of the # severity. Smaller numerical values correspond to less severe events # (such as debug events), larger numerical values correspond to more # severe events (such as errors and critical events). @@ -74,30 +68,30 @@ def log_record_limits # # @api public def on_emit(timestamp: nil, - observed_timestamp: Process.clock_gettime(Process::CLOCK_REALTIME, :nanosecond), - severity_text: nil, - severity_number: nil, - body: nil, - attributes: nil, - trace_id: nil, - span_id: nil, - trace_flags: nil, - context: OpenTelemetry::Context.current) + observed_timestamp: Time.now, + severity_text: nil, + severity_number: nil, + body: nil, + attributes: nil, + trace_id: nil, + span_id: nil, + trace_flags: nil, + context: OpenTelemetry::Context.current) current_span = OpenTelemetry::Trace.current_span(context) - span_context = current_span.context unless OpenTelemetry::Trace::Span::INVALID == current_span - log_record = LogRecord.new(timestamp: timestamp, - observed_timestamp: observed_timestamp, - severity_text: severity_text, - severity_number: severity_number, - body: body, - attributes: attributes, - trace_id: span_context&.trace_id, - span_id: span_context&.span_id, - trace_flags: span_context&.trace_flags, - logger: self) + span_context = current_span.context unless current_span == OpenTelemetry::Trace::Span::INVALID - logger_provider.on_emit(log_record, context) + @logger_provider.on_emit(timestamp: timestamp, + observed_timestamp: observed_timestamp, + severity_text: severity_text, + severity_number: severity_number, + body: body, + attributes: attributes, + trace_id: trace_id || span_context&.trace_id, + span_id: span_id || span_context&.span_id, + trace_flags: trace_flags || span_context&.trace_flags, + instrumentation_scope: @instrumentation_scope, + context: context) end end end diff --git a/logs_sdk/lib/opentelemetry/sdk/logs/logger_provider.rb b/logs_sdk/lib/opentelemetry/sdk/logs/logger_provider.rb index 89dd939ca7..8e98c4f177 100644 --- a/logs_sdk/lib/opentelemetry/sdk/logs/logger_provider.rb +++ b/logs_sdk/lib/opentelemetry/sdk/logs/logger_provider.rb @@ -12,8 +12,6 @@ class LoggerProvider < OpenTelemetry::Logs::LoggerProvider Key = Struct.new(:name, :version) private_constant(:Key) - attr_reader :resource, :log_record_limits - UNEXPECTED_ERROR_MESSAGE = 'unexpected error in ' \ 'OpenTelemetry::SDK::Logs::LoggerProvider#%s' @@ -144,7 +142,33 @@ def force_flush(timeout: nil) end end - def on_emit(log_record, context) + # @api private + def on_emit(timestamp: nil, + observed_timestamp: nil, + severity_text: nil, + severity_number: nil, + body: nil, + attributes: nil, + trace_id: nil, + span_id: nil, + trace_flags: nil, + instrumentation_scope: nil, + context: nil) + + log_record = LogRecord.new(timestamp: timestamp, + observed_timestamp: observed_timestamp, + severity_text: severity_text, + severity_number: severity_number, + body: body, + attributes: attributes, + trace_id: trace_id, + span_id: span_id, + trace_flags: trace_flags, + resource: @resource, + instrumentation_scope: instrumentation_scope, + log_record_limits: @log_record_limits + ) + @log_record_processors.each { |processor| processor.on_emit(log_record, context) } end end diff --git a/logs_sdk/test/opentelemetry/sdk/logs/log_record_test.rb b/logs_sdk/test/opentelemetry/sdk/logs/log_record_test.rb index 5d5192b1e6..3c250696af 100644 --- a/logs_sdk/test/opentelemetry/sdk/logs/log_record_test.rb +++ b/logs_sdk/test/opentelemetry/sdk/logs/log_record_test.rb @@ -7,7 +7,7 @@ require 'test_helper' describe OpenTelemetry::SDK::Logs::LogRecord do - Logs = OpenTelemetry::SDK::Logs # rubocop:disable Lint/ConstantDefinitionInBlock + Logs = OpenTelemetry::SDK::Logs let(:log_record) { Logs::LogRecord.new(**args) } let(:args) { {} } let(:logger) { Logs::Logger.new('', '', Logs::LoggerProvider.new) } @@ -15,7 +15,8 @@ describe '#initialize' do describe 'observed_timestamp' do describe 'when observed_timestamp is present' do - let(:observed_timestamp) { '1692661486.2841358' } + let(:current_time) { Time.now } + let(:observed_timestamp) { current_time + 1 } let(:args) { { observed_timestamp: observed_timestamp } } it 'is equal to observed_timestamp' do @@ -26,18 +27,13 @@ refute_equal(log_record.timestamp, log_record.observed_timestamp) end - # Process.clock_gettime is used to set the current time - # That method returns a Float. Since the stubbed value of - # observed_timestamp is a String, we can know the the - # observed_timestamp was not set to the value of Process.clock_gettime - # by making sure its value is not a Float. it 'is not equal to the current time' do - refute_instance_of(Float, log_record.observed_timestamp) + refute_equal(current_time, log_record.observed_timestamp) end end describe 'when timestamp is present' do - let(:timestamp) { Process.clock_gettime(Process::CLOCK_REALTIME) } + let(:timestamp) { Time.now } let(:args) { { timestamp: timestamp } } it 'is equal to timestamp' do @@ -57,7 +53,7 @@ # I'm going to assert it's an Integer, which is the # Process.clock_gettime return value class when passed the # :nanosecond option - assert_instance_of(Integer, log_record.observed_timestamp) + assert_instance_of(Time, log_record.observed_timestamp) end end end @@ -66,8 +62,8 @@ let(:args) do span_context = OpenTelemetry::Trace::SpanContext.new { - timestamp: Process.clock_gettime(Process::CLOCK_REALTIME), - observed_timestamp: Process.clock_gettime(Process::CLOCK_REALTIME), + timestamp: Time.now, + observed_timestamp: Time.now + 1, severity_text: 'DEBUG', severity_number: 0, body: 'body', @@ -75,15 +71,16 @@ trace_id: span_context.trace_id, span_id: span_context.span_id, trace_flags: span_context.trace_flags, - logger: logger + resource: logger.instance_variable_get(:@logger_provider).instance_variable_get(:@resource), + instrumentation_scope: logger.instance_variable_get(:@instrumentation_scope) } end it 'transforms the LogRecord into a LogRecordData' do log_record_data = log_record.to_log_record_data - assert_equal(args[:timestamp], log_record_data.timestamp) - assert_equal(args[:observed_timestamp], log_record_data.observed_timestamp) + assert_equal(args[:timestamp].strftime("%s%N").to_i, log_record_data.timestamp) + assert_equal(args[:observed_timestamp].strftime("%s%N").to_i, log_record_data.observed_timestamp) assert_equal(args[:severity_text], log_record_data.severity_text) assert_equal(args[:severity_number], log_record_data.severity_number) assert_equal(args[:body], log_record_data.body) @@ -91,95 +88,74 @@ assert_equal(args[:trace_id], log_record_data.trace_id) assert_equal(args[:span_id], log_record_data.span_id) assert_equal(args[:trace_flags], log_record_data.trace_flags) - assert_equal(args[:logger].resource, log_record_data.resource) - assert_equal(args[:logger].instrumentation_scope, log_record_data.instrumentation_scope) + assert_equal(args[:resource], log_record_data.resource) + assert_equal(args[:instrumentation_scope], log_record_data.instrumentation_scope) end end - describe 'attributes set through logger' do - let(:logger_provider) { Logs::LoggerProvider.new } - let(:resource) { OpenTelemetry::SDK::Resources::Resource.create } - let(:instrumentation_scope) { OpenTelemetry::SDK::InstrumentationScope.new('name', 'version') } - let(:logger) { Logs::Logger.new(resource, instrumentation_scope, logger_provider) } - let(:args) { { logger: logger } } + describe 'attribute limits' do + it 'uses the limits set by the logger provider via the logger' do + # Spy on the console output + captured_stdout = StringIO.new + original_stdout = $stdout + $stdout = captured_stdout - describe 'resource' do - it 'is set to the resource of the logger given on initialization' do - assert_equal(logger.resource, log_record.resource) - end - end + # Create the LoggerProvider with the console exporter and an attribute limit of 1 + limits = Logs::LogRecordLimits.new(attribute_count_limit: 1) + logger_provider = Logs::LoggerProvider.new(log_record_limits: limits) + console_exporter = Logs::Export::SimpleLogRecordProcessor.new(Logs::Export::ConsoleLogRecordExporter.new) + logger_provider.add_log_record_processor(Logs::Export::SimpleLogRecordProcessor.new(Logs::Export::ConsoleLogRecordExporter.new)) - describe 'instrumentation_scope' do - it 'is set to the instrumentation_scope of the logger given on initialization' do - assert_equal(logger.instrumentation_scope, log_record.instrumentation_scope) - end - end + # Create a logger that uses the given LoggerProvider + logger = Logs::Logger.new('', '', logger_provider) - describe 'when logger is nil' do - let(:logger) { nil } + # Emit a log from that logger, with attribute count exceeding the limit + logger.on_emit(attributes: {'a' => 'a', 'b' => 'b'}) - it 'sets the resource to nil' do - assert_nil(log_record.resource) - end + # Look at the captured output to see if the attributes have been truncated + assert_match(/attributes={\"b\"=>\"b\"}/, captured_stdout.string) + refute_match(/\"a\"=>\"a\"/, captured_stdout.string) - it 'sets the instrumentation_scope to nil' do - assert_nil(log_record.instrumentation_scope) - end + # Return STDOUT to its normal output + $stdout = original_stdout end - describe 'attribute limits' do - it 'uses the limits set by the logger provider via the logger' do - limits = Logs::LogRecordLimits.new - logger_provider = Logs::LoggerProvider.new(log_record_limits: limits) - logger = Logs::Logger.new('', '', logger_provider) - log_record = Logs::LogRecord.new(logger: logger) + it 'uses the default limits if none provided' do + log_record = Logs::LogRecord.new + default = Logs::LogRecordLimits::DEFAULT - assert_equal(log_record.instance_variable_get(:@log_record_limits), limits) - end + assert_equal(default.attribute_count_limit, log_record.instance_variable_get(:@log_record_limits).attribute_count_limit) + # default length is nil + assert_nil(log_record.instance_variable_get(:@log_record_limits).attribute_length_limit) + end - it 'uses the default limits if none provided' do - log_record = Logs::LogRecord.new - default = Logs::LogRecordLimits::DEFAULT + it 'trims the oldest attributes' do + limits = Logs::LogRecordLimits.new(attribute_count_limit: 1) + attributes = { 'old' => 'old', 'new' => 'new' } + log_record = Logs::LogRecord.new(log_record_limits: limits, attributes: attributes) - assert_equal(default.attribute_count_limit, log_record.instance_variable_get(:@log_record_limits).attribute_count_limit) - # default length is nil - assert_nil(log_record.instance_variable_get(:@log_record_limits).attribute_length_limit) - end + assert_equal({ 'new' => 'new' }, log_record.attributes) + end + end - it 'trims the oldest attributes' do - limits = Logs::LogRecordLimits.new(attribute_count_limit: 1) - logger_provider = Logs::LoggerProvider.new(log_record_limits: limits) - logger = Logs::Logger.new('', '', logger_provider) - attributes = { 'old' => 'old', 'new' => 'new' } - log_record = Logs::LogRecord.new(logger: logger, attributes: attributes) + describe 'attribute value limit' do + it 'truncates the values that are too long' do + length_limit = 32 + too_long = 'a' * (length_limit + 1) + just_right = 'a' * (length_limit - 3) # truncation removes 3 chars for the '...' + limits = Logs::LogRecordLimits.new(attribute_length_limit: length_limit) + log_record = Logs::LogRecord.new(log_record_limits: limits, attributes: { 'key' => too_long }) - assert_equal({ 'new' => 'new' }, log_record.attributes) - end + assert_equal({ 'key' => "#{just_right}..." }, log_record.attributes) end - describe 'attribute value limit' do - it 'truncates the values that are too long' do - length_limit = 32 - too_long = 'a' * (length_limit + 1) - just_right = 'a' * (length_limit - 3) # truncation removes 3 chars for the '...' - limits = Logs::LogRecordLimits.new(attribute_length_limit: length_limit) - logger_provider = Logs::LoggerProvider.new(log_record_limits: limits) - logger = Logs::Logger.new('', '', logger_provider) - log_record = Logs::LogRecord.new(logger: logger, attributes: { 'key' => too_long }) - - assert_equal({ 'key' => "#{just_right}..." }, log_record.attributes) - end - - it 'does not alter values within the range' do - length_limit = 32 - within_range = 'a' * length_limit - limits = Logs::LogRecordLimits.new(attribute_length_limit: length_limit) - logger_provider = Logs::LoggerProvider.new(log_record_limits: limits) - logger = Logs::Logger.new('', '', logger_provider) - log_record = Logs::LogRecord.new(logger: logger, attributes: { 'key' => within_range }) + it 'does not alter values within the range' do + length_limit = 32 + within_range = 'a' * length_limit + limits = Logs::LogRecordLimits.new(attribute_length_limit: length_limit) + log_record = Logs::LogRecord.new(log_record_limits: limits, attributes: { 'key' => within_range }) - assert_equal({ 'key' => within_range }, log_record.attributes) - end + assert_equal({ 'key' => within_range }, log_record.attributes) end end end diff --git a/logs_sdk/test/opentelemetry/sdk/logs/logger_provider_test.rb b/logs_sdk/test/opentelemetry/sdk/logs/logger_provider_test.rb index bb19c5d8df..9741364fe7 100644 --- a/logs_sdk/test/opentelemetry/sdk/logs/logger_provider_test.rb +++ b/logs_sdk/test/opentelemetry/sdk/logs/logger_provider_test.rb @@ -19,14 +19,17 @@ it 'allows a resource to be associated with the logger provider' do assert_instance_of( - OpenTelemetry::SDK::Resources::Resource, logger_provider.resource + OpenTelemetry::SDK::Resources::Resource, logger_provider.instance_variable_get(:@resource) ) end end describe '#initialize' do it 'activates a default LogRecordLimits' do - assert_equal(OpenTelemetry::SDK::Logs::LogRecordLimits::DEFAULT, logger_provider.log_record_limits) + assert_equal( + OpenTelemetry::SDK::Logs::LogRecordLimits::DEFAULT, + logger_provider.instance_variable_get(:@log_record_limits) + ) end end @@ -211,4 +214,49 @@ end end end + + describe '#on_emit' do + let(:mock_context) do + mock_context = Minitest::Mock.new + def mock_context.value(key); OpenTelemetry::Trace::Span::INVALID; end # rubocop:disable Style/SingleLineMethods + + mock_context + end + + let(:args) do + span_context = OpenTelemetry::Trace::SpanContext.new + { + timestamp: Time.now, + observed_timestamp: Time.now + 1, + severity_text: 'DEBUG', + severity_number: 0, + body: 'body', + attributes: { 'a' => 'b' }, + trace_id: span_context.trace_id, + span_id: span_context.span_id, + trace_flags: span_context.trace_flags, + instrumentation_scope: OpenTelemetry::SDK::InstrumentationScope, + context: mock_context, + } + end + + it 'creates a new log record' do + output = 'union station' + OpenTelemetry::SDK::Logs::LogRecord.stub(:new, ->(_) { puts output }) do + assert_output(/#{output}/) { logger_provider.on_emit(**args) } + end + end + + it 'sends the log record to the processors' do + mock_log_record = Minitest::Mock.new + + OpenTelemetry::SDK::Logs::LogRecord.stub :new, mock_log_record do + logger_provider.add_log_record_processor(mock_log_record_processor) + mock_log_record_processor.expect(:on_emit, nil, [mock_log_record, mock_context]) + + logger_provider.on_emit(**args) + mock_log_record_processor.verify + end + end + end end diff --git a/logs_sdk/test/opentelemetry/sdk/logs/logger_test.rb b/logs_sdk/test/opentelemetry/sdk/logs/logger_test.rb index 983fdea8ef..6fae3a85f8 100644 --- a/logs_sdk/test/opentelemetry/sdk/logs/logger_test.rb +++ b/logs_sdk/test/opentelemetry/sdk/logs/logger_test.rb @@ -10,12 +10,6 @@ let(:logger_provider) { OpenTelemetry::SDK::Logs::LoggerProvider.new } let(:logger) { logger_provider.logger(name: 'default_logger') } - describe '#resource' do - it 'returns the resource associated with the logger_provider' do - assert_equal(logger.resource, logger_provider.resource) - end - end - describe '#on_emit' do it 'creates a new LogRecord' do output = 'chocolate cherry' @@ -27,7 +21,7 @@ it 'sends the newly-created log record to the processors' do mock_log_record = Minitest::Mock.new mock_context = Minitest::Mock.new - def mock_context.value(key); OpenTelemetry::Trace::Span::INVALID; end + def mock_context.value(key); OpenTelemetry::Trace::Span::INVALID; end # rubocop:disable Style/SingleLineMethods OpenTelemetry::SDK::Logs::LogRecord.stub(:new, ->(_) { mock_log_record }) do mock_log_record_processor = Minitest::Mock.new diff --git a/metrics_api/lib/opentelemetry/metrics/meter.rb b/metrics_api/lib/opentelemetry/metrics/meter.rb index 846424995b..1335437c02 100644 --- a/metrics_api/lib/opentelemetry/metrics/meter.rb +++ b/metrics_api/lib/opentelemetry/metrics/meter.rb @@ -15,7 +15,7 @@ class Meter UP_DOWN_COUNTER = Instrument::UpDownCounter.new OBSERVABLE_UP_DOWN_COUNTER = Instrument::ObservableUpDownCounter.new - NAME_REGEX = /^[a-zA-Z][-.\w]{0,62}$/ + NAME_REGEX = /\A[a-zA-Z][-.\w]{0,62}\z/ private_constant(:COUNTER, :OBSERVABLE_COUNTER, :HISTOGRAM, :OBSERVABLE_GAUGE, :UP_DOWN_COUNTER, :OBSERVABLE_UP_DOWN_COUNTER) diff --git a/sdk/CHANGELOG.md b/sdk/CHANGELOG.md index 7404541b84..a832c5ed8a 100644 --- a/sdk/CHANGELOG.md +++ b/sdk/CHANGELOG.md @@ -1,5 +1,10 @@ # Release History: opentelemetry-sdk +### v1.5.0 / 2024-07-24 + +* ADDED: Add add_link to span api/sdk +* FIXED: Update `untraced` to suppress logging "Calling finish on an ended Span" warnings + ### v1.4.1 / 2024-03-21 * FIXED: ForwardingLogger should forward block param. diff --git a/sdk/lib/opentelemetry/sdk/trace/tracer.rb b/sdk/lib/opentelemetry/sdk/trace/tracer.rb index 4a9ab340fb..1224b989ad 100644 --- a/sdk/lib/opentelemetry/sdk/trace/tracer.rb +++ b/sdk/lib/opentelemetry/sdk/trace/tracer.rb @@ -29,8 +29,6 @@ def start_root_span(name, attributes: nil, links: nil, start_timestamp: nil, kin def start_span(name, with_parent: nil, attributes: nil, links: nil, start_timestamp: nil, kind: nil) with_parent ||= Context.current - return super(name, with_parent: with_parent, attributes: attributes, links: links, start_timestamp: start_timestamp, kind: kind) if Common::Utilities.untraced?(with_parent) - name ||= 'empty' kind ||= :internal diff --git a/sdk/lib/opentelemetry/sdk/trace/tracer_provider.rb b/sdk/lib/opentelemetry/sdk/trace/tracer_provider.rb index 10a8ed8aea..3569451635 100644 --- a/sdk/lib/opentelemetry/sdk/trace/tracer_provider.rb +++ b/sdk/lib/opentelemetry/sdk/trace/tracer_provider.rb @@ -126,7 +126,7 @@ def add_span_processor(span_processor) end # @api private - def internal_start_span(name, kind, attributes, links, start_timestamp, parent_context, instrumentation_scope) # rubocop:disable Metrics/MethodLength + def internal_start_span(name, kind, attributes, links, start_timestamp, parent_context, instrumentation_scope) # rubocop:disable Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity parent_span = OpenTelemetry::Trace.current_span(parent_context) parent_span_context = parent_span.context @@ -134,8 +134,13 @@ def internal_start_span(name, kind, attributes, links, start_timestamp, parent_c parent_span_id = parent_span_context.span_id trace_id = parent_span_context.trace_id end - trace_id ||= @id_generator.generate_trace_id + + if OpenTelemetry::Common::Utilities.untraced?(parent_context) + span_id = parent_span_id || @id_generator.generate_span_id + return OpenTelemetry::Trace.non_recording_span(OpenTelemetry::Trace::SpanContext.new(trace_id: trace_id, span_id: span_id)) + end + result = @sampler.should_sample?(trace_id: trace_id, parent_context: parent_context, links: links, name: name, kind: kind, attributes: attributes) span_id = @id_generator.generate_span_id if result.recording? && !@stopped diff --git a/sdk/lib/opentelemetry/sdk/version.rb b/sdk/lib/opentelemetry/sdk/version.rb index c875cf6efe..bdc6d2eacd 100644 --- a/sdk/lib/opentelemetry/sdk/version.rb +++ b/sdk/lib/opentelemetry/sdk/version.rb @@ -7,6 +7,6 @@ module OpenTelemetry module SDK ## Current OpenTelemetry version - VERSION = '1.4.1' + VERSION = '1.5.0' end end diff --git a/sdk/test/opentelemetry/sdk/trace/tracer_test.rb b/sdk/test/opentelemetry/sdk/trace/tracer_test.rb index 2ced763dd6..e5488d689b 100644 --- a/sdk/test/opentelemetry/sdk/trace/tracer_test.rb +++ b/sdk/test/opentelemetry/sdk/trace/tracer_test.rb @@ -329,5 +329,28 @@ _(span.status.code).must_equal(OpenTelemetry::Trace::Status::ERROR) _(span.status.description).must_equal('Unhandled exception of type: RuntimeError') end + + it 'yields a no-op span within an untraced block' do + tracer.in_span('root') do + span_id = OpenTelemetry::Trace.current_span.context.span_id + OpenTelemetry::Common::Utilities.untraced do + tracer.in_span('op') do |span| + _(span).must_be_instance_of(OpenTelemetry::Trace::Span) + _(span.context.span_id).must_equal span_id + _(span.context.trace_flags).wont_be :sampled? + _(span).wont_be :recording? + end + end + end + end + + it 'does not log "Calling finish on an ended Span" warnings when untraced? is called' do + OpenTelemetry::TestHelpers.with_test_logger do |log_stream| + tracer.in_span('root') do + OpenTelemetry::Common::Utilities.untraced { tracer.in_span('op') {} } + end + _(log_stream.string).wont_include 'Calling finish on an ended Span' + end + end end end diff --git a/semantic_conventions/CHANGELOG.md b/semantic_conventions/CHANGELOG.md index 4d8825a434..71c8e5c007 100644 --- a/semantic_conventions/CHANGELOG.md +++ b/semantic_conventions/CHANGELOG.md @@ -1,5 +1,11 @@ # Release History: opentelemetry-semantic_conventions +### v1.10.1 / 2024-07-24 + +* BREAKING CHANGE: Remove support for EoL Ruby 2.7 + +* ADDED: Remove support for EoL Ruby 2.7 + ### v1.10.0 / 2023-05-30 * FIXED: Warning messages from gem build diff --git a/semantic_conventions/lib/opentelemetry/semantic_conventions/version.rb b/semantic_conventions/lib/opentelemetry/semantic_conventions/version.rb index b323abd7e3..c40014a4ed 100644 --- a/semantic_conventions/lib/opentelemetry/semantic_conventions/version.rb +++ b/semantic_conventions/lib/opentelemetry/semantic_conventions/version.rb @@ -6,6 +6,6 @@ module OpenTelemetry module SemanticConventions - VERSION = '1.10.0' + VERSION = '1.10.1' end end