Skip to content

Commit be16f38

Browse files
committed
Merge branch 'main' into add-scope-config
2 parents 98ca2c3 + 490f882 commit be16f38

File tree

71 files changed

+591
-425
lines changed

Some content is hidden

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

71 files changed

+591
-425
lines changed

.github/workflows/cppcheck.yml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,14 @@ jobs:
5656
- name: Count warnings
5757
run: |
5858
set +e
59-
COUNT=`grep -c -E "\[.+\]" cppcheck.log`
60-
echo "cppcheck reported ${COUNT} warning(s)"
61-
# TODO: uncomment to enforce failing the build
62-
# if [ $COUNT -ne 0 ] ; then exit 1 ; fi
59+
readonly WARNING_COUNT=`grep -c -E "\[.+\]" cppcheck.log`
60+
echo "cppcheck reported ${WARNING_COUNT} warning(s)"
61+
# Acceptable limit, to decrease over time down to 0
62+
readonly WARNING_LIMIT=10
63+
# FAIL the build if WARNING_COUNT > WARNING_LIMIT
64+
if [ $WARNING_COUNT -gt $WARNING_LIMIT ] ; then
65+
exit 1
66+
# WARN in annotations if WARNING_COUNT > 0
67+
elif [ $WARNING_COUNT -gt 0 ] ; then
68+
echo "::warning::cppcheck reported ${WARNING_COUNT} warning(s)"
69+
fi

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,9 @@ Increment the:
149149
* [bazel] Update opentelemetry-proto in MODULE.bazel
150150
[#3163](https://github.com/open-telemetry/opentelemetry-cpp/pull/3163)
151151

152+
* [EXPORTER] Fix scope attributes missing from otlp traces metrics
153+
[#3185](https://github.com/open-telemetry/opentelemetry-cpp/pull/3185)
154+
152155
* [SDK] Add tracer scope configurator
153156
[#3137](https://github.com/open-telemetry/opentelemetry-cpp/pull/3137)
154157

CMakeLists.txt

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -428,12 +428,16 @@ if(WITH_OTLP_GRPC
428428
endif()
429429
# Latest Protobuf imported targets and without legacy module support
430430
if(TARGET protobuf::protoc)
431-
project_build_tools_get_imported_location(PROTOBUF_PROTOC_EXECUTABLE
432-
protobuf::protoc)
433-
# If protobuf::protoc is not a imported target, then we use the target
434-
# directly for fallback
435-
if(NOT PROTOBUF_PROTOC_EXECUTABLE)
436-
set(PROTOBUF_PROTOC_EXECUTABLE protobuf::protoc)
431+
if(CMAKE_CROSSCOMPILING AND Protobuf_PROTOC_EXECUTABLE)
432+
set(PROTOBUF_PROTOC_EXECUTABLE ${Protobuf_PROTOC_EXECUTABLE})
433+
else()
434+
project_build_tools_get_imported_location(PROTOBUF_PROTOC_EXECUTABLE
435+
protobuf::protoc)
436+
# If protobuf::protoc is not a imported target, then we use the target
437+
# directly for fallback
438+
if(NOT PROTOBUF_PROTOC_EXECUTABLE)
439+
set(PROTOBUF_PROTOC_EXECUTABLE protobuf::protoc)
440+
endif()
437441
endif()
438442
elseif(Protobuf_PROTOC_EXECUTABLE)
439443
# Some versions of FindProtobuf.cmake uses mixed case instead of uppercase

api/include/opentelemetry/baggage/baggage_context.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ inline nostd::shared_ptr<Baggage> GetBaggage(const context::Context &context) no
2727
}
2828

2929
inline context::Context SetBaggage(context::Context &context,
30-
nostd::shared_ptr<Baggage> baggage) noexcept
30+
const nostd::shared_ptr<Baggage> &baggage) noexcept
3131
{
3232
return context.SetValue(kBaggageHeader, baggage);
3333
}

api/include/opentelemetry/context/context.h

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,14 @@ class Context
2929
// hold a shared_ptr to the head of the DataList linked list
3030
template <class T>
3131
Context(const T &keys_and_values) noexcept
32-
{
33-
head_ = nostd::shared_ptr<DataList>{new DataList(keys_and_values)};
34-
}
32+
: head_{nostd::shared_ptr<DataList>{new DataList(keys_and_values)}}
33+
{}
3534

3635
// Creates a context object from a key and value, this will
3736
// hold a shared_ptr to the head of the DataList linked list
3837
Context(nostd::string_view key, ContextValue value) noexcept
39-
{
40-
head_ = nostd::shared_ptr<DataList>{new DataList(key, value)};
41-
}
38+
: head_{nostd::shared_ptr<DataList>{new DataList(key, value)}}
39+
{}
4240

4341
// Accepts a new iterable and then returns a new context that
4442
// contains the new key and value data. It attaches the
@@ -92,22 +90,21 @@ class Context
9290

9391
private:
9492
// A linked list to contain the keys and values of this context node
95-
class DataList
93+
struct DataList
9694
{
97-
public:
98-
char *key_;
95+
char *key_ = nullptr;
9996

100-
nostd::shared_ptr<DataList> next_;
97+
nostd::shared_ptr<DataList> next_{nullptr};
10198

102-
size_t key_length_;
99+
size_t key_length_ = 0UL;
103100

104101
ContextValue value_;
105102

106-
DataList() { next_ = nullptr; }
103+
DataList() = default;
107104

108105
// Builds a data list off of a key and value iterable and returns the head
109106
template <class T>
110-
DataList(const T &keys_and_vals) : key_{nullptr}, next_(nostd::shared_ptr<DataList>{nullptr})
107+
DataList(const T &keys_and_vals)
111108
{
112109
bool first = true;
113110
auto *node = this;
@@ -132,9 +129,18 @@ class Context
132129
{
133130
key_ = new char[key.size()];
134131
key_length_ = key.size();
135-
memcpy(key_, key.data(), key.size() * sizeof(char));
136-
value_ = value;
132+
std::memcpy(key_, key.data(), key.size() * sizeof(char));
137133
next_ = nostd::shared_ptr<DataList>{nullptr};
134+
value_ = value;
135+
}
136+
137+
DataList(const DataList &other)
138+
: key_(new char[other.key_length_]),
139+
next_(other.next_),
140+
key_length_(other.key_length_),
141+
value_(other.value_)
142+
{
143+
std::memcpy(key_, other.key_, other.key_length_ * sizeof(char));
138144
}
139145

140146
DataList &operator=(DataList &&other) noexcept

api/include/opentelemetry/context/propagation/global_propagator.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class OPENTELEMETRY_EXPORT GlobalTextMapPropagator
3232
return nostd::shared_ptr<TextMapPropagator>(GetPropagator());
3333
}
3434

35-
static void SetGlobalPropagator(nostd::shared_ptr<TextMapPropagator> prop) noexcept
35+
static void SetGlobalPropagator(const nostd::shared_ptr<TextMapPropagator> &prop) noexcept
3636
{
3737
std::lock_guard<common::SpinLockMutex> guard(GetLock());
3838
GetPropagator() = prop;

api/include/opentelemetry/context/runtime_context.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,8 @@ class OPENTELEMETRY_EXPORT RuntimeContext
152152
*
153153
* @param storage a custom runtime context storage
154154
*/
155-
static void SetRuntimeContextStorage(nostd::shared_ptr<RuntimeContextStorage> storage) noexcept
155+
static void SetRuntimeContextStorage(
156+
const nostd::shared_ptr<RuntimeContextStorage> &storage) noexcept
156157
{
157158
GetStorage() = storage;
158159
}

api/include/opentelemetry/logs/event_id.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ namespace logs
1919
class EventId
2020
{
2121
public:
22-
EventId(int64_t id, nostd::string_view name) noexcept : id_{id}
22+
EventId(int64_t id, nostd::string_view name) noexcept
23+
: id_{id}, name_{nostd::unique_ptr<char[]>{new char[name.length() + 1]}}
2324
{
24-
name_ = nostd::unique_ptr<char[]>{new char[name.length() + 1]};
2525
std::copy(name.begin(), name.end(), name_.get());
2626
name_.get()[name.length()] = 0;
2727
}

api/include/opentelemetry/logs/provider.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class OPENTELEMETRY_EXPORT Provider
3939
/**
4040
* Changes the singleton LoggerProvider.
4141
*/
42-
static void SetLoggerProvider(nostd::shared_ptr<LoggerProvider> tp) noexcept
42+
static void SetLoggerProvider(const nostd::shared_ptr<LoggerProvider> &tp) noexcept
4343
{
4444
std::lock_guard<common::SpinLockMutex> guard(GetLock());
4545
GetProvider() = tp;
@@ -60,7 +60,7 @@ class OPENTELEMETRY_EXPORT Provider
6060
/**
6161
* Changes the singleton EventLoggerProvider.
6262
*/
63-
static void SetEventLoggerProvider(nostd::shared_ptr<EventLoggerProvider> tp) noexcept
63+
static void SetEventLoggerProvider(const nostd::shared_ptr<EventLoggerProvider> &tp) noexcept
6464
{
6565
std::lock_guard<common::SpinLockMutex> guard(GetLock());
6666
GetEventProvider() = tp;

api/include/opentelemetry/metrics/provider.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class Provider
3838
/**
3939
* Changes the singleton MeterProvider.
4040
*/
41-
static void SetMeterProvider(nostd::shared_ptr<MeterProvider> tp) noexcept
41+
static void SetMeterProvider(const nostd::shared_ptr<MeterProvider> &tp) noexcept
4242
{
4343
std::lock_guard<common::SpinLockMutex> guard(GetLock());
4444
GetProvider() = tp;

api/include/opentelemetry/nostd/internal/absl/types/internal/variant.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,7 @@ template <class ReturnType, class FunctionObject, std::size_t... BoundIndices>
221221
struct MakeVisitationMatrix<ReturnType, FunctionObject, index_sequence<>,
222222
index_sequence<BoundIndices...>> {
223223
using ResultType = ReturnType (*)(FunctionObject&&);
224+
// cppcheck-suppress [duplInheritedMember]
224225
static constexpr ResultType Run() {
225226
return &call_with_indices<ReturnType, FunctionObject,
226227
(BoundIndices - 1)...>;
@@ -722,6 +723,7 @@ struct VariantCoreAccess {
722723
Self* self, Args&&... args) {
723724
Destroy(*self);
724725
using New = typename absl::OTABSL_OPTION_NAMESPACE_NAME::variant_alternative<NewIndex, Self>::type;
726+
// cppcheck-suppress [legacyUninitvar]
725727
New* const result = ::new (static_cast<void*>(&self->state_))
726728
New(absl::OTABSL_OPTION_NAMESPACE_NAME::forward<Args>(args)...);
727729
self->index_ = NewIndex;
@@ -1310,6 +1312,7 @@ class VariantStateBaseDestructorNontrivial : protected VariantStateBase<T...> {
13101312
VariantStateBaseDestructorNontrivial* self;
13111313
};
13121314

1315+
// cppcheck-suppress [duplInheritedMember]
13131316
void destroy() { VisitIndices<sizeof...(T)>::Run(Destroyer{this}, index_); }
13141317

13151318
~VariantStateBaseDestructorNontrivial() { destroy(); }

api/include/opentelemetry/nostd/shared_ptr.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class shared_ptr
3737

3838
struct alignas(kAlignment) PlacementBuffer
3939
{
40-
char data[kMaxSize];
40+
char data[kMaxSize]{};
4141
};
4242

4343
class shared_ptr_wrapper

api/include/opentelemetry/plugin/tracer.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class DynamicLibraryHandle;
2020
class Span final : public trace::Span
2121
{
2222
public:
23-
Span(std::shared_ptr<trace::Tracer> &&tracer, nostd::shared_ptr<trace::Span> span) noexcept
23+
Span(std::shared_ptr<trace::Tracer> &&tracer, const nostd::shared_ptr<trace::Span> &span) noexcept
2424
: tracer_{std::move(tracer)}, span_{span}
2525
{}
2626

api/include/opentelemetry/semconv/error_attributes.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ namespace error
3636
* <p>
3737
* If the operation has completed successfully, instrumentations SHOULD NOT set @code error.type
3838
* @endcode. <p> If a specific domain defines its own set of error identifiers (such as HTTP or gRPC
39-
* status codes), it's RECOMMENDED to: <p> <ul> <li>Use a domain-specific attribute</li> <li>Set
40-
* @code error.type @endcode to capture all errors, regardless of whether they are defined within
41-
* the domain-specific set or not.</li>
39+
* status codes), it's RECOMMENDED to: <ul> <li>Use a domain-specific attribute</li> <li>Set @code
40+
* error.type @endcode to capture all errors, regardless of whether they are defined within the
41+
* domain-specific set or not.</li>
4242
* </ul>
4343
*/
4444
static constexpr const char *kErrorType = "error.type";

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ static constexpr const char *kAwsS3Bucket = "aws.s3.bucket";
247247
* The @code copy_source @endcode attribute applies to S3 copy operations and corresponds to the
248248
* @code --copy-source @endcode parameter of the <a
249249
* href="https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html">copy-object
250-
* operation within the S3 API</a>. This applies in particular to the following operations: <p> <ul>
250+
* operation within the S3 API</a>. This applies in particular to the following operations: <ul>
251251
* <li><a
252252
* href="https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html">copy-object</a></li>
253253
* <li><a
@@ -273,7 +273,7 @@ static constexpr const char *kAwsS3Delete = "aws.s3.delete";
273273
* <a href="https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html">S3 API</a>
274274
* operations. <p> The @code key @endcode attribute is applicable to all object-related S3
275275
* operations, i.e. that require the object key as a mandatory parameter. This applies in particular
276-
* to the following operations: <p> <ul> <li><a
276+
* to the following operations: <ul> <li><a
277277
* href="https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html">copy-object</a></li>
278278
* <li><a
279279
* href="https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html">delete-object</a></li>
@@ -323,7 +323,7 @@ static constexpr const char *kAwsS3PartNumber = "aws.s3.part_number";
323323
* The @code upload_id @endcode attribute applies to S3 multipart-upload operations and corresponds
324324
* to the @code --upload-id @endcode parameter of the <a
325325
* href="https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html">S3 API</a> multipart
326-
* operations. This applies in particular to the following operations: <p> <ul> <li><a
326+
* operations. This applies in particular to the following operations: <ul> <li><a
327327
* href="https://docs.aws.amazon.com/cli/latest/reference/s3api/abort-multipart-upload.html">abort-multipart-upload</a></li>
328328
* <li><a
329329
* href="https://docs.aws.amazon.com/cli/latest/reference/s3api/complete-multipart-upload.html">complete-multipart-upload</a></li>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ static constexpr const char *kCloudRegion = "cloud.region";
6565
* startup, so it may be necessary to set @code cloud.resource_id @endcode as a span attribute
6666
* instead. <p> The exact value to use for @code cloud.resource_id @endcode depends on the cloud
6767
* provider. The following well-known definitions MUST be used if you set this attribute and they
68-
* apply: <p> <ul> <li><strong>AWS Lambda:</strong> The function <a
68+
* apply: <ul> <li><strong>AWS Lambda:</strong> The function <a
6969
* href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>. Take
7070
* care not to use the "invoked ARN" directly but replace any <a
7171
* href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html">alias suffix</a>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ static constexpr const char *kDeploymentEnvironment = "deployment.environment";
3434
* @code deployment.environment.name @endcode does not affect the uniqueness constraints defined
3535
* through the @code service.namespace @endcode, @code service.name @endcode and @code
3636
* service.instance.id @endcode resource attributes. This implies that resources carrying the
37-
* following attribute combinations MUST be considered to be identifying the same service: <p> <ul>
37+
* following attribute combinations MUST be considered to be identifying the same service: <ul>
3838
* <li>@code service.name=frontend @endcode, @code deployment.environment.name=production
3939
* @endcode</li> <li>@code service.name=frontend @endcode, @code deployment.environment.name=staging
4040
* @endcode.</li>

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ namespace error
3636
* <p>
3737
* If the operation has completed successfully, instrumentations SHOULD NOT set @code error.type
3838
* @endcode. <p> If a specific domain defines its own set of error identifiers (such as HTTP or gRPC
39-
* status codes), it's RECOMMENDED to: <p> <ul> <li>Use a domain-specific attribute</li> <li>Set
40-
* @code error.type @endcode to capture all errors, regardless of whether they are defined within
41-
* the domain-specific set or not.</li>
39+
* status codes), it's RECOMMENDED to: <ul> <li>Use a domain-specific attribute</li> <li>Set @code
40+
* error.type @endcode to capture all errors, regardless of whether they are defined within the
41+
* domain-specific set or not.</li>
4242
* </ul>
4343
*/
4444
static constexpr const char *kErrorType = "error.type";

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

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ static constexpr const char *kFaasDocumentTime = "faas.document.time";
5858

5959
/**
6060
* The execution environment ID as a string, that will be potentially reused for other invocations
61-
* to the same function/function version. <p> <ul> <li><strong>AWS Lambda:</strong> Use the (full)
62-
* log stream name.</li>
61+
* to the same function/function version. <ul> <li><strong>AWS Lambda:</strong> Use the (full) log
62+
* stream name.</li>
6363
* </ul>
6464
*/
6565
static constexpr const char *kFaasInstance = "faas.instance";
@@ -109,7 +109,7 @@ static constexpr const char *kFaasMaxMemory = "faas.max_memory";
109109
* <a href="/docs/general/attributes.md#source-code-attributes">@code code.namespace @endcode/@code
110110
* code.function @endcode</a> span attributes). <p> For some cloud providers, the above definition
111111
* is ambiguous. The following definition of function name MUST be used for this attribute (and
112-
* consequently the span name) for the listed cloud providers/products: <p> <ul>
112+
* consequently the span name) for the listed cloud providers/products: <ul>
113113
* <li><strong>Azure:</strong> The full name @code <FUNCAPP>/<FUNC> @endcode, i.e., function app
114114
* name followed by a forward slash followed by the function name (this form can also be seen in the
115115
* resource JSON for the function). This means that a span attribute MUST be used, as an Azure
@@ -135,7 +135,6 @@ static constexpr const char *kFaasTrigger = "faas.trigger";
135135
* The immutable version of the function being executed.
136136
* <p>
137137
* Depending on the cloud provider and platform, use:
138-
* <p>
139138
* <ul>
140139
* <li><strong>AWS Lambda:</strong> The <a
141140
* href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html">function

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

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ static inline nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncDouble
263263
* Time disk spent activated
264264
* <p>
265265
* The real elapsed time ("wall clock") used in the I/O path (time from operations running in
266-
* parallel are not counted). Measured as: <p> <ul> <li>Linux: Field 13 from <a
266+
* parallel are not counted). Measured as: <ul> <li>Linux: Field 13 from <a
267267
* href="https://www.kernel.org/doc/Documentation/ABI/testing/procfs-diskstats">procfs-diskstats</a></li>
268268
* <li>Windows: The complement of
269269
* <a
@@ -380,7 +380,7 @@ CreateAsyncDoubleMetricSystemDiskMerged(metrics::Meter *meter)
380380
* Sum of the time each operation took to complete
381381
* <p>
382382
* Because it is the sum of time each request took, parallel-issued requests each contribute to make
383-
* the count grow. Measured as: <p> <ul> <li>Linux: Fields 7 & 11 from <a
383+
* the count grow. Measured as: <ul> <li>Linux: Fields 7 & 11 from <a
384384
* href="https://www.kernel.org/doc/Documentation/ABI/testing/procfs-diskstats">procfs-diskstats</a></li>
385385
* <li>Windows: "Avg. Disk sec/Read" perf counter multiplied by "Disk Reads/sec" perf counter
386386
* (similar for Writes)</li>
@@ -888,7 +888,6 @@ CreateAsyncDoubleMetricSystemNetworkConnections(metrics::Meter *meter)
888888
* Count of packets that are dropped or discarded even though there was no error
889889
* <p>
890890
* Measured as:
891-
* <p>
892891
* <ul>
893892
* <li>Linux: the @code drop @endcode column in @code /proc/dev/net @endcode (<a
894893
* href="https://web.archive.org/web/20180321091318/http://www.onlamp.com/pub/a/linux/2000/11/16/LinuxAdmin.html">source</a>)</li>
@@ -937,7 +936,6 @@ CreateAsyncDoubleMetricSystemNetworkDropped(metrics::Meter *meter)
937936
* Count of network errors detected
938937
* <p>
939938
* Measured as:
940-
* <p>
941939
* <ul>
942940
* <li>Linux: the @code errs @endcode column in @code /proc/dev/net @endcode (<a
943941
* href="https://web.archive.org/web/20180321091318/http://www.onlamp.com/pub/a/linux/2000/11/16/LinuxAdmin.html">source</a>).</li>

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ static constexpr const char *kUrlFragment = "url.fragment";
5959
*
6060
* Query string values for the following keys SHOULD be redacted by default and replaced by the
6161
* value @code REDACTED @endcode:
62-
* <p>
6362
* <ul>
6463
* <li><a
6564
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth">@code
@@ -110,7 +109,7 @@ static constexpr const char *kUrlPort = "url.port";
110109
* can identify it. <p>
111110
*
112111
* Query string values for the following keys SHOULD be redacted by default and replaced by the
113-
* value @code REDACTED @endcode: <p> <ul> <li><a
112+
* value @code REDACTED @endcode: <ul> <li><a
114113
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth">@code
115114
* AWSAccessKeyId @endcode</a></li> <li><a
116115
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth">@code

api/include/opentelemetry/semconv/url_attributes.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ static constexpr const char *kUrlFragment = "url.fragment";
3939
*
4040
* Query string values for the following keys SHOULD be redacted by default and replaced by the
4141
* value @code REDACTED @endcode:
42-
* <p>
4342
* <ul>
4443
* <li><a
4544
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth">@code
@@ -73,7 +72,7 @@ static constexpr const char *kUrlPath = "url.path";
7372
* can identify it. <p>
7473
*
7574
* Query string values for the following keys SHOULD be redacted by default and replaced by the
76-
* value @code REDACTED @endcode: <p> <ul> <li><a
75+
* value @code REDACTED @endcode: <ul> <li><a
7776
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth">@code
7877
* AWSAccessKeyId @endcode</a></li> <li><a
7978
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth">@code

0 commit comments

Comments
 (0)