Skip to content

Commit 79cc519

Browse files
authored
Merge branch 'main' into fix/doc_comment_api
2 parents 2e07267 + 7a9c609 commit 79cc519

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+499
-306
lines changed

.github/workflows/ci.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ jobs:
6262
runs-on: ubuntu-24.04
6363
env:
6464
CXX_STANDARD: '17'
65+
BUILD_TYPE: 'Debug'
6566
steps:
6667
- name: Harden the runner (Audit all outbound calls)
6768
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
@@ -75,6 +76,10 @@ jobs:
7576
sudo -E ./ci/setup_ci_environment.sh
7677
sudo -E ./ci/setup_cmake.sh
7778
sudo -E ./ci/setup_googletest.sh
79+
- name: Install abseil, protobuf, and grpc with apt
80+
run: |
81+
sudo -E apt-get update
82+
sudo -E apt-get install -y libabsl-dev libprotobuf-dev libgrpc++-dev protobuf-compiler protobuf-compiler-grpc
7883
- name: run fetch content cmake test
7984
run: |
8085
./ci/do_ci.sh cmake.fetch_content.test

CHANGELOG.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ Increment the:
1515

1616
## [Unreleased]
1717

18+
* [BUILD] Error out when building DLL without MSVC
19+
[#3438](https://github.com/open-telemetry/opentelemetry-cpp/pull/3438)
20+
1821
* [Metrics SDK] Use nostd::function_ref in AttributesHashMap
1922
[#3393](https://github.com/open-telemetry/opentelemetry-cpp/pull/3393)
2023

@@ -55,6 +58,37 @@ Increment the:
5558
* [CMAKE] Add generated protobuf headers to the opentelemetry_proto target
5659
[#3400](https://github.com/open-telemetry/opentelemetry-cpp/pull/3400)
5760

61+
* [CMAKE] Remove include_directories usage and rely on target properties
62+
[#3426](https://github.com/open-telemetry/opentelemetry-cpp/pull/3426)
63+
64+
* [SEMANTIC CONVENTIONS] Upgrade to semantic conventions 1.34.0
65+
[#3428](https://github.com/open-telemetry/opentelemetry-cpp/pull/3428)
66+
67+
* [EXPORTER] ostream log exporter, fixed memory ownership issues
68+
[#3417](https://github.com/open-telemetry/opentelemetry-cpp/pull/3417)
69+
70+
* [TEST] Test all components in a CMake super build
71+
[#3433](https://github.com/open-telemetry/opentelemetry-cpp/pull/3433)
72+
73+
Important changes:
74+
75+
* [EXPORTER] ostream log exporter, fixed memory ownership issues
76+
[#3417](https://github.com/open-telemetry/opentelemetry-cpp/pull/3417)
77+
78+
* In the SDK, the following classes implementation has changed:
79+
80+
* opentelemetry::sdk::logs::ReadableLogRecord
81+
* opentelemetry::sdk::logs::ReadWriteLogRecord
82+
83+
* An application implementing a custom log record exporter,
84+
that reuses these classes from the opentelemetry-cpp SDK,
85+
will need code adjustments, in particular for methods:
86+
87+
* GetBody()
88+
* GetAttributes()
89+
90+
* Applications not using these SDK classes directly are not affected.
91+
5892
## [1.20 2025-04-01]
5993

6094
* [BUILD] Update opentelemetry-proto version

CMakeLists.txt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -867,8 +867,6 @@ if(DEFINED OPENTELEMETRY_BUILD_DLL)
867867
add_definitions(-DOPENTELEMETRY_BUILD_EXPORT_DLL)
868868
endif()
869869

870-
include_directories(api/include)
871-
872870
add_subdirectory(api)
873871

874872
if(WITH_OPENTRACING)
@@ -901,9 +899,6 @@ endif()
901899

902900
if(NOT WITH_API_ONLY)
903901
set(BUILD_TESTING ${BUILD_TESTING})
904-
include_directories(sdk/include)
905-
include_directories(sdk)
906-
include_directories(ext/include)
907902

908903
add_subdirectory(sdk)
909904
add_subdirectory(ext)

api/include/opentelemetry/semconv/exception_attributes.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ namespace exception
2424
*
2525
* @deprecated
2626
* {"note": "It's no longer recommended to record exceptions that are handled and do not escape the
27-
* scope of a span.", "reason": "uncategorized"}
27+
* scope of a span.\n", "reason": "obsoleted"}
2828
*/
2929
OPENTELEMETRY_DEPRECATED static constexpr const char *kExceptionEscaped = "exception.escaped";
3030

api/include/opentelemetry/semconv/incubating/aws_attributes.h

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,21 @@ namespace semconv
1919
namespace aws
2020
{
2121

22+
/**
23+
* The unique identifier of the AWS Bedrock Guardrail. A <a
24+
* href="https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html">guardrail</a> helps
25+
* safeguard and prevent unwanted behavior from model responses or user messages.
26+
*/
27+
static constexpr const char *kAwsBedrockGuardrailId = "aws.bedrock.guardrail.id";
28+
29+
/**
30+
* The unique identifier of the AWS Bedrock Knowledge base. A <a
31+
* href="https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base.html">knowledge
32+
* base</a> is a bank of information that can be queried by models to generate more relevant
33+
* responses and augment prompts.
34+
*/
35+
static constexpr const char *kAwsBedrockKnowledgeBaseId = "aws.bedrock.knowledge_base.id";
36+
2237
/**
2338
* The JSON-serialized value of each item in the @code AttributeDefinitions @endcode request field.
2439
*/
@@ -191,6 +206,15 @@ static constexpr const char *kAwsEksClusterArn = "aws.eks.cluster.arn";
191206
*/
192207
static constexpr const char *kAwsExtendedRequestId = "aws.extended_request_id";
193208

209+
/**
210+
* The name of the AWS Kinesis <a
211+
* href="https://docs.aws.amazon.com/streams/latest/dev/introduction.html">stream</a> the request
212+
* refers to. Corresponds to the @code --stream-name @endcode parameter of the Kinesis <a
213+
* href="https://docs.aws.amazon.com/cli/latest/reference/kinesis/describe-stream.html">describe-stream</a>
214+
* operation.
215+
*/
216+
static constexpr const char *kAwsKinesisStreamName = "aws.kinesis.stream_name";
217+
194218
/**
195219
* The full invoked ARN as provided on the @code Context @endcode passed to the function (@code
196220
* Lambda-Runtime-Invoked-Function-Arn @endcode header on the @code /runtime/invocation/next
@@ -199,6 +223,17 @@ static constexpr const char *kAwsExtendedRequestId = "aws.extended_request_id";
199223
*/
200224
static constexpr const char *kAwsLambdaInvokedArn = "aws.lambda.invoked_arn";
201225

226+
/**
227+
* The UUID of the <a
228+
* href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html">AWS
229+
* Lambda EvenSource Mapping</a>. An event source is mapped to a lambda function. It's contents are
230+
* read by Lambda and used to trigger a function. This isn't available in the lambda execution
231+
* context or the lambda runtime environtment. This is going to be populated by the AWS SDK for each
232+
* language when that UUID is present. Some of these operations are Create/Delete/Get/List/Update
233+
* EventSourceMapping.
234+
*/
235+
static constexpr const char *kAwsLambdaResourceMappingId = "aws.lambda.resource_mapping.id";
236+
202237
/**
203238
* The Amazon Resource Name(s) (ARN) of the AWS log group(s).
204239
* <p>
@@ -342,6 +377,35 @@ static constexpr const char *kAwsS3PartNumber = "aws.s3.part_number";
342377
*/
343378
static constexpr const char *kAwsS3UploadId = "aws.s3.upload_id";
344379

380+
/**
381+
* The ARN of the Secret stored in the Secrets Mangger
382+
*/
383+
static constexpr const char *kAwsSecretsmanagerSecretArn = "aws.secretsmanager.secret.arn";
384+
385+
/**
386+
* The ARN of the AWS SNS Topic. An Amazon SNS <a
387+
* href="https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html">topic</a> is a logical
388+
* access point that acts as a communication channel.
389+
*/
390+
static constexpr const char *kAwsSnsTopicArn = "aws.sns.topic.arn";
391+
392+
/**
393+
* The URL of the AWS SQS Queue. It's a unique identifier for a queue in Amazon Simple Queue Service
394+
* (SQS) and is used to access the queue and perform actions on it.
395+
*/
396+
static constexpr const char *kAwsSqsQueueUrl = "aws.sqs.queue.url";
397+
398+
/**
399+
* The ARN of the AWS Step Functions Activity.
400+
*/
401+
static constexpr const char *kAwsStepFunctionsActivityArn = "aws.step_functions.activity.arn";
402+
403+
/**
404+
* The ARN of the AWS Step Functions State Machine.
405+
*/
406+
static constexpr const char *kAwsStepFunctionsStateMachineArn =
407+
"aws.step_functions.state_machine.arn";
408+
345409
namespace AwsEcsLaunchtypeValues
346410
{
347411
/**

api/include/opentelemetry/semconv/incubating/cloud_attributes.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,10 @@ static constexpr const char *kCloudPlatform = "cloud.platform";
4444
static constexpr const char *kCloudProvider = "cloud.provider";
4545

4646
/**
47-
* The geographical region the resource is running.
48-
* <p>
49-
* Refer to your provider's docs to see the available regions, for example <a
47+
* The geographical region within a cloud provider. When associated with a resource, this attribute
48+
* specifies the region where the resource operates. When calling services or APIs deployed on a
49+
* cloud, this attribute identifies the region where the called destination is deployed. <p> Refer
50+
* to your provider's docs to see the available regions, for example <a
5051
* href="https://www.alibabacloud.com/help/doc-detail/40654.htm">Alibaba Cloud regions</a>, <a
5152
* href="https://aws.amazon.com/about-aws/global-infrastructure/regions_az/">AWS regions</a>, <a
5253
* href="https://azure.microsoft.com/global-infrastructure/geographies/">Azure regions</a>, <a

api/include/opentelemetry/semconv/incubating/code_attributes.h

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ namespace code
2323
* Deprecated, use @code code.column.number @endcode
2424
*
2525
* @deprecated
26-
* {"note": "Replaced by @code code.column.number @endcode", "reason": "uncategorized"}
26+
* {"note": "Replaced by @code code.column.number @endcode.", "reason": "renamed", "renamed_to":
27+
* "code.column.number"}
2728
*/
2829
OPENTELEMETRY_DEPRECATED static constexpr const char *kCodeColumn = "code.column";
2930

@@ -47,15 +48,17 @@ static constexpr const char *kCodeFilePath = "code.file.path";
4748
* Deprecated, use @code code.file.path @endcode instead
4849
*
4950
* @deprecated
50-
* {"note": "Replaced by @code code.file.path @endcode", "reason": "uncategorized"}
51+
* {"note": "Replaced by @code code.file.path @endcode.", "reason": "renamed", "renamed_to":
52+
* "code.file.path"}
5153
*/
5254
OPENTELEMETRY_DEPRECATED static constexpr const char *kCodeFilepath = "code.filepath";
5355

5456
/**
5557
* Deprecated, use @code code.function.name @endcode instead
5658
*
5759
* @deprecated
58-
* {"note": "Replaced by @code code.function.name @endcode", "reason": "uncategorized"}
60+
* {"note": "Value should be included in @code code.function.name @endcode which is expected to be a
61+
* fully-qualified name.\n", "reason": "uncategorized"}
5962
*/
6063
OPENTELEMETRY_DEPRECATED static constexpr const char *kCodeFunction = "code.function";
6164

@@ -94,7 +97,8 @@ static constexpr const char *kCodeLineNumber = "code.line.number";
9497
* Deprecated, use @code code.line.number @endcode instead
9598
*
9699
* @deprecated
97-
* {"note": "Replaced by @code code.line.number @endcode", "reason": "uncategorized"}
100+
* {"note": "Replaced by @code code.line.number @endcode.", "reason": "renamed", "renamed_to":
101+
* "code.line.number"}
98102
*/
99103
OPENTELEMETRY_DEPRECATED static constexpr const char *kCodeLineno = "code.lineno";
100104

@@ -103,7 +107,7 @@ OPENTELEMETRY_DEPRECATED static constexpr const char *kCodeLineno = "code.lineno
103107
*
104108
* @deprecated
105109
* {"note": "Value should be included in @code code.function.name @endcode which is expected to be a
106-
* fully-qualified name.", "reason": "uncategorized"}
110+
* fully-qualified name.\n", "reason": "uncategorized"}
107111
*/
108112
OPENTELEMETRY_DEPRECATED static constexpr const char *kCodeNamespace = "code.namespace";
109113

api/include/opentelemetry/semconv/incubating/container_attributes.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ static constexpr const char *kContainerCommandLine = "container.command_line";
4141
* Deprecated, use @code cpu.mode @endcode instead.
4242
*
4343
* @deprecated
44-
* {"note": "Replaced by @code cpu.mode @endcode", "reason": "uncategorized"}
44+
* {"note": "Replaced by @code cpu.mode @endcode.", "reason": "renamed", "renamed_to": "cpu.mode"}
4545
*/
4646
OPENTELEMETRY_DEPRECATED static constexpr const char *kContainerCpuState = "container.cpu.state";
4747

@@ -119,7 +119,8 @@ static constexpr const char *kContainerLabel = "container.label";
119119
* Deprecated, use @code container.label @endcode instead.
120120
*
121121
* @deprecated
122-
* {"note": "Replaced by @code container.label @endcode.", "reason": "uncategorized"}
122+
* {"note": "Replaced by @code container.label @endcode.", "reason": "renamed", "renamed_to":
123+
* "container.label"}
123124
*/
124125
OPENTELEMETRY_DEPRECATED static constexpr const char *kContainerLabels = "container.labels";
125126

0 commit comments

Comments
 (0)