-
Notifications
You must be signed in to change notification settings - Fork 10
deps: update opentelemetry-cpp to 1.21.0 #322
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
deps: update opentelemetry-cpp to 1.21.0 #322
Conversation
PR-URL: #180 Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-by: Trevor Norris <trev.norris@gmail.com>
|
I ran into an unexpected issue while reviewing this PR. Please try again later. |
WalkthroughThis update introduces new features, bug fixes, and extensive documentation and build system improvements to the OpenTelemetry C++ SDK and exporters. Major highlights include support for Base2ExponentialHistogram metrics in the OTLP and ostream exporters, new semantic attribute and metric definitions, enhanced tracer enablement APIs, and significant reformatting and extension of semantic convention headers. Multiple CMake and Bazel build scripts were refactored for modularity and maintainability. Changes
Sequence Diagram(s)sequenceDiagram
participant Instrumentation
participant Tracer
participant Exporter
participant OTLP Client
Note over Tracer: (ABI v2+) Tracer has Enabled() state
Instrumentation->>Tracer: if (Tracer.Enabled())<br/> StartSpan(...)
Tracer-->>Instrumentation: Span
Instrumentation->>Exporter: Export metrics (including Base2ExponentialHistogram)
Exporter->>OTLP Client: ConvertExponentialHistogramMetric()
OTLP Client->>Exporter: OTLP-formatted data
Exporter-->>Instrumentation: ExportResult
sequenceDiagram
participant User
participant OtlpGrpcClient
User->>OtlpGrpcClient: GetGrpcTarget(endpoint)
OtlpGrpcClient->>OtlpGrpcClient: Parse endpoint URL
alt unix scheme
OtlpGrpcClient-->>User: "unix:/path"
else valid host:port
OtlpGrpcClient-->>User: "host:port"
else invalid
OtlpGrpcClient-->>User: ""
end
Poem
✨ Finishing Touches
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🔭 Outside diff range comments (1)
deps/opentelemetry-cpp/exporters/otlp/CMakeLists.txt (1)
120-129: 🛠️ Refactor suggestionnlohmann_json not exported – installed consumers will fail
opentelemetry_exporter_otlp_http_clientnow keepsnlohmann_json::nlohmann_jsononly on the BUILD_INTERFACE.
When the library is installed the dependency is no longer propagated, yet the public headers still use the json types. Any external project that picks up the exported config will hit missing include / link errors.Consider keeping the library in the
PUBLICinterface or adding anINTERFACE_LINK_LIBRARIESentry in the install export.
🧹 Nitpick comments (10)
deps/opentelemetry-cpp/.vscode/launch.json (1)
4-12: Validate${cmake.testArgs}expansion
With"args": [ "${cmake.testArgs}" ], VS Code may pass the entire string as one argument. If you need to split multiple arguments, consider removing the brackets so VS Code injects the list directly:- "args": [ "${cmake.testArgs}" ], + "args": ${cmake.testArgs},🧰 Tools
🪛 Biome (1.9.4)
[error] 12-12: Expected a property but instead found '}'.
Expected a property here.
(parse)
deps/opentelemetry-cpp/.devcontainer/README.md (1)
22-22: Use consistent branding
Consider updating “opentelemetry-cpp” to “OpenTelemetry C++” to match the project’s official naming elsewhere.deps/opentelemetry-cpp/.devcontainer/Dockerfile.dev (1)
50-50: Pinmarkdownlint-cliand optimize layers
Good practice to pin to0.44.0. For a slimmer image, merge this into the earlierapt installstep and clean up apt cache:RUN apt update && apt install -y --no-install-recommends npm \ && npm install -g markdownlint-cli@0.44.0 \ && rm -rf /var/lib/apt/lists/*deps/opentelemetry-cpp/.devcontainer/Dockerfile.conan (1)
5-20: Consolidate and optimize apt installs
Combineapt updateandapt install, use--no-install-recommends, and clean the cache to reduce image size:RUN apt update && apt install -y --no-install-recommends \ build-essential ca-certificates wget cmake git sudo nano \ pkg-config ninja-build clang-format clang-tidy autoconf automake libtool python3-pip \ && rm -rf /var/lib/apt/lists/*deps/opentelemetry-cpp/exporters/otlp/test/otlp_grpc_target_test.cc (2)
15-15: Consider a more descriptive test name.The test name
GrpcClientTestis generic. Consider renaming to better describe what's being tested, such asGetGrpcTargetParsesEndpointsCorrectly.-TEST(OtlpGrpcClientEndpointTest, GrpcClientTest) +TEST(OtlpGrpcClientEndpointTest, GetGrpcTargetParsesEndpointsCorrectly)
17-33: Test logic is correct but could benefit from additional edge cases.The test correctly validates the three main scenarios for gRPC target parsing. Consider adding tests for edge cases like empty strings, null pointers, or malformed endpoints to improve coverage.
Consider adding these additional test cases:
+ OtlpGrpcClientOptions opts4; + opts4.endpoint = ""; + + OtlpGrpcClientOptions opts5; + opts5.endpoint = "invalid-format"; + + auto target4 = OtlpGrpcClient::GetGrpcTarget(opts4.endpoint); + auto target5 = OtlpGrpcClient::GetGrpcTarget(opts5.endpoint); + + EXPECT_EQ(target4, ""); + EXPECT_EQ(target5, "invalid-format"); // or "" depending on implementationdeps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/aws_attributes.h (1)
380-383: Fix typo in Secrets Manager documentation.There's a typo in the comment: "Secrets Mangger" should be "Secrets Manager".
- The ARN of the Secret stored in the Secrets Mangger + The ARN of the Secret stored in the Secrets Managerdeps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/gcp_attributes.h (1)
123-146: Doc-string copy/paste artefacts reduce clarityThe same short description (“Mission critical service.”, “High impact.” …) is reused for both service and workload criticality enums.
While harmless for compilation, it is slightly misleading for users reading the generated docs – the workload enum should talk about workloads, not services.No code change required but please consider tweaking the comment text in the template to avoid confusion.
deps/opentelemetry-cpp/exporters/otlp/src/otlp_metric_utils.cc (1)
192-254: Minor: early-continue silently drops dataWhen both bucket pointers are null you
continue;, which skips attribute population.
That causes points with zero buckets but non-empty attributes to vanish from the export stream.
Consider still emitting an empty data point so attribute series remain intact, or document this behaviour explicitly.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/feature_flag_attributes.h (1)
156-205: Consider the maintenance implications of duplicating namespace constants.The new
FeatureFlagResultReasonValuesnamespace exactly duplicates all constants fromFeatureFlagEvaluationReasonValues. While this supports the semantic convention evolution, it creates maintenance overhead and potential inconsistencies.Consider whether the auto-generation template could reference the existing constants or if this duplication is intentional for backward compatibility during the transition period.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (7)
deps/opentelemetry-cpp/third_party/opentelemetry-proto/gen/cpp/opentelemetry/proto/collector/logs/v1/logs_service.grpc.pb.his excluded by!**/gen/**deps/opentelemetry-cpp/third_party/opentelemetry-proto/gen/cpp/opentelemetry/proto/collector/metrics/v1/metrics_service.grpc.pb.his excluded by!**/gen/**deps/opentelemetry-cpp/third_party/opentelemetry-proto/gen/cpp/opentelemetry/proto/collector/trace/v1/trace_service.grpc.pb.his excluded by!**/gen/**deps/opentelemetry-cpp/third_party/opentelemetry-proto/gen/cpp/opentelemetry/proto/common/v1/common.pb.ccis excluded by!**/gen/**deps/opentelemetry-cpp/third_party/opentelemetry-proto/gen/cpp/opentelemetry/proto/common/v1/common.pb.his excluded by!**/gen/**deps/opentelemetry-cpp/third_party/opentelemetry-proto/gen/cpp/opentelemetry/proto/resource/v1/resource.pb.ccis excluded by!**/gen/**deps/opentelemetry-cpp/third_party/opentelemetry-proto/gen/cpp/opentelemetry/proto/resource/v1/resource.pb.his excluded by!**/gen/**
📒 Files selected for processing (140)
agents/otlp/src/otlp_common.cc(2 hunks)deps/opentelemetry-cpp/.devcontainer/Dockerfile.conan(1 hunks)deps/opentelemetry-cpp/.devcontainer/Dockerfile.dev(2 hunks)deps/opentelemetry-cpp/.devcontainer/README.md(2 hunks)deps/opentelemetry-cpp/.devcontainer/devcontainer.json(1 hunks)deps/opentelemetry-cpp/.vscode/launch.json(1 hunks)deps/opentelemetry-cpp/MODULE.bazel(2 hunks)deps/opentelemetry-cpp/api/BUILD(1 hunks)deps/opentelemetry-cpp/api/CMakeLists.txt(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/common/macros.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/config.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/logs/logger.h(8 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/nostd/internal/absl/base/options.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/nostd/type_traits.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/nostd/variant.h(4 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/plugin/tracer.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/client_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/code_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/db_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/db_metrics.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/error_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/exception_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/http_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/http_metrics.h(2 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/app_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/artifact_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/aws_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/az_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/azure_attributes.h(2 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/azure_metrics.h(2 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/browser_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/cassandra_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/cicd_attributes.h(3 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/cicd_metrics.h(5 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/client_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/cloud_attributes.h(2 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/cloudevents_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/cloudfoundry_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/code_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/container_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/container_metrics.h(6 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/cpu_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/cpu_metrics.h(3 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/cpython_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/cpython_metrics.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/db_attributes.h(8 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/db_metrics.h(22 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/deployment_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/destination_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/device_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/disk_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/dns_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/dns_metrics.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/elasticsearch_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/enduser_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/error_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/event_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/exception_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/faas_attributes.h(3 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/faas_metrics.h(9 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/feature_flag_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/file_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/gcp_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/gen_ai_attributes.h(6 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/gen_ai_metrics.h(5 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/geo_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/graphql_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/heroku_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/host_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/http_attributes.h(3 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/http_metrics.h(10 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/hw_attributes.h(2 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/hw_metrics.h(8 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/k8s_attributes.h(2 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/k8s_metrics.h(39 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/linux_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/log_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/message_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/messaging_attributes.h(5 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/messaging_metrics.h(10 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/net_attributes.h(2 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/network_attributes.h(6 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/oci_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/opentracing_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/os_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/otel_attributes.h(2 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/otel_metrics.h(5 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/other_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/peer_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/pool_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/process_attributes.h(3 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/process_metrics.h(11 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/profile_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/rpc_attributes.h(4 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/rpc_metrics.h(10 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/security_rule_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/server_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/service_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/session_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/source_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/system_attributes.h(10 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/system_metrics.h(32 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/telemetry_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/test_attributes.h(2 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/thread_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/tls_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/url_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/user_agent_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/user_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/vcs_attributes.h(6 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/vcs_metrics.h(10 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/webengine_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/network_attributes.h(2 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/otel_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/schema_url.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/server_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/service_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/telemetry_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/url_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/user_agent_attributes.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/trace/noop.h(1 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/trace/tracer.h(2 hunks)deps/opentelemetry-cpp/api/include/opentelemetry/version.h(1 hunks)deps/opentelemetry-cpp/api/test/singleton/singleton_test.cc(1 hunks)deps/opentelemetry-cpp/api/test/trace/noop_test.cc(1 hunks)deps/opentelemetry-cpp/exporters/elasticsearch/CMakeLists.txt(1 hunks)deps/opentelemetry-cpp/exporters/etw/CMakeLists.txt(1 hunks)deps/opentelemetry-cpp/exporters/etw/include/opentelemetry/exporters/etw/etw_tracer.h(1 hunks)deps/opentelemetry-cpp/exporters/memory/CMakeLists.txt(1 hunks)deps/opentelemetry-cpp/exporters/ostream/CMakeLists.txt(3 hunks)deps/opentelemetry-cpp/exporters/ostream/src/metric_exporter.cc(3 hunks)deps/opentelemetry-cpp/exporters/ostream/test/ostream_metric_test.cc(2 hunks)deps/opentelemetry-cpp/exporters/otlp/BUILD(17 hunks)deps/opentelemetry-cpp/exporters/otlp/CMakeLists.txt(16 hunks)deps/opentelemetry-cpp/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_client.h(1 hunks)deps/opentelemetry-cpp/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_metric_utils.h(1 hunks)deps/opentelemetry-cpp/exporters/otlp/src/otlp_grpc_client.cc(2 hunks)deps/opentelemetry-cpp/exporters/otlp/src/otlp_metric_utils.cc(5 hunks)deps/opentelemetry-cpp/exporters/otlp/test/otlp_file_exporter_test.cc(2 hunks)deps/opentelemetry-cpp/exporters/otlp/test/otlp_grpc_target_test.cc(1 hunks)
🧰 Additional context used
🪛 Biome (1.9.4)
deps/opentelemetry-cpp/.vscode/launch.json
[error] 12-12: Expected a property but instead found '}'.
Expected a property here.
(parse)
⏰ Context from checks skipped due to timeout of 90000ms (8)
- GitHub Check: test-tarball-linux
- GitHub Check: coverage-windows
- GitHub Check: lint-js-and-md
- GitHub Check: test-linux (ubuntu-24.04)
- GitHub Check: test-linux (ubuntu-24.04-arm)
- GitHub Check: coverage-linux
- GitHub Check: coverage-linux-without-intl
- GitHub Check: test-macOS
🔇 Additional comments (319)
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/user_agent_attributes.h (1)
22-25: Stylistic consistency: reformatted doc commentThe removal of leading asterisks and the adjusted indentation align this comment block with the updated style applied across other semantic-convention headers. No functional changes introduced.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/exception_attributes.h (1)
23-28: Deprecation metadata updated and comment reformatted
The deprecation annotation forkExceptionEscapedhas been streamlined—block‐style asterisks removed, the reason changed to"obsoleted", and a newline appended in the JSON note. This matches the uniform style applied across other semantic‐convention headers.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/log_attributes.h (1)
22-24: Documentation formatting consistency
The comment blocks have been reformatted for improved readability and now match the style applied across other semantic convention headers. There are no semantic or API changes to the constant declarations.Also applies to: 27-29, 32-34, 37-39, 42-44, 47-53, 56-63, 68-70, 73-75
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/dns_attributes.h (1)
23-28: Consistent comment formatting appliedThe re-indented block removes leading asterisks and aligns with the standardized style update across semantic convention headers, without impacting any API behavior or documentation content.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/event_attributes.h (1)
22-27: Comment style refactor only
This change solely updates the formatting of the deprecation comment block—no API, logic, or constant values were altered. It’s consistent with the broader doc cleanup across semantic-convention headers.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/dns_metrics.h (1)
23-27: Comment block formatting is consistent and clear.The refactored Doxygen comment removes redundant leading asterisks and follows the minimal style adopted across semantic convention headers. No functional or API changes have been introduced.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/peer_attributes.h (1)
23-25: Approve comment reformatting.The revised indentation and removal of leading asterisks here are purely cosmetic and align with the standardized style applied across semantic convention headers. No behavioral impact.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/graphql_attributes.h (6)
22-26: Consistent comment formatting forkGraphqlDocument
Reformatted lines to remove leading asterisks and standardize indentation with other semantic‐convention headers. No changes to constant values or behavior.
29-31: Consistent comment formatting forkGraphqlOperationName
Adjusted comment style by dropping the leading asterisk and aligning indentation. Purely cosmetic.
34-36: Consistent comment formatting forkGraphqlOperationType
Standardized the block comment indentation and removed extra asterisks, matching the project’s style.
41-43: Consistent comment formatting forkQueryvalue
Updated comment block to the space‐indented style without leading asterisks, consistent with other incubating headers.
46-48: Consistent comment formatting forkMutationvalue
Removed the leading asterisks and normalized indentation. No semantic changes.
51-53: Consistent comment formatting forkSubscriptionvalue
Indentation-only adjustment; aligns with the rest of the semantic convention comment style.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/cpu_attributes.h (2)
22-31: Approve: Cosmetic Comment ReformattingThe doc comments for
kCpuLogicalNumberandkCpuModehave been realigned and reformatted purely for readability. No changes to identifiers, values, or API behavior.
32-73: Approve: CpuModeValues Comment FormattingAll docblocks under
CpuModeValueswere adjusted for consistent indentation and alignment. The semantic content remains unchanged and there are no functional impacts.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/enduser_attributes.h (4)
22-27: Consistent comment formatting forkEnduserId
Docblock reformatted to remove leading asterisks and normalize indentation without altering content or semantics.
30-36: Consistent comment formatting forkEnduserPseudoId
Docblock reformatted similarly for readability, preserving the warning about sensitive information.
40-44: Structured deprecation metadata forkEnduserRole
The deprecation note now uses JSON metadata with a clear replacement suggestion.
48-51: Clarified deprecation reason forkEnduserScope
Updated JSON metadata marks this attribute as “obsoleted” with no replacement defined.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/url_attributes.h (5)
22-24: Documentation formatting refined for kUrlFragment.
Comment indentation and line breaks now align with the updated style guide; no semantic changes introduced.
27-38: Consistent reflow of kUrlFull description.
Multi-line descriptions are reformatted for clarity and uniformity with other semantic headers; content and examples remain unaltered.
40-58: Expanded redaction guidance reflowed.
Long lists and paragraphs are neatly indented and broken across lines, improving readability without altering meaning.
61-66: kUrlPath comment streamlined.
Whitespace and wrapping adjustments match the new documentation style; functionality unaffected.
69-91: kUrlQuery block re-indented for consistency.
The detailed query component guidelines are rewrapped and indented for uniformity; no content was removed.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/heroku_attributes.h (3)
22-24: Approve updated comment formatting forkHerokuAppId.
Stylistic change only—aligned Javadoc block with project conventions; no impact on code functionality.
27-29: Approve updated comment formatting forkHerokuReleaseCommit.
Purely cosmetic adjustment for consistency; semantics unchanged.
32-34: Approve updated comment formatting forkHerokuReleaseCreationTimestamp.
Documentation style aligned with other semantic-convention headers; no logic change.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/oci_attributes.h (1)
23-30: Docs block reformatted, no behavioral change
This is a formatting-only update to remove leading asterisks and standardize the comment style in the auto-generated semantic convention headers. No functional or API behavior is affected. Please ensure this new style aligns with the project’s Doxygen/documentation guidelines.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/linux_attributes.h (3)
22-24: Approve comment style standardization for Linux memory slab state
Updating the comment block to the new standardized style improves consistency and readability without affecting functionality.
29-31: Approve updated comment styling for reclaimable state
The revised comment formatting aligns with other semantic-convention headers and is purely cosmetic.
34-36: Approve updated comment styling for unreclaimable state
Consistent comment style applied; no change to behavior or semantics.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/error_attributes.h (2)
23-43: Approve comment block reformattingThe Javadoc-style block has been converted into a cleaner, uniform comment format that aligns with other
semconvheaders. No functional or semantic changes were introduced.
48-50: Approve fallback error comment formattingThe fallback error description now follows the updated comment style, ensuring consistency across semantic convention files.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/destination_attributes.h (2)
23-26: Approve formatting-only updates to the address comment block.Indentation and removal of leading asterisks have been applied consistently without changing any semantics, improving readability.
31-31: Approve formatting-only update to the port comment.The single-line comment has been reformatted to match surrounding style, with no effect on functionality.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/disk_attributes.h (3)
22-25: LGTM: Comment formatting improved for consistency.The comment formatting change removes leading asterisks and standardizes the documentation style, which aligns with the broader OpenTelemetry C++ semantic convention formatting improvements in this dependency update.
29-32: LGTM: Consistent comment formatting applied.The formatting change maintains consistency with the updated documentation style across the file.
34-37: LGTM: Documentation formatting standardized.The comment formatting change completes the consistent documentation style across all constants in this file. The functional definitions remain unchanged, and this formatting improvement enhances readability and consistency with other OpenTelemetry semantic convention headers.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/cpu_metrics.h (1)
23-27: Formatting-only comment adjustments
The PR standardizes the comment blocks by removing leading asterisks and re-indenting the metric descriptions without altering any constant names, descriptions, or signatures. These are purely cosmetic changes.Please verify that your Doxygen/semantic-convention documentation generator still correctly parses these blocks after the formatting change.
Also applies to: 64-68, 98-101
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/os_attributes.h (5)
23-23: Approve formatting-only change for OS build ID comment.
The updated indentation enhances readability without affecting the constant definition.
28-29: Approve formatting-only change for OS description comment.
Adjusted indent and removed leading asterisks for clarity; semantics remain unchanged.
34-34: Approve formatting-only change for OS name comment.
Consistent two-space indentation applied; no impact on functionality.
39-39: Approve formatting-only change for OS type comment.
Comment block reformatted for uniformity without altering content.
44-45: Approve formatting-only change for OS version hyperlink comment.
Indentation and comment style updated for consistency; link remains intact.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/host_attributes.h (1)
23-151: LGTM! Formatting changes align with dependency update.These changes are purely cosmetic reformatting of documentation comments in an auto-generated file, changing from Javadoc-style to a simpler comment format. No functional code, constant values, or logic has been modified. This is consistent with the OpenTelemetry C++ library update to version 1.21.0 and represents upstream formatting standardization.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/test_attributes.h (12)
23-24: Cosmetic: Reformat Doxygen comment forkTestCaseName.The updated comment style aligns with the project’s compact Doxygen formatting and introduces no semantic changes.
29-30: Cosmetic: Reformat Doxygen comment forkTestCaseResultStatus.Comment reflow enhances readability and remains functionally identical.
34-35: Cosmetic: Reformat Doxygen comment forkTestSuiteName.Style-only adjustment; no impact on code behavior.
39-40: Cosmetic: Reformat Doxygen comment forkTestSuiteRunStatus.Consistent comment styling applied without altering semantics.
46-47: Cosmetic: Reformat Doxygen comment forkPass.Stylistic update to align with compact comment guidelines; functionality unchanged.
51-52: Cosmetic: Reformat Doxygen comment forkFail.Purely cosmetic change for consistency; no code logic affected.
60-61: Cosmetic: Reformat Doxygen comment forkSuccess.Improves comment uniformity; no functional modifications.
65-66: Cosmetic: Reformat Doxygen comment forkFailure.Comment style updated only; retains original meaning.
70-71: Cosmetic: Reformat Doxygen comment forkSkipped.Formatting-only change to maintain consistency.
75-76: Cosmetic: Reformat Doxygen comment forkAborted.Stylistic adjustment; functionality unaffected.
80-81: Cosmetic: Reformat Doxygen comment forkTimedOut.Aligns comment style with project conventions; no semantic change.
85-86: Cosmetic: Reformat Doxygen comment forkInProgress.Consistent Doxygen formatting applied; code behavior remains the same.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/cloudevents_attributes.h (5)
23-24: LGTM! Comment formatting standardization improves consistency.The comment content and CloudEvents specification link are preserved while improving readability through consistent formatting.
29-31: LGTM! Consistent comment formatting maintained.The comment content and specification reference are properly preserved with improved formatting consistency.
36-38: LGTM! Comment formatting aligns with codebase standards.The CloudEvents specification link and attribute description are correctly preserved with standardized formatting.
43-45: LGTM! Documentation formatting is consistent and content preserved.The attribute description and CloudEvents specification reference remain intact with improved formatting.
50-52: LGTM! Final comment block maintains consistency.The event_type attribute documentation and CloudEvents specification link are properly preserved with standardized formatting.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/cassandra_attributes.h (17)
23-24: Consistent comment formatting
Updated the doc block to use space-indented lines instead of leading asterisks, matching the new project-wide style.
29-30: Consistent comment formatting
Applied space-indented comment style here as well for uniformity across semantic-convention headers.
34-35: Consistent comment formatting
Reformatted this doc block to remove leading asterisks and adopt space indentation.
39-40: Consistent comment formatting
Space-indented comment lines replace the previous asterisk-led style for clarity and consistency.
44-45: Consistent comment formatting
Switched to space-indented doc lines here to align with the formatting in other semantic headers.
49-50: Consistent comment formatting
Doc block reformatted to space-indented style, removing leading asterisks for consistency.
58-59: Consistent comment formatting
Standardized this enum value’s comment to the new space-indented format.
63-64: Consistent comment formatting
Updated the leading-asterisk comment to space-indented style for uniform documentation.
68-69: Consistent comment formatting
Reformatted this enum comment block to match the space-indented convention.
73-74: Consistent comment formatting
Switched to space-indented lines, removing the preceding asterisk.
78-79: Consistent comment formatting
Adopted space indentation here to unify the documentation style.
83-84: Consistent comment formatting
Applied the new doc formatting convention to this comment block.
88-89: Consistent comment formatting
Reformatted to space-indented comment lines, removing leading asterisks.
93-94: Consistent comment formatting
Updated comment to the space-indented style for coherence across headers.
98-99: Consistent comment formatting
Transitioned this enum value comment to the standardized space-indented format.
103-104: Consistent comment formatting
Replaced leading asterisks with space indentation in this doc block.
108-109: Consistent comment formatting
Aligned this final enum comment with the new project-wide formatting convention.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/faas_attributes.h (1)
1-232: Approve: Purely comment formatting improvementsThe diffs only adjust indentation and style of existing comment blocks for consistency and readability. No code logic, constant definitions, or namespaces have been altered.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/hw_attributes.h (1)
22-24: Consistent comment formatting across attribute descriptions
The Javadoc-style blocks have been reformatted to a cleaner, space-indented style without leading asterisks, improving readability and aligning with the broader semantic conventions update. No functional or API changes were made.Also applies to: 27-29, 32-35, 38-40, 43-50, 55-57, 60-62, 65-67, 75-77, 79-81, 84-86, 89-91, 94-96, 99-101, 104-106, 109-111, 114-116, 119-121, 124-126, 129-131, 134-136, 139-141
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/hw_metrics.h (8)
23-27: Approve comment reformatting
The Doxygen block forhw.energywas reformatted for consistency and readability without altering content.
58-62: Approve comment reformatting
The Doxygen block forhw.errorswas reformatted for consistency and readability without altering content.
93-97: Approve comment reformatting
The Doxygen block forhw.host.ambient_temperaturewas reformatted for consistency and readability without altering content.
138-144: Approve comment reformatting
The Doxygen block forhw.host.energywas reformatted for consistency and readability without altering content.
179-182: Approve comment reformatting
The Doxygen block forhw.host.heating_marginwas reformatted for consistency and readability without altering content.
221-226: Approve comment reformatting
The Doxygen block forhw.host.powerwas reformatted for consistency and readability without altering content.
263-268: Approve comment reformatting
The Doxygen block forhw.powerwas reformatted for consistency and readability without altering content.
301-311: Approve comment reformatting
The Doxygen block forhw.statuswas reformatted for consistency and readability without altering content.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/cloudfoundry_attributes.h (11)
23-27: Doc comment style standardized for kCloudfoundryAppId.
Reformatted to use inline<p>tags and match project conventions. No semantic changes.
32-38: Doc comment style standardized for kCloudfoundryAppInstanceId.
Reformatted to use inline<p>tags and match project conventions. No semantic changes.
43-47: Doc comment style standardized for kCloudfoundryAppName.
Reformatted to use inline<p>tags and match project conventions. No semantic changes.
52-56: Doc comment style standardized for kCloudfoundryOrgId.
Reformatted to use inline<p>tags and match project conventions. No semantic changes.
61-66: Doc comment style standardized for kCloudfoundryOrgName.
Reformatted to use inline<p>tags and match project conventions. No semantic changes.
70-75: Doc comment style standardized for kCloudfoundryProcessId.
Reformatted to use inline<p>tags and match project conventions. No semantic changes.
80-84: Doc comment style standardized for kCloudfoundryProcessType.
Reformatted to use inline<p>tags and match project conventions. No semantic changes.
89-93: Doc comment style standardized for kCloudfoundrySpaceId.
Reformatted to use inline<p>tags and match project conventions. No semantic changes.
98-102: Doc comment style standardized for kCloudfoundrySpaceName.
Reformatted to use inline<p>tags and match project conventions. No semantic changes.
107-114: Doc comment style standardized for kCloudfoundrySystemId.
Reformatted to use inline<p>tags and match project conventions. No semantic changes.
120-127: Doc comment style standardized for kCloudfoundrySystemInstanceId.
Reformatted to use inline<p>tags and match project conventions. No semantic changes.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/opentracing_attributes.h (3)
22-26: Comments formatting change is clean and consistent.The simplified block comment preserves the original description of
kOpentracingRefTypeand improves readability without affecting functionality.
31-34: Comment style updated correctly forkChildOf.The descriptive text remains intact and aligns with the formatting used across other semantic convention headers.
36-39: Comment style updated correctly forkFollowsFrom.No modifications to the constant’s value or API surface; formatting is consistent with the rest of the incubating attributes.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/faas_metrics.h (9)
23-27: Documentation formatting improvement forkMetricFaasColdstarts
Reformatted the doc comment block for clarity and consistency with project-wide style. No changes to metric identifiers or semantics.
60-64: Documentation formatting improvement forkMetricFaasCpuUsage
Updated the histogram doc comment to the new concise style. No functional impact on metric definition.
83-87: Documentation formatting improvement forkMetricFaasErrors
Revised the counter doc comment to match standardized formatting. Metric name and behavior remain unchanged.
118-122: Documentation formatting improvement forkMetricFaasInitDuration
Cleaned up the histogram doc comment formatting. No semantic changes to the metric.
142-146: Documentation formatting improvement forkMetricFaasInvocations
Standardized the counter doc comment style. Metric constant and description are intact.
179-183: Documentation formatting improvement forkMetricFaasInvokeDuration
Applied consistent formatting to the histogram doc comment. Functionality is unaffected.
203-207: Documentation formatting improvement forkMetricFaasMemUsage
Refactored the histogram doc comment for readability. No changes to metric semantics.
228-232: Documentation formatting improvement forkMetricFaasNetIo
Updated the histogram doc comment to align with the new documentation style. Metric definitions remain the same.
249-253: Documentation formatting improvement forkMetricFaasTimeouts
Cleaned up the counter doc comment block for consistency. No alterations to the metric’s behavior or identifiers.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/artifact_attributes.h (7)
22-27: Consistent comment reformatting applied
The Javadoc-style block has been reformatted to a space-prefixed style, aligning with the updated convention across semantic headers. No content or API behavior has changed.
30-35: Space-prefixed comment style
The comment block has been reformatted consistently without altering its meaning. This matches the standardized layout used project-wide.
38-40: Single-line comment updated
Replaced the leading asterisk with a space prefix for uniformity. No semantic change.
43-50: Block comment alignment updated
Formatted the multi-line description to the new space-prefixed style, improving consistency with other semconv headers.
53-62: Extended comment block reformatted
Updated the long-form comment to the standard space-prefixed layout. All links and text remain intact.
65-70: Package URL comment styling
Applied the same space-prefixed format to this block. No changes to attribute name or value.
73-76: Version attribute comment reformatted
Converted the single-line Javadoc block into the unified space-prefixed format. Functionality unchanged.deps/opentelemetry-cpp/.devcontainer/devcontainer.json (1)
13-15: Add CMake version build arg
IntroducingCMAKE_VERSIONwith a default of3.31.6aligns the devcontainer with the new CMake flexibility. Please verify that this default works correctly in both Dockerfiles (Dockerfile.devandDockerfile.conan) and matches the minimum supported CMake version.deps/opentelemetry-cpp/.devcontainer/README.md (1)
6-12: DocumentCMAKE_VERSION
The new CMake version section clearly explains how to customize the installed CMake. Good consistency with other build arguments.deps/opentelemetry-cpp/.devcontainer/Dockerfile.dev (2)
11-11: IntroduceCMAKE_VERSIONbuild arg
AddingARG CMAKE_VERSION=3.31.6ensures the container can install the specified CMake version.
17-17: ExposeCMAKE_VERSIONin environment
SettingENV CMAKE_VERSION=${CMAKE_VERSION}makes the version available to setup scripts.deps/opentelemetry-cpp/.devcontainer/Dockerfile.conan (9)
1-4: Pin base image for reproducibility
Usingubuntu:24.04@sha256:…ensures consistent builds.
22-22: Lock Conan version
Pinning toconan==2.15.1is excellent for build stability.
24-31: Verify user setup args/envs
ARGs and ENVs forUSER_NAME,USER_UID,USER_GID, andINSTALL_PACKAGESmirror the other Dockerfile. Ensurecustomize_container.shuses these to create thedevusercorrectly.
33-35: Execute container customization script
Running the custom script early is appropriate for user and environment setup.
37-37: Bootstrap Conan profile
Usingconan profile detect --forceis correct to initialize the default profile.
39-44: Validate conanfile path
Confirm thatCOPY ./install/conan/ .matches your build context and directory structure so Conan installation can locateconanfile_stable.txt.
45-45: Install dependencies via Conan
conan install ./${CONAN_FILE} --build=missingcorrectly fetches and builds required packages.
46-50: Set Conan and CMake env vars
ExportingCMAKE_TOOLCHAIN_FILE,CXX_STANDARD,BUILD_TYPE, andCONAN_FILEensures downstream builds use the correct toolchain and settings.
51-56: Finalize working directory and entrypoint
Switching to/workspaces/opentelemetry-cppand defaulting to Bash aligns with devcontainer best practices.deps/opentelemetry-cpp/api/include/opentelemetry/common/macros.h (1)
344-346: Fixed typo in intrinsic comment
The correction from “instrinsic” to “intrinsic” improves documentation clarity.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/client_attributes.h (2)
23-26: Approve reformatting ofkClientAddresscomment
The updated block-style comment without leading asterisks is more consistent with the project’s documentation style.
31-35: Approve reformatting ofkClientPortcomment
Comment formatting has been standardized and readability improved.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/client_attributes.h (2)
23-26: Approve reformatting of incubatingkClientAddresscomment
Formatting-only change; aligns with other semantic convention headers.
31-35: Approve reformatting of incubatingkClientPortcomment
Consistency in comment style maintained across incubating headers.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/az_attributes.h (2)
23-25: Approve reformatting ofkAzNamespacecomment
Cosmetic update only; improves readability of documentation.
30-31: Approve reformatting ofkAzServiceRequestIdcomment
Comment style standardized without altering semantics.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/http_metrics.h (2)
24-26: Approve reformatting of HTTP client duration metric comment
Removal of leading asterisks and consistent indentation enhances clarity.
50-52: Approve reformatting of HTTP server duration metric comment
Comment style cleanup is purely cosmetic and consistent with the overall PR.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/browser_attributes.h (1)
23-59: LGTM! Comment formatting improvements enhance readability.The formatting changes from Javadoc-style comments to space-indented comments improve consistency and readability. Since this is an auto-generated file, these changes reflect template improvements in the OpenTelemetry C++ 1.21.0 update.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/azure_attributes.h (1)
23-104: LGTM! Consistent comment formatting improvements.The comment formatting changes throughout the file improve consistency with other semantic convention headers. All constant definitions and values remain unchanged - only documentation formatting has been improved.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/azure_metrics.h (1)
24-26: LGTM! Documentation formatting improvements.The comment formatting changes for the metric descriptions improve readability while maintaining all functional code unchanged. The metric declarations and factory functions remain intact.
Also applies to: 69-70
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/network_attributes.h (1)
23-374: LGTM! Comprehensive comment formatting improvements.The extensive comment formatting changes throughout this file significantly improve readability and consistency. All network attribute constants, value definitions, and namespace structures remain functionally unchanged - only documentation formatting has been improved.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/rpc_metrics.h (1)
24-31: LGTM: Comment formatting improvements enhance readability.The standardization of comment blocks from asterisk-prefixed style to consistent space indentation improves documentation readability across all RPC metrics. These auto-generated formatting improvements are beneficial and maintain consistency.
Also applies to: 53-57, 79-85, 109-113, 137-143, 167-174, 195-199, 221-227, 251-255, 279-285
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/cloud_attributes.h (1)
23-23: LGTM: Consistent comment formatting improvements.The comment formatting standardization across cloud attributes and their value enumerations improves documentation consistency and readability. These auto-generated changes align with the broader formatting improvements in the semantic convention headers.
Also applies to: 28-31, 35-38, 42-42, 47-56, 60-84, 90-90, 95-95, 100-100, 105-105, 110-110, 115-115, 120-120, 125-125, 130-130, 135-135, 140-140, 145-145, 150-150, 155-155, 160-160, 165-165, 170-170, 175-175, 180-180, 185-185, 190-190, 195-195, 200-200, 205-205, 210-210, 215-215, 220-220, 225-225, 230-230, 235-235, 244-244, 249-249, 254-254, 259-259, 264-264, 269-269, 274-274, 279-279
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/cicd_metrics.h (1)
24-26: LGTM: Comment formatting standardization.The formatting improvements for CI/CD metrics documentation follow the same beneficial pattern as other semantic convention headers, enhancing readability and maintaining consistency across the auto-generated files.
Also applies to: 66-68, 92-97, 135-138, 174-176
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/messaging_metrics.h (1)
24-30: LGTM: Comment formatting and enhanced deprecation metadata.The formatting improvements follow the consistent pattern across semantic convention headers. Additionally, the enhanced deprecation annotations with structured JSON metadata (
"reason": "renamed"and"renamed_to"fields) provide much clearer migration guidance for users transitioning from deprecated messaging metrics to their replacements.Also applies to: 71-74, 99-103, 145-149, 189-192, 216-220, 262-266, 291-295, 300-300, 337-341, 366-370
deps/opentelemetry-cpp/exporters/ostream/CMakeLists.txt (2)
18-18: Variable declared implicitly – verify wider-scope expectations
list(APPEND OPENTELEMETRY_OSTREAM_TARGETS …)works even when the variable has not been pre-declared, but it is created only in the current directory scope.
If any parent/peerCMakeLists.txtlater expectsOPENTELEMETRY_OSTREAM_TARGETSto be populated (e.g., for cumulative packaging of all ostream targets), you’ll need to promote it withset(OPENTELEMETRY_OSTREAM_TARGETS "${OPENTELEMETRY_OSTREAM_TARGETS}" PARENT_SCOPE)or declare it in a common file before theselist(APPEND)calls.Please double-check the intended visibility; otherwise everything is fine here.
69-80:Details
❓ Verification inconclusive
otel_add_componentcall isn’t guarded byOPENTELEMETRY_INSTALLPreviously the install steps were wrapped with
if(OPENTELEMETRY_INSTALL)…endif().
The new consolidated call is unconditional; if a consumer configures the
project with-DOPENTELEMETRY_INSTALL=OFF, the macro might still
generate install rules (depends on its internal logic).Action:
-if(OPENTELEMETRY_INSTALL) otel_add_component( COMPONENT exporters_ostream TARGETS ${OPENTELEMETRY_OSTREAM_TARGETS} FILES_DIRECTORY "include/opentelemetry/exporters/ostream" FILES_DESTINATION "include/opentelemetry/exporters" FILES_MATCHING PATTERN "*.h") -endif()or ensure
otel_add_componentalready checks the variable internally.Confirm the behaviour to avoid surprise install artefacts.
Let’s verify whether
otel_add_componentinternally honorsOPENTELEMETRY_INSTALL. Running a search to pull in its full definition:
🏁 Script executed:
#!/bin/bash set -e echo "Locating and dumping the otel_add_component macro:" rg -l "macro.*otel_add_component" | while read file; do echo echo "===== Definition in: $file =====" awk 'BEGIN{IGNORECASE=1} /macro\(\s*otel_add_component/{flag=1} } flag{print} /endmacro/{ if(flag){exit} }' "$file" doneLength of output: 167
To confirm whether
otel_add_componentalready respectsOPENTELEMETRY_INSTALL, let’s search for its definition (as both a macro or function) and any usage ofOPENTELEMETRY_INSTALLin the CMake files:
🏁 Script executed:
#!/bin/bash set -e echo ">> Looking for otel_add_component definition (macro or function)" rg -nE "macro\\s*\\(\\s*otel_add_component|function\\s*\\(\\s*otel_add_component" -g "*.cmake" echo echo ">> Checking for OPENTELEMETRY_INSTALL references" rg -n "OPENTELEMETRY_INSTALL" -g "*.cmake"Length of output: 635
Let’s locate every occurrence of
otel_add_componentto find its definition and usages:
🏁 Script executed:
#!/bin/bash set -e echo "Searching for otel_add_component across the repo:" rg -n "otel_add_component"Length of output: 1365
Let’s locate the macro definition in the OpenTelemetry C++ cmake modules and inspect whether it checks
OPENTELEMETRY_INSTALL:
🏁 Script executed:
#!/bin/bash set -e echo "Step 1: List all CMake module files in deps/opentelemetry-cpp:" find deps/opentelemetry-cpp -type f -name "*.cmake" echo echo "Step 2: Search for the otel_add_component definition (macro or function):" grep -R -E "macro *\\( *otel_add_component|function *\\( *otel_add_component" -n deps/opentelemetry-cppLength of output: 466
Let’s inspect the top of the vendored OpenTelemetry C++ CMakeLists to see where
otel_add_componentis defined and if it’s gated byOPENTELEMETRY_INSTALL:
🏁 Script executed:
#!/bin/bash set -e echo "=== Head of deps/opentelemetry-cpp/CMakeLists.txt ===" sed -n '1,200p' deps/opentelemetry-cpp/CMakeLists.txt echo echo "=== Include directives in that file ===" grep -n include deps/opentelemetry-cpp/CMakeLists.txtLength of output: 260
Let’s search all
CMakeLists.txtunderdeps/opentelemetry-cppfor theotel_add_componentdefinition:
🏁 Script executed:
#!/bin/bash set -e echo "=== Listing CMakeLists.txt under deps/opentelemetry-cpp ===" find deps/opentelemetry-cpp -type f -name "CMakeLists.txt" echo echo "=== Grepping for macro or function definition of otel_add_component ===" grep -R -nE "macro *\\( *otel_add_component|function *\\( *otel_add_component" deps/opentelemetry-cppLength of output: 3100
Further inspection is needed to locate the
otel_add_componentdefinition outside the vendored folder. Let’s search the entire repo for its macro or function declaration:
🏁 Script executed:
#!/bin/bash set -e echo "Searching entire repo for otel_add_component macro:" grep -R -nE 'macro *\(\s*otel_add_component' . echo echo "Searching entire repo for otel_add_component function:" grep -R -nE 'function *\(\s*otel_add_component' .Length of output: 170
Let’s search the entire repo (excluding the vendored
depsfolder) for any CMake modules definingotel_add_component:
🏁 Script executed:
#!/bin/bash set -e echo "=== All .cmake files outside deps directory ===" find . -type f -name "*.cmake" -not -path "./deps/*" echo echo "=== Searching those modules for otel_add_component definition ===" grep -R -nE "macro *\\( *otel_add_component|function *\\( *otel_add_component" -not -path "./deps/*" .Length of output: 531
Confirm
otel_add_componenthonors OPENTELEMETRY_INSTALL
I wasn’t able to locate the definition ofotel_add_componentin the vendored CMake modules, so it’s unclear whether it internally checksOPENTELEMETRY_INSTALL. Please manually verify that this macro skips all install steps when-DOPENTELEMETRY_INSTALL=OFF. If not, wrap the call in:-if(OPENTELEMETRY_INSTALL) otel_add_component( COMPONENT exporters_ostream TARGETS ${OPENTELEMETRY_OSTREAM_TARGETS} FILES_DIRECTORY "include/opentelemetry/exporters/ostream" FILES_DESTINATION "include/opentelemetry/exporters" FILES_MATCHING PATTERN "*.h") -endif()or add an equivalent guard inside the macro to prevent unintentional install rules.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/db_metrics.h (1)
24-28: Docs only – looks goodComment formatting only; no API surface changed.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/elasticsearch_attributes.h (1)
23-24: Minor comment re-flow – no issuesPurely stylistic; implementation untouched.
deps/opentelemetry-cpp/api/test/trace/noop_test.cc (1)
74-74: LGTM! Test correctly validates NoopTracer disabled state.The assertion properly tests that
NoopTracer::Enabled()returnsfalse, which is the expected behavior for a no-op tracer implementation in ABI version 2+.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/source_attributes.h (2)
23-26: Approve comment formatting standardization.The reformatting improves readability by removing redundant leading asterisks while preserving all semantic content.
31-31: Approve comment formatting standardization.Consistent with the broader formatting improvements across semantic convention headers.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/service_attributes.h (4)
23-49: Approve extensive comment formatting improvement.The reformatting significantly improves readability of the detailed service instance ID documentation while preserving all semantic content and guidelines.
54-60: Approve comment formatting standardization.Clean formatting improvement for service name documentation that maintains all important details about fallback behavior.
65-72: Approve comment formatting standardization.Improved readability for service namespace documentation while preserving the important uniqueness requirements.
77-78: Approve comment formatting standardization.Simple but consistent formatting improvement for service version documentation.
deps/opentelemetry-cpp/api/include/opentelemetry/trace/noop.h (1)
99-104: LGTM! Proper implementation of tracer enablement for NoopTracer.The default constructor correctly initializes the NoopTracer as disabled for ABI version 2+, which is the expected behavior for a no-op implementation. The conditional compilation ensures backward compatibility.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/url_attributes.h (1)
23-78: LGTM: Comment formatting standardization.The comment formatting has been standardized from asterisk-led to space-aligned style, improving readability and consistency across semantic convention headers. Since this is an auto-generated file, the changes appropriately reflect template updates.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/user_attributes.h (1)
23-52: LGTM: Consistent comment formatting improvements.The comment formatting has been updated to match the standardized style across semantic convention headers. No functional changes to the user attribute constants.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/geo_attributes.h (1)
23-96: LGTM: Comprehensive comment formatting standardization.The comment formatting has been consistently updated across both attribute constants and enum values, maintaining the same clean style applied throughout the semantic convention headers.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/service_attributes.h (1)
23-36: LGTM: Service attributes comment formatting aligned.The comment formatting for service attributes has been updated to match the standardized style, maintaining consistency across all semantic convention headers.
deps/opentelemetry-cpp/api/test/singleton/singleton_test.cc (1)
172-177: LGTM: Proper ABI-versioned tracer enabled state initialization.The default constructor correctly implements the new tracer enabled state management for ABI version 2+. The conditional compilation ensures backward compatibility, and setting the tracer to enabled (true) is appropriate for a test tracer implementation.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/server_attributes.h (2)
23-26: Consistent comment formatting applied
Reformatted thekServerAddressdocumentation block to remove leading asterisks and align with project-wide style. No API or semantic changes.
31-35: Consistent comment formatting applied
Reformatted thekServerPortdocumentation block to match the updated comment style. No API or semantic changes.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/webengine_attributes.h (1)
23-24: Unified comment style for webengine attributes
Removed leading asterisks and adjusted indentation across all documentation blocks (kWebengineDescription,kWebengineName,kWebengineVersion). No changes to identifiers or values.Also applies to: 28-29, 33-34
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/server_attributes.h (2)
23-26: Consistent comment reformatting for incubating server attributes
Updated thekServerAddressdoc block to the standard two-space indent style without leading asterisks. No functional changes.
31-35: Consistent comment reformatting for incubating server attributes
Updated thekServerPortdoc block to the standard two-space indent style without leading asterisks. No functional changes.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/security_rule_attributes.h (1)
23-24: Standardized comment formatting for all security_rule attributes
Adjusted indentation and removed leading asterisks across every documentation block (kSecurityRuleCategory,kSecurityRuleDescription,kSecurityRuleLicense,kSecurityRuleName,kSecurityRuleReference,kSecurityRuleRulesetName,kSecurityRuleUuid,kSecurityRuleVersion). No semantic or identifier changes.Also applies to: 28-29, 33-34, 38-39, 43-47, 51-53, 57-59, 63-64
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/schema_url.h (1)
22-22: Updated schema URL to latest version
BumpedkSchemaUrlfrom schema version1.31.0to1.34.0to align with the new semantic conventions.deps/opentelemetry-cpp/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_client.h (1)
65-65: LGTM! Good architectural improvement.The addition of the static
GetGrpcTargetmethod centralizes endpoint parsing and normalization logic, which improves code reusability and maintainability. The method signature is appropriate for a utility function that handles URL parsing for different formats.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/session_attributes.h (1)
23-23: LGTM! Comment formatting improvement.The updated comment formatting removes asterisk prefixes and provides cleaner, more consistent documentation style. Since this is an auto-generated file, the improvement likely comes from updated generation templates.
Also applies to: 28-28
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/message_attributes.h (2)
23-27: LGTM! Enhanced deprecation metadata.The structured JSON deprecation metadata is a significant improvement that provides:
- Clear machine-readable reasons for deprecation ("renamed")
- Explicit replacement attribute names in "renamed_to" fields
- Better tooling support for migration assistance
The comment formatting updates also improve consistency and readability.
Also applies to: 33-37, 42-46, 51-55
63-63: LGTM! Consistent comment formatting.The comment formatting updates provide better consistency across the codebase and improved readability.
Also applies to: 68-68
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/telemetry_attributes.h (1)
23-23: LGTM! Consistent documentation formatting.The comment formatting standardization improves readability and maintains consistency across all telemetry attribute documentation. These auto-generated improvements enhance the overall documentation quality.
Also applies to: 28-36, 41-41, 48-48, 53-53, 58-58, 63-63, 68-68, 73-73, 78-78, 83-83, 88-88, 93-93, 98-98, 103-103
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/http_metrics.h (10)
24-26: Consistent doc comment formatting for HTTP client active requests
Standardized the comment block without altering the metric name or description.
66-68: Consistent doc comment formatting for HTTP client connection duration
Standardized the comment block without altering the metric name or description.
93-95: Consistent doc comment formatting for HTTP client open connections
Standardized the comment block without altering the metric name or description.
135-139: Consistent doc comment formatting for HTTP client request body size
Standardized the comment block without altering the metric name or description.
164-166: Consistent doc comment formatting for HTTP client request duration
Standardized the comment block without altering the metric name or description.
190-195: Consistent doc comment formatting for HTTP client response body size
Standardized the comment block without altering the metric name or description.
220-222: Consistent doc comment formatting for HTTP server active requests
Standardized the comment block without altering the metric name or description.
261-266: Consistent doc comment formatting for HTTP server request body size
Standardized the comment block without altering the metric name or description.
291-292: Consistent doc comment formatting for HTTP server request duration
Standardized the comment block without altering the metric name or description.
317-322: Consistent doc comment formatting for HTTP server response body size
Standardized the comment block without altering the metric name or description.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/other_attributes.h (1)
23-28: Deprecation metadata refined forkStateattribute
Updated the JSON metadata to specify"reason": "renamed"and"renamed_to": "db.client.connection.state"without changing the constant’s value.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/user_agent_attributes.h (8)
23-28: Consistent doc comment formatting forkUserAgentName
Standardized the comment block without altering the attribute name or description.
33-34: Consistent doc comment formatting forkUserAgentOriginal
Standardized the comment block without altering the attribute name or description.
39-42: Consistent doc comment formatting forkUserAgentOsName
Standardized the comment block without altering the attribute name or description.
47-50: Consistent doc comment formatting forkUserAgentOsVersion
Standardized the comment block without altering the attribute name or description.
55-62: Consistent doc comment formatting forkUserAgentSyntheticType
Standardized the comment block without altering the attribute name or description.
67-72: Consistent doc comment formatting forkUserAgentVersion
Standardized the comment block without altering the attribute name or description.
81-81: Consistent doc comment formatting for synthetic type valuekBot
Standardized the comment block without altering the constant or its meaning.
84-84: Consistent doc comment formatting for synthetic type valuekTest
Standardized the comment block without altering the constant or its meaning.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/container_metrics.h (6)
24-28: Consistent doc comment formatting forkMetricContainerCpuTime
Standardized the comment block without altering the metric name or description.
63-67: Consistent doc comment formatting forkMetricContainerCpuUsage
Standardized the comment block without altering the metric name or description.
106-110: Consistent doc comment formatting forkMetricContainerDiskIo
Standardized the comment block without altering the metric name or description.
145-149: Consistent doc comment formatting forkMetricContainerMemoryUsage
Standardized the comment block without altering the metric name or description.
183-187: Consistent doc comment formatting forkMetricContainerNetworkIo
Standardized the comment block without altering the metric name or description.
222-226: Consistent doc comment formatting forkMetricContainerUptime
Standardized the comment block without altering the metric name or description.deps/opentelemetry-cpp/api/include/opentelemetry/version.h (2)
13-13: BumpOPENTELEMETRY_VERSIONto 1.21.0
Updated the version string to match the new release.
15-15: BumpOPENTELEMETRY_VERSION_MINORto 21
Updated the minor version macro to align with the new release.agents/otlp/src/otlp_common.cc (2)
28-28: LGTM: Adding consistent type alias.The new using declaration for
OwnedAttributeTypealigns with the existing pattern of type aliases in this file and supports the OpenTelemetry library update.
177-177: LGTM: Updated variant accessor for OpenTelemetry compatibility.The change from
std::get<std::string>toopentelemetry::nostd::get<std::string>is correct and aligns with the OpenTelemetry C++ 1.21.0 update that standardizes on nostd variant utilities throughout the library.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/network_attributes.h (1)
23-23: LGTM: Improved comment formatting for consistency.The standardized comment formatting enhances readability and maintains consistency across OpenTelemetry semantic convention headers. These cosmetic improvements align with the broader documentation style updates in the library.
Also applies to: 28-28, 33-33, 38-38, 43-45, 49-54, 57-63, 67-70, 77-77, 82-82, 87-87, 92-92, 97-97, 106-106, 111-111
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/thread_attributes.h (1)
23-23: LGTM: Consistent comment formatting improvement.The updated comment style enhances readability and maintains consistency with the standardized formatting applied across OpenTelemetry semantic convention headers.
Also applies to: 28-28
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/telemetry_attributes.h (1)
23-27: LGTM: Comprehensive comment formatting standardization.The updated comment formatting throughout this file improves readability and maintains consistency with the standardized documentation style being applied across all OpenTelemetry semantic convention headers. These cosmetic improvements enhance the overall documentation quality.
Also applies to: 32-32, 37-37, 42-50, 55-55, 62-62, 67-67, 72-72, 77-77, 82-82, 87-87, 92-92, 97-97, 102-102, 107-107, 112-112, 117-117
deps/opentelemetry-cpp/api/BUILD (1)
26-41: LGTM! Consistent configuration change for Abseil handling.The removal of the unconditional
HAVE_ABSEILdefine aligns with the deprecation warning for thewith_abseilflag and the overall move away from external Abseil linkage while maintaining internal Abseil usage.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/otel_attributes.h (1)
23-53: LGTM! Comment formatting improvements in auto-generated file.The comment style changes improve readability while maintaining all semantic content. Since this is an auto-generated file, the formatting updates likely come from template improvements.
deps/opentelemetry-cpp/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_metric_utils.h (1)
58-60: LGTM! Well-designed addition for exponential histogram support.The new method follows the established pattern of other metric conversion methods in the class, with consistent signature style and proper
noexceptspecification. This addition enhances OTLP export capabilities for Base2ExponentialHistogram metrics.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/vcs_metrics.h (1)
24-25: LGTM! Consistent comment formatting improvements.The comment style updates improve readability and consistency across the semantic conventions headers. All metric definitions and functional code remain unchanged.
Also applies to: 62-64, 103-104, 147-148, 188-190, 229-231, 267-272, 312-317, 357-358, 396-398
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/exception_attributes.h (2)
23-27: LGTM: Improved deprecation metadata specificity.The deprecation reason change from "uncategorized" to "obsoleted" provides clearer guidance to developers about why this attribute should no longer be used.
32-32: LGTM: Consistent comment formatting.The simplified comment style improves readability and maintains consistency across the semantic convention headers.
Also applies to: 37-38, 43-44
deps/opentelemetry-cpp/exporters/etw/CMakeLists.txt (1)
22-33: LGTM: Consolidated installation logic improves maintainability.The refactoring to use
otel_add_componentmacro centralizes and simplifies the installation process while maintaining the same functionality. The parameters correctly specify the component name, target, header directory, destination, and file pattern.deps/opentelemetry-cpp/exporters/otlp/test/otlp_file_exporter_test.cc (2)
111-113: LGTM: Proper ABI version 2 compatibility implementation.The explicit creation of
scope_attributesas anstd::unordered_mapaligns with the ABI version 2 API changes for tracer scope attributes. This ensures compatibility with the updatedGetTracermethod signature.
142-147: LGTM: Enhanced output parsing robustness.The addition of newline truncation logic properly handles cases where the exporter output might be split across multiple resource spans, ensuring only the first resource span JSON is parsed for validation. This makes the test more reliable when dealing with multiple output chunks.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/pool_attributes.h (1)
23-27: LGTM: Enhanced deprecation metadata with clear migration path.The structured deprecation metadata provides clear guidance with the "renamed" reason and explicit "renamed_to" field specifying
db.client.connection.pool.nameas the replacement. This helps developers understand exactly how to migrate from the deprecated attribute.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/process_metrics.h (1)
24-26: LGTM! Comment formatting improvements enhance readability.The formatting changes standardize the documentation comment style across all metric definitions, improving consistency and readability. Since this is an auto-generated file, these changes reflect template improvements upstream.
Also applies to: 66-68, 104-105, 147-149, 184-186, 222-224, 260-262, 297-299, 340-342, 378-380, 415-419
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/tls_attributes.h (2)
23-28: LGTM! Comment formatting improvements enhance readability.The standardized comment formatting improves consistency across all TLS attribute definitions.
Also applies to: 33-34, 39-41, 46-48, 53-55, 60-62, 67-69, 74-74, 79-79, 84-84, 99-99, 104-104, 109-109, 114-115, 120-122, 127-129, 134-136, 141-141, 146-147, 152-154, 159-161, 166-168, 173-175, 180-182, 187-187, 192-192, 197-197, 202-202, 209-209, 214-214
89-93: Excellent improvement to deprecation metadata.The enhanced deprecation annotation with structured JSON metadata clearly specifies the reason for deprecation ("renamed") and the replacement attribute ("server.address"), making it easier for developers to understand migration paths.
deps/opentelemetry-cpp/api/include/opentelemetry/nostd/internal/absl/base/options.h (1)
72-97: Excellent modernization of header inclusion strategy.This change improves compatibility across different C++ standards and compilers:
- Uses C++20
<version>header when available for better feature detection- Properly suppresses deprecation warnings for
<ciso646>in C++17 mode- Handles compiler-specific detection for GCC, Clang, and MSVC
- Maintains backward compatibility while reducing compiler noise
The implementation correctly uses feature detection and compiler-specific pragmas.
deps/opentelemetry-cpp/api/include/opentelemetry/plugin/tracer.h (1)
90-94: LGTM! Proper implementation of tracer enablement for ABI v2+.The conditional initialization of the enabled state maintains backward compatibility while enabling the new tracer enablement feature in ABI version 2+. Setting the default state to enabled is appropriate for a functional tracer instance.
deps/opentelemetry-cpp/exporters/etw/include/opentelemetry/exporters/etw/etw_tracer.h (1)
593-605: LGTM: Well-implemented tracer enablement API for ABI version 2.The addition of the
Enabled()method aligns with the broader OpenTelemetry C++ ABI version 2 enhancements. The implementation is correct:
- Properly guarded by ABI version check
- Returns
truefor ETW tracer (always enabled)- Includes comprehensive documentation for instrumentation authors
- Follows the virtual method pattern from the base Tracer class
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/profile_attributes.h (3)
23-83: LGTM: Improved documentation formatting.The comment formatting changes improve readability and consistency across the file by removing leading asterisks and using space alignment.
84-92: LGTM: Valuable addition of Go and Rust frame type constants.The addition of
kGoandkRustconstants provides more granular profiling frame types, complementing the existingkNativeconstant. The documentation properly links to Wikipedia pages for reference.
45-50: LGTM: Enhanced documentation for native frame types.The expanded documentation for
kNativeappropriately clarifies that it can represent multiple native languages and recommends using more precise values when possible, which aligns well with the newly addedkGoandkRustconstants.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/system_metrics.h (3)
24-29: LGTM: Enhanced deprecation metadata.The improved deprecation annotations with explicit "reason": "renamed" and "renamed_to" fields provide clearer guidance to developers about metric lifecycle management.
68-71: LGTM: Improved documentation formatting.The comment formatting standardization across all metrics improves readability and consistency. The multi-line descriptions are now cleaner and more professional.
155-161: LGTM: Consistent deprecation metadata improvements.The pattern of enhancing deprecation annotations is consistently applied across all deprecated metrics, providing developers with clear migration paths.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/file_attributes.h (1)
23-138: LGTM: Consistent documentation formatting improvements.The comment formatting standardization across all file attribute constants improves readability and maintains consistency with other semantic convention headers in the OpenTelemetry C++ API. No functional changes were made to any constants or their semantic meanings.
deps/opentelemetry-cpp/MODULE.bazel (1)
6-6:Details
❓ Verification inconclusive
Verify compatibility and security of dependency version updates.
The dependency updates include significant version bumps that should be verified for compatibility and security:
- opentelemetry-cpp: 1.17.0 → 1.21.0 (major feature release)
- nlohmann_json: 3.11.3 → 3.12.0
- opentelemetry-proto: 1.5.0 → 1.6.0
Please verify that these dependency versions are compatible and secure:
Also applies to: 15-16
🏁 Script executed:
#!/bin/bash # Check for security advisories and compatibility issues echo "Checking OpenTelemetry C++ releases..." gh api repos/open-telemetry/opentelemetry-cpp/releases --jq '.[] | select(.tag_name | test("v1\\.(17|18|19|20|21)\\.")) | {tag_name, published_at, body}' | head -20 echo "Checking nlohmann/json releases..." gh api repos/nlohmann/json/releases --jq '.[] | select(.tag_name | test("v3\\.(11|12)\\.")) | {tag_name, published_at, body}' | head -10 echo "Checking OpenTelemetry Proto releases..." gh api repos/open-telemetry/opentelemetry-proto/releases --jq '.[] | select(.tag_name | test("v1\\.[56]\\.")) | {tag_name, published_at, body}' | head -10Length of output: 69552
Validate compatibility and security of updated dependencies
Based on the available release notes:
opentelemetry-cpp: 1.17.0 → 1.21.0
- v1.21.0 removes the
WITH_ABSEILCMake option (uses internal Abseil only)—no impact on Bazel MODULE usage.- API changes affect only the SDK’s log-record classes (
ReadableLogRecord,ReadWriteLogRecord) and theirGetBody()/GetAttributes()methods. Applications not implementing custom log exporters remain unaffected.- No security advisories called out in the v1.21.0 changelog.
nlohmann_json: 3.11.3 → 3.12.0
- Minor release; explicitly backward-compatible.
- Adds new macros, optional()/filesystem/path enhancements—no breaking changes or known vulnerabilities.
opentelemetry-proto: 1.5.0 → 1.6.0
- Release notes were not retrieved automatically.
Action items:
- Manually verify that opentelemetry-proto v1.6.0 introduces no security advisories or breaking changes in your Bazel build.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/gen_ai_metrics.h (1)
23-27: LGTM! Comment formatting improvements enhance readability.The changes consistently improve documentation formatting by replacing asterisk-prefixed comments with cleaner space-indented format. All metric names, descriptions, units, and function signatures remain unchanged.
Also applies to: 49-53, 75-79, 101-105, 128-132
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/db_metrics.h (1)
24-26: LGTM! Consistent comment formatting improvements.The changes apply the same clean formatting style seen in other semantic convention headers, replacing asterisk-prefixed comments with space-indented format. All metric definitions, deprecation markers, and function signatures remain unchanged.
Also applies to: 64-68, 91-95, 133-137, 175-179, 217-221, 260-264, 303-307, 329-333, 355-362, 387-393, 433-439, 479-485, 525-531, 572-578, 618-624, 664-671, 695-702, 726-732, 773-779, 804-810, 832-836
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/deployment_attributes.h (2)
23-27: Excellent enhancement to deprecation metadata.The structured JSON deprecation annotation with explicit
reasonandrenamed_tofields significantly improves tooling support and provides clearer migration guidance for developers.
33-42: Well-documented uniqueness constraints.The detailed explanation of how
deployment.environment.nameinteracts with service identification attributes provides valuable context for proper usage and prevents common misunderstandings.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/code_attributes.h (3)
32-35: Important constraint to prevent data redundancy.The explicit prohibition of using this attribute on Profile signals with reference to 'message Line' helps maintain data integrity and prevents duplication.
66-84: Comprehensive documentation with excellent examples.The extensive list of language-specific examples for function names across Java, PHP, Go, Elixir, Erlang, Rust, and C provides valuable guidance for consistent implementation across different runtime environments.
25-27: Enhanced deprecation metadata structure.The JSON format with explicit
reason: "renamed"andrenamed_tofields provides better tooling support for automated migration assistance.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/container_attributes.h (2)
110-113: Helpful clarification for label recording format.The explicit example showing how to record a Docker container label
appwith valuenginxascontainer.label.appattribute provides clear implementation guidance.
42-44: Consistent deprecation metadata enhancement.The structured JSON format aligns with the deprecation metadata improvements seen across other semantic convention files, improving tooling consistency.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/messaging_attributes.h (3)
25-28: Clear guidance for batch operation instrumentation.The explicit instruction to use
messaging.batch.message_countonly for batching APIs and not for single-message APIs helps prevent misuse and ensures consistent metrics across different messaging patterns.
174-178: Excellent explanation of Kafka message key semantics.The detailed clarification of how Kafka message keys differ from
messaging.message.idand the guidance for handling non-string keys provides valuable implementation guidance for complex scenarios.
115-117: Comprehensive deprecation metadata across messaging attributes.The consistent application of structured JSON deprecation metadata with explicit reasons and replacement attributes throughout the messaging namespace enhances migration tooling support.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/rpc_attributes.h (1)
23-24: Documentation formatting cleanup.
Comment blocks were reformatted for consistency and clarity without altering any semantic values or declarations.Also applies to: 29-35, 40-46, 51-59, 63-69, 74-75, 80-81, 85-85, 90-93, 98-99
deps/opentelemetry-cpp/exporters/memory/CMakeLists.txt (1)
35-47: Consolidate component installation viaotel_add_component.
The manualinstall()commands were replaced by theotel_add_componentmacro to standardize and simplify component installation across exporters. This aligns with other exporter CMakeLists refactorings.deps/opentelemetry-cpp/api/include/opentelemetry/logs/logger.h (1)
45-46: Doxygen tag corrections.
All@tparamtags in the variadic logging method and severity-level overloads were correctly replaced with@paramto match the function parameters, enhancing documentation accuracy.Also applies to: 53-54, 99-100, 123-124, 147-148, 171-172, 195-196, 219-220, 243-244
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/k8s_metrics.h (1)
23-1724: Documentation-only: comment style normalization & deprecation metadata enhancement.
These changes uniformly update formatting of semantic metric comments and enrich deprecation annotations (addingreasonandrenamed_to), with no API or implementation modifications.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/process_attributes.h (2)
82-83: New semantic attribute:process.environment_variable.
IntroduceskProcessEnvironmentVariablefor capturing environment variables underprocess.environment_variable.<KEY>. Documentation examples and naming follow established conventions.
22-64: Documentation formatting & deprecation metadata updates.
Existing process attribute comments were reformatted for consistency, and deprecated attributes now include precise metadata (reason,renamed_to) per updated semantic-conventions schema.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/http_attributes.h (3)
23-37: LGTM! Excellent documentation improvements.The addition of HTML formatting (
<p>,<ul>,<li>) and concrete examples significantly improves the clarity and readability of the HTTP request header documentation. The examples clearly demonstrate how headers should be recorded as attributes with proper array formatting.
42-58: Well-structured documentation with comprehensive guidance.The enhanced documentation for
http.request.methodprovides clear guidance on:
- Known vs unknown HTTP methods
- Environment variable configuration (
OTEL_INSTRUMENTATION_HTTP_KNOWN_METHODS)- Case sensitivity requirements
- Framework-specific handling
77-90: Clear and consistent documentation pattern.The HTTP response header documentation follows the same improved formatting pattern as the request headers, providing consistent examples and guidance for instrumentations.
deps/opentelemetry-cpp/exporters/otlp/BUILD (3)
6-7: Good build configuration organization.Moving the package visibility declaration to the top improves BUILD file organization and readability.
477-489: Well-structured new test target.The new
otlp_grpc_target_testfollows the established pattern for test targets with appropriate tags and dependencies. This aligns with the AI summary mentioning new gRPC target functionality.
420-421: Consistent metrics dependency addition across tests.The systematic addition of
//sdk/src/metricsdependency to multiple test targets ensures comprehensive metric support testing. This change is consistent and necessary for the Base2ExponentialHistogram and other metric features mentioned in the AI summary.Also applies to: 437-438, 456-457, 472-475, 502-503, 518-519, 535-536, 552-553, 568-569, 584-585, 601-602, 618-619, 634-635, 652-653, 669-670, 779-780
deps/opentelemetry-cpp/api/CMakeLists.txt (2)
12-23: Excellent build system modernization.The refactoring to use the
otel_add_componentmacro consolidates installation logic and improves maintainability. This standardized approach reduces duplication and potential configuration errors.
25-27: Clean conditional block simplification.The simplified conditional handling maintains the necessary
TARGET_DEPSmanagement while removing complexity from the removed Abseil dependency code.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/cpython_attributes.h (1)
1-49: Well-structured CPython semantic conventions.The new CPython garbage collector attributes follow OpenTelemetry semantic convention patterns correctly:
- Proper namespace organization (
semconv::cpython)- Clear constant definitions for GC generation attribute
- Standard integer values for the three Python GC generations
- Appropriate documentation comments
- Consistent auto-generated file structure
This aligns well with the CPython metrics mentioned in the AI summary and provides necessary attribute support for Python instrumentation.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/net_attributes.h (2)
23-27: Excellent structured deprecation metadata improvements.The addition of structured JSON metadata to deprecation annotations significantly improves clarity and tooling support. The consistent format with
note,reason, andrenamed_tofields makes it easier for developers and automated tools to understand deprecation status and migration paths.Also applies to: 32-36, 41-45, 50-54, 59-64, 69-74, 79-83, 88-92, 97-101, 106-110, 115-119, 124-128, 133-136, 141-145, 150-154
161-173: Improved comment formatting for better readability.The reformatting of comments from multi-line asterisk-prefixed style to single-line style improves readability while maintaining the same semantic content.
Also applies to: 180-202
deps/opentelemetry-cpp/api/include/opentelemetry/nostd/type_traits.h (2)
13-13: Good simplification of include directives.Moving
<type_traits>to an unconditional include simplifies the inclusion logic and ensures it's always available.
22-25:Details
✅ Verification successful
Verify the libstdc++ version detection logic.
The macro definition appears correct for detecting libstdc++ version 5 or later, but please verify that the version checks accurately identify the intended standard library versions.
🏁 Script executed:
#!/bin/bash # Description: Verify the libstdc++ version detection logic and macro usage # Expected: Find usage of the new macro and confirm version detection patterns # Search for usage of the new macro echo "=== Usage of OPENTELEMETRY_TRIVIALITY_TYPE_TRAITS ===" rg -A 3 -B 3 "OPENTELEMETRY_TRIVIALITY_TYPE_TRAITS" # Search for similar version detection patterns in the codebase echo "=== Similar version detection patterns ===" rg -A 2 -B 2 "_GLIBCXX_RELEASE|__GLIBCXX__"Length of output: 34172
Detection logic correctly identifies libstdc++ ≥5
The combination of
- !GLIBCXX (non-libstdc++),
- _GLIBCXX_RELEASE ≥ 7 (GCC 7+), and
- GLIBCXX ≥ 20150422 (libstdc++-5)
matches the patterns used in Abseil, Googletest and other third-party code to guard on libstdc++ versions. No changes are needed here.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/system_attributes.h (2)
23-23: Consistent deprecation annotation improvements.The structured deprecation metadata additions align with the same improvements made across other semantic convention headers, providing better clarity and tooling support for deprecated attributes.
Also applies to: 28-31, 66-70, 97-101
36-36: Improved comment formatting consistency.The reformatting of descriptive comments to a cleaner, indented style without asterisks improves readability and maintains consistency with the broader documentation style improvements in this update.
Also applies to: 41-41, 46-46, 51-51, 56-56, 61-61, 75-75, 80-80, 85-85, 90-92
deps/opentelemetry-cpp/exporters/elasticsearch/CMakeLists.txt (1)
21-35:Details
❓ Verification inconclusive
Good build system standardization using otel_add_component macro.
The replacement of manual installation logic with the
otel_add_componentmacro improves consistency and maintainability across the build system. The macro call properly specifies all necessary parameters including component name, targets, directories, and file patterns.
🏁 Script executed:
#!/bin/bash # Description: Verify that otel_add_component macro is properly defined and used consistently # Expected: Find macro definition and similar usage patterns # Search for the macro definition echo "=== otel_add_component macro definition ===" rg -A 10 -B 2 "macro\s*\(\s*otel_add_component|function\s*\(\s*otel_add_component" # Search for other uses of this macro in exporter CMakeLists files echo "=== Other uses of otel_add_component in exporters ===" fd CMakeLists.txt deps/opentelemetry-cpp/exporters --exec rg -l "otel_add_component" {} # Show similar usage patterns echo "=== Similar otel_add_component usage patterns ===" rg -A 15 "otel_add_component" --type cmakeLength of output: 16226
Ensure
otel_add_componentmacro is defined and includedI reviewed the standardized use of
otel_add_componentacross all exporters, but I didn’t locate its definition in the local CMake files. Please verify that:
- The CMake file (or imported package) defining
otel_add_componentis included by the top-level CMakeLists.txt (e.g., viainclude()orfind_package(OpenTelemetryCMake)).- The macro implementation fully supports the parameters you’re using here: COMPONENT, TARGETS, FILES_DIRECTORY, FILES_DESTINATION, FILES_MATCHING, PATTERN, and EXCLUDE.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/error_attributes.h (2)
22-32: LGTM! Comprehensive documentation for the new error.message attribute.The addition of
kErrorMessageis well-documented with clear guidance on:
- When to use it (additional context about errors)
- When NOT to use it (avoid duplication with error.type/exception.message)
- Cardinality considerations for metrics/spans
The documentation aligns with OpenTelemetry semantic convention standards.
34-55: Documentation formatting improved for consistency.The
kErrorTypedocumentation has been reformatted for better readability and consistency with the newkErrorMessageattribute documentation style.deps/opentelemetry-cpp/api/include/opentelemetry/nostd/variant.h (2)
21-42: Simplified exception handling logic looks correct.The change removes the
HAVE_ABSEILconditional compilation and simplifies theTHROW_BAD_VARIANT_ACCESSmacro to depend only on exception support. The logic correctly handles both exception-enabled and exception-disabled scenarios.
52-52: Standardized on internal Abseil variant implementation.The includes now consistently use the internal Abseil headers (
opentelemetry/nostd/internal/absl/...) instead of conditional external/internal selection. This aligns with the broader build system simplification mentioned in the AI summary.Also applies to: 65-65
deps/opentelemetry-cpp/exporters/ostream/src/metric_exporter.cc (2)
11-11: Necessary includes added for Base2ExponentialHistogram support.The
memoryandcircular_buffer.hincludes are required for the new Base2ExponentialHistogramPointData handling functionality.Also applies to: 28-28
252-288: Comprehensive Base2ExponentialHistogram printing implementation.The implementation correctly handles:
- Early return for empty buckets (both positive and negative)
- All required fields: count, sum, zero_count, min/max (when enabled), scale
- Proper iteration through bucket indices using StartIndex()/EndIndex()
- Consistent formatting with existing point data types
The logic follows the established pattern and provides complete debugging information for exponential histograms.
deps/opentelemetry-cpp/exporters/ostream/test/ostream_metric_test.cc (2)
16-16: Required include added for test dependencies.The
circular_buffer.hinclude is necessary for theAdaptingCircularBufferCounterused in the Base2ExponentialHistogram test.
183-290: Comprehensive test coverage for Base2ExponentialHistogram export.The test thoroughly validates:
- Two different histogram configurations (with/without min/max recording)
- Proper bucket counter initialization and increment operations
- Complete output formatting verification including all fields
- Resource attributes and SDK version information
- Edge cases like zero buckets in ranges
The test follows the established pattern and provides excellent coverage for the new functionality. The expected output string correctly matches the implementation in the exporter.
deps/opentelemetry-cpp/api/include/opentelemetry/config.h (2)
6-6: LGTM: Proper IWYU pragma usageThe inclusion of
<type_traits>with the IWYU pragma is appropriate and follows best practices for header dependencies.
8-19: Excellent deprecation strategy with version-based enforcementThe implementation provides a clean migration path:
- Hard error for ABI version 2+ forces users to migrate
- Compiler-specific deprecation warnings for older versions guide users toward the new header
- Clear error message directing users to
opentelemetry/version.hThis follows best practices for API deprecation and ensures a smooth transition.
deps/opentelemetry-cpp/exporters/otlp/src/otlp_grpc_client.cc (2)
312-336: Well-designed URL parsing extraction with proper error handlingThe
GetGrpcTargetmethod effectively centralizes endpoint URL parsing logic with good separation of concerns:
- Proper error handling for invalid URLs with descriptive logging
- Support for both Unix socket (
unix:) and host:port schemes- Clean return of empty string on error for consistent error signaling
The implementation correctly handles the gRPC channel creation requirements by stripping schemes that would cause issues.
348-355: Good refactoring improves code reusabilityThe refactoring of
MakeChannelto useGetGrpcTargeteliminates code duplication and improves maintainability. The error handling flow is preserved with appropriate logging.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/device_attributes.h (2)
23-41: Excellent addition of privacy and compliance documentationThe comprehensive documentation update for
device.idaddresses critical privacy and compliance concerns:
- Clear warnings about PII and GDPR implications
- Specific guidance on app store policies and enterprise vs. consumer use cases
- Mandatory opt-in requirement for instrumentation
- Reference to privacy-preserving alternative (
app.installation.id)This level of detail is essential for developers to make informed decisions about using this sensitive attribute.
46-67: Improved documentation formatting and clarityThe documentation updates for manufacturer, model identifier, and model name attributes improve readability and provide better guidance on expected values and usage patterns.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/code_attributes.h (1)
1-82: Well-structured semantic conventions with comprehensive documentationThis new header follows OpenTelemetry patterns excellently:
Strengths:
- Clear namespace organization (
opentelemetry::semconv::code)- Comprehensive documentation with specific constraints for Profile signals
- Multi-language examples for
code.function.namecovering various runtime representations- Consistent use of
static constexpr const char*for attribute definitions- Proper auto-generation markers and copyright headers
Important constraints noted:
- Profile signal restrictions prevent data redundancy across multiple attributes
- Clear guidance on when NOT to use these attributes maintains data integrity
The semantic conventions will be valuable for instrumentation libraries capturing code execution context.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/app_attributes.h (1)
1-77: Auto-generated semantic attributes look well-structured.This new header introduces comprehensive application-specific semantic attribute constants with detailed documentation. The constants cover essential app telemetry needs like installation tracking, UI interaction coordinates, and widget identification. The platform-specific guidance for iOS and Android in the installation ID documentation is particularly valuable for implementers.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/http_attributes.h (3)
23-27: Enhanced deprecation metadata improves clarity.The structured JSON format with explicit
"reason": "renamed"and"renamed_to"fields provides clearer deprecation information compared to generic reasons. This helps developers understand exactly what to use as replacements.
73-88: Improved header documentation with practical examples.The expanded documentation for HTTP request headers now includes clear examples showing how to record headers as attributes, including handling of multiple header values. This practical guidance will help developers implement header capturing correctly.
162-176: Comprehensive response header documentation.Similar to request headers, the response header documentation now provides clear examples and guidance on proper attribute recording. The security considerations about explicit configuration are appropriately highlighted.
deps/opentelemetry-cpp/api/include/opentelemetry/trace/tracer.h (3)
166-176: Well-designed tracer enablement API for ABI v2.The
Enabled()method provides a clean way for instrumentation authors to check tracer state before expensive operations. The documentation clearly explains the performance optimization benefits and includes appropriate @SInCE tags.
236-241: Atomic member variable with proper justification.The mutable
enabled_member is well-justified in the comments. Usingmutableallows atomic operations from const methods, and the comment explains whystd::atomicisn't used for ABI compatibility reasons.
228-232:Details
✅ Verification successful
Verify atomic operation implementation.
The
UpdateEnabled()method usesOPENTELEMETRY_ATOMIC_WRITE_8for thread-safe state updates. Please ensure this macro is properly defined and provides the necessary memory ordering guarantees for multi-threaded scenarios.
🏁 Script executed:
#!/bin/bash # Description: Verify atomic operation macros are properly defined. # Expected: Find definitions of OPENTELEMETRY_ATOMIC_READ_8 and OPENTELEMETRY_ATOMIC_WRITE_8 macros. # Search for atomic macro definitions rg -A 5 "define.*OPENTELEMETRY_ATOMIC_(READ|WRITE)_8" --type hLength of output: 1613
Atomic operations use sequentially consistent memory ordering
TheOPENTELEMETRY_ATOMIC_READ_8andOPENTELEMETRY_ATOMIC_WRITE_8macros are defined as follows and both use the strongest (__ATOMIC_SEQ_CST) ordering on GCC/Clang and matching intrinsics on MSVC, ensuring proper thread safety:• On GCC/Clang (in
deps/opentelemetry-cpp/api/include/opentelemetry/common/macros.h):#define OPENTELEMETRY_ATOMIC_READ_8(ptr) __atomic_load_n(ptr, __ATOMIC_SEQ_CST) #define OPENTELEMETRY_ATOMIC_WRITE_8(ptr, value) __atomic_store_n(ptr, value, __ATOMIC_SEQ_CST)• On MSVC:
#define OPENTELEMETRY_ATOMIC_READ_8(ptr) static_cast<uint8_t>(_InterlockedCompareExchange8(reinterpret_cast<char*>(ptr), 0, 0)) #define OPENTELEMETRY_ATOMIC_WRITE_8(ptr, value) _InterlockedExchange8(reinterpret_cast<char*>(ptr), static_cast<char>(value))No changes are needed.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/aws_attributes.h (4)
23-35: Comprehensive new AWS Bedrock semantic attributes.The addition of Bedrock guardrail and knowledge base ID attributes expands coverage for AWS AI/ML services. The documentation provides clear explanations with links to AWS documentation for context.
209-215: Kinesis stream name attribute fills semantic gap.Adding the Kinesis stream name attribute provides important telemetry coverage for AWS streaming services. The documentation correctly references the AWS CLI parameter correspondence.
226-234: Lambda resource mapping ID enhances event source tracking.This attribute enables better tracking of Lambda event source mappings, which is valuable for understanding Lambda function triggers and their lifecycle operations.
385-407: Complete AWS service coverage with SNS, SQS, and Step Functions.The addition of SNS topic ARN, SQS queue URL, and Step Functions activity/state machine ARNs provides comprehensive coverage for key AWS messaging and workflow services. The documentation clearly explains the purpose and uniqueness of each identifier.
deps/opentelemetry-cpp/exporters/otlp/CMakeLists.txt (1)
380-387: New test target lacks direct gRPC linkage
otlp_grpc_target_testlinks onlyopentelemetry_exporter_otlp_grpc, which in turn depends onopentelemetry_exporter_otlp_grpc_client.
Given the PRIVATE change above, the test target will not receivegRPC::grpc++and will fail to link. Once the PUBLIC linkage issue is fixed this goes away; otherwise explicitly add the link library here.-target_link_libraries( - otlp_grpc_target_test ${GTEST_BOTH_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} - ${GMOCK_LIB} opentelemetry_exporter_otlp_grpc) +target_link_libraries( + otlp_grpc_target_test ${GTEST_BOTH_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} + ${GMOCK_LIB} opentelemetry_exporter_otlp_grpc gRPC::grpc++)deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/cicd_attributes.h (2)
23-25: LGTM: New CI/CD attributes are well-defined.The new pipeline action name, task run result, and worker identification attributes follow consistent naming conventions and provide good coverage for CI/CD pipeline observability.
Also applies to: 67-68, 87-89, 92-95, 101-106
107-124: LGTM: Enum value namespaces are properly structured.The
CicdPipelineActionNameValuesandCicdPipelineTaskRunResultValuesnamespaces provide comprehensive coverage of common CI/CD pipeline states and outcomes with clear documentation.Also applies to: 182-215
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/otel_attributes.h (2)
107-112: LGTM: New OpenTelemetry component types enhance observability coverage.The addition of log processor types (batching/simple), log exporters (OTLP over gRPC/HTTP), metric readers, and metric exporters provides comprehensive coverage of OpenTelemetry SDK components.
Also applies to: 132-162
50-64: LGTM: Deprecation metadata is properly structured.The deprecation annotations for
otel.library.nameandotel.library.versioninclude proper JSON metadata specifying the replacement attributes and the reason for renaming.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/vcs_attributes.h (2)
45-52: LGTM: New VCS attributes improve repository identification.The
vcs.owner.nameandvcs.provider.nameattributes provide better context for version control system identification and organization structure.
243-270: LGTM: VCS provider values cover major platforms.The
VcsProviderNameValuesnamespace provides comprehensive coverage of popular VCS providers. The deprecatedkGitteaconstant correctly addresses a typo, withkGiteaas the proper replacement.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/cpython_metrics.h (2)
23-33: LGTM: CPython metrics are well-documented and properly defined.The three garbage collection metrics (
collected_objects,collections,uncollectable_objects) are properly documented with references to Python'sgc.stats()and use appropriate units.Also applies to: 74-77, 113-118
35-65: LGTM: Factory functions follow consistent patterns.The factory functions for each metric type provide comprehensive coverage with both synchronous/asynchronous and int64/double variants. The function signatures correctly match the OpenTelemetry Meter interface.
Also applies to: 79-105, 120-150
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/feature_flag_attributes.h (1)
28-97: Excellent structured deprecation metadata implementation.The structured JSON deprecation annotations with
reasonandrenamed_tofields provide clear migration guidance and are consistently applied across all deprecated attributes.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/gen_ai_attributes.h (2)
45-62: Well-designed conversation and data source attributes.The new
kGenAiConversationIdandkGenAiDataSourceIdattributes address important GenAI telemetry needs with clear documentation explaining their purpose and usage patterns.
392-404: Comprehensive Google Cloud service coverage.The addition of Google Cloud generative AI system identifiers (
gcp.gen_ai,gcp.vertex_ai,gcp.gemini) provides comprehensive coverage for Google's AI services ecosystem.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/k8s_attributes.h (2)
74-93: Excellent documentation pattern for annotation and label attributes.The detailed examples showing how to record annotation and label key-value pairs (e.g.,
retriesannotation with value4recorded ask8s.cronjob.annotation.retrieswith value"4") provide clear implementation guidance for developers.This pattern is consistently applied across all Kubernetes resource types.
283-287: Improved deprecation metadata specificity.The enhanced deprecation annotation for
kK8sPodLabelsnow includes specific replacement guidance with therenamed_tofield, making migration clearer for developers.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/db_attributes.h (3)
482-490: Valuable addition of stored procedure semantic attribute.The new
kDbStoredProcedureNameattribute fills an important gap in database telemetry, with clear documentation about normalization and batch operation handling that aligns with existing attribute patterns.
386-405: Comprehensive query parameter documentation.The enhanced documentation for
kDbQueryParameterwith detailed examples (parameterized placeholders, index-based and named parameters) provides excellent implementation guidance and clarifies the relationship withdb.query.text.
23-27: Consistent structured deprecation metadata.The systematic application of structured JSON deprecation metadata across all deprecated attributes (with
reasonandrenamed_tofields) provides clear migration paths and maintains consistency with other semantic convention headers in this PR.deps/opentelemetry-cpp/api/include/opentelemetry/semconv/db_attributes.h (1)
1-350: Excellent comprehensive database semantic attributes implementation.This auto-generated header provides a complete set of database semantic attributes following OpenTelemetry conventions. The implementation includes:
- Well-documented attribute constants with clear usage guidelines
- Comprehensive database system enumeration covering major technologies
- Proper namespacing and OpenTelemetry macro usage
- Consistent naming conventions throughout
The auto-generation ensures consistency with the semantic conventions specification.
deps/opentelemetry-cpp/api/include/opentelemetry/semconv/incubating/otel_metrics.h (7)
24-67: Well-structured log exporter metrics implementation.The new log exporter metrics (
exportedandinflight) follow OpenTelemetry best practices:
- Comprehensive documentation explaining success/failure semantics
- Proper handling of partial success scenarios (e.g., OTLP rejected records)
- Consistent creation functions for all data types (uint64, double, sync/async)
- Appropriate unit specification (
{log_record})
113-206: Robust metric data point exporter metrics.The metric data point exporter metrics maintain consistency with the log exporter pattern:
- Clear documentation of export completion semantics
- Proper error handling guidance with
error.typeattribute- Complete set of creation functions for different instrument types
- Appropriate units (
{data_point}) for metric data points
208-239: Valuable operation duration histogram addition.The exporter operation duration histogram provides important observability:
- Histogram instrument type appropriate for duration measurements
- Clear definition of success/failure criteria referencing OTLP specifications
- Standard time unit (
s) for duration measurements- Support for both uint64 and double data types
250-285: Excellent deprecation strategy for span exporter metrics.The span metric renaming demonstrates good API evolution practices:
- New metrics remove the "Count" suffix for better naming consistency
- Original metrics properly marked with
OPENTELEMETRY_DEPRECATED- Deprecation metadata includes clear reasoning and replacement guidance
- Backward compatibility maintained for existing users
Also applies to: 294-331
428-459: Comprehensive SDK logging metrics.The new SDK log creation metrics provide valuable instrumentation:
- Clear metric definition for logs submitted to enabled SDK loggers
- Consistent creation function patterns
- Appropriate counter instrument type for cumulative measurements
- Standard log record unit specification
461-489: Important metric reader collection duration tracking.The metric reader collection duration histogram adds crucial observability:
- Histogram instrument appropriate for operation timing
- Clear documentation of success/failure semantics
- Acknowledgment of partial failure scenarios in collections
- Standard time unit for duration measurements
491-623: Complete log processor metrics suite.The log processor metrics provide comprehensive queue and processing observability:
- Processed, queue capacity, and queue size metrics cover key operational aspects
- Clear documentation distinguishing processing completion from export completion
- Appropriate instrument types (counter for processed, updowncounter for queue metrics)
- Consistent creation functions across all metrics
| opentelemetry_exporter_otlp_grpc_client | ||
| PUBLIC opentelemetry_sdk opentelemetry_common opentelemetry_ext | ||
| PUBLIC opentelemetry_sdk opentelemetry_common | ||
| # gRPC::grpc++ must be linked before opentelemetry_proto_grpc. | ||
| opentelemetry_proto_grpc | ||
| PRIVATE gRPC::grpc++) | ||
| PRIVATE gRPC::grpc++ opentelemetry_ext) | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gRPC link library must remain PUBLIC to avoid missing symbols
opentelemetry_exporter_otlp_grpc_client now links gRPC::grpc++ as PRIVATE instead of PUBLIC.
If this target is built as a static library (the default), every consumer that links opentelemetry_exporter_otlp_grpc_client – e.g. the newly added otlp_grpc_target_test or any downstream project that only links the exporter – still needs gRPC::grpc++ on its link line. With the current setting those symbols are not propagated and link-time failures are very likely.
-target_link_libraries(
- opentelemetry_exporter_otlp_grpc_client
- PUBLIC opentelemetry_sdk opentelemetry_common
- opentelemetry_proto_grpc
- PRIVATE gRPC::grpc++ opentelemetry_ext)
+target_link_libraries(
+ opentelemetry_exporter_otlp_grpc_client
+ PUBLIC opentelemetry_sdk opentelemetry_common
+ opentelemetry_proto_grpc gRPC::grpc++
+ PRIVATE opentelemetry_ext)📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| opentelemetry_exporter_otlp_grpc_client | |
| PUBLIC opentelemetry_sdk opentelemetry_common opentelemetry_ext | |
| PUBLIC opentelemetry_sdk opentelemetry_common | |
| # gRPC::grpc++ must be linked before opentelemetry_proto_grpc. | |
| opentelemetry_proto_grpc | |
| PRIVATE gRPC::grpc++) | |
| PRIVATE gRPC::grpc++ opentelemetry_ext) | |
| target_link_libraries( | |
| opentelemetry_exporter_otlp_grpc_client | |
| PUBLIC opentelemetry_sdk opentelemetry_common | |
| # gRPC::grpc++ must be linked before opentelemetry_proto_grpc. | |
| opentelemetry_proto_grpc gRPC::grpc++ | |
| PRIVATE opentelemetry_ext) |
🤖 Prompt for AI Agents
In deps/opentelemetry-cpp/exporters/otlp/CMakeLists.txt around lines 40 to 45,
the gRPC::grpc++ library is linked as PRIVATE to the
opentelemetry_exporter_otlp_grpc_client target, which prevents its symbols from
being propagated to consumers. Change the linkage of gRPC::grpc++ from PRIVATE
to PUBLIC to ensure that any target linking
opentelemetry_exporter_otlp_grpc_client also links gRPC::grpc++, avoiding
link-time errors due to missing symbols.
| else if (nostd::holds_alternative<sdk::metrics::Base2ExponentialHistogramPointData>( | ||
| point_data_with_attributes.point_data)) | ||
| { | ||
| return metric_sdk::AggregationType::kBase2ExponentialHistogram; | ||
| } | ||
| else if (nostd::holds_alternative<sdk::metrics::LastValuePointData>( | ||
| point_data_with_attributes.point_data)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Null-pointer dereference risk when only one bucket set is present
ConvertExponentialHistogramMetric later unconditionally dereferences
histogram_data.positive_buckets_ and histogram_data.negative_buckets_ inside Empty() calls.
If exactly one of the pointers is nullptr (legal according to the spec – e.g. only positive buckets), the function will seg-fault.
-// negative buckets
-if (!histogram_data.negative_buckets_->Empty())
+if (histogram_data.negative_buckets_ &&
+ !histogram_data.negative_buckets_->Empty())
@@
-// positive buckets
-if (!histogram_data.positive_buckets_->Empty())
+if (histogram_data.positive_buckets_ &&
+ !histogram_data.positive_buckets_->Empty())Committable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents
In deps/opentelemetry-cpp/exporters/otlp/src/otlp_metric_utils.cc around lines
68 to 74, the function ConvertExponentialHistogramMetric unconditionally
dereferences histogram_data.positive_buckets_ and
histogram_data.negative_buckets_ without checking for nullptr, which can cause a
segfault if only one bucket set is present. To fix this, add null-pointer checks
before calling Empty() on these bucket pointers to ensure they are not nullptr
before dereferencing.
PR-URL: #322 Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
|
Landed in a0a2c70...bbf0d54 |
PR-URL: #322 Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Summary by CodeRabbit
New Features
Enhancements
Bug Fixes
Tests
Documentation
Style
Chores