1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173
|
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
/*
* DO NOT EDIT, this is an Auto-generated file from:
* buildscripts/semantic-convention/templates/registry/semantic_attributes-h.j2
*/
#pragma once
#include "opentelemetry/common/macros.h"
#include "opentelemetry/version.h"
OPENTELEMETRY_BEGIN_NAMESPACE
namespace semconv
{
namespace url
{
/**
Domain extracted from the @code url.full @endcode, such as "opentelemetry.io".
<p>
In some cases a URL may refer to an IP and/or port directly, without a domain name. In this case,
the IP address would go to the domain field. If the URL contains a <a
href="https://www.rfc-editor.org/rfc/rfc2732#section-2">literal IPv6 address</a> enclosed by @code
[ @endcode and @code ] @endcode, the @code [ @endcode and @code ] @endcode characters should also
be captured in the domain field.
*/
static constexpr const char *kUrlDomain = "url.domain";
/**
The file extension extracted from the @code url.full @endcode, excluding the leading dot.
<p>
The file extension is only set if it exists, as not every url has a file extension. When the file
name has multiple extensions @code example.tar.gz @endcode, only the last one should be captured
@code gz @endcode, not @code tar.gz @endcode.
*/
static constexpr const char *kUrlExtension = "url.extension";
/**
The <a href="https://www.rfc-editor.org/rfc/rfc3986#section-3.5">URI fragment</a> component
*/
static constexpr const char *kUrlFragment = "url.fragment";
/**
Absolute URL describing a network resource according to <a
href="https://www.rfc-editor.org/rfc/rfc3986">RFC3986</a> <p> For network calls, URL usually has
@code scheme://host[:port][path][?query][#fragment] @endcode format, where the fragment is not
transmitted over HTTP, but if it is known, it SHOULD be included nevertheless. <p>
@code url.full @endcode MUST NOT contain credentials passed via URL in form of @code
https://username:password@www.example.com/ @endcode. In such case username and password SHOULD be
redacted and attribute's value SHOULD be @code https://REDACTED:REDACTED@www.example.com/
@endcode. <p>
@code url.full @endcode SHOULD capture the absolute URL when it is available (or can be
reconstructed). <p> Sensitive content provided in @code url.full @endcode SHOULD be scrubbed when
instrumentations can identify it. <p>
Query string values for the following keys SHOULD be redacted by default and replaced by the
value @code REDACTED @endcode:
<ul>
<li><a
href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth">@code
AWSAccessKeyId @endcode</a></li> <li><a
href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth">@code
Signature @endcode</a></li> <li><a
href="https://learn.microsoft.com/azure/storage/common/storage-sas-overview#sas-token">@code sig
@endcode</a></li> <li><a
href="https://cloud.google.com/storage/docs/access-control/signed-urls">@code X-Goog-Signature
@endcode</a></li>
</ul>
<p>
This list is subject to change over time.
<p>
When a query string value is redacted, the query string key SHOULD still be preserved, e.g.
@code https://www.example.com/path?color=blue&sig=REDACTED @endcode.
*/
static constexpr const char *kUrlFull = "url.full";
/**
Unmodified original URL as seen in the event source.
<p>
In network monitoring, the observed URL may be a full URL, whereas in access logs, the URL is
often just represented as a path. This field is meant to represent the URL as it was observed,
complete or not.
@code url.original @endcode might contain credentials passed via URL in form of @code
https://username:password@www.example.com/ @endcode. In such case password and username SHOULD NOT
be redacted and attribute's value SHOULD remain the same.
*/
static constexpr const char *kUrlOriginal = "url.original";
/**
The <a href="https://www.rfc-editor.org/rfc/rfc3986#section-3.3">URI path</a> component
<p>
Sensitive content provided in @code url.path @endcode SHOULD be scrubbed when instrumentations can
identify it.
*/
static constexpr const char *kUrlPath = "url.path";
/**
Port extracted from the @code url.full @endcode
*/
static constexpr const char *kUrlPort = "url.port";
/**
The <a href="https://www.rfc-editor.org/rfc/rfc3986#section-3.4">URI query</a> component
<p>
Sensitive content provided in @code url.query @endcode SHOULD be scrubbed when instrumentations
can identify it. <p>
Query string values for the following keys SHOULD be redacted by default and replaced by the value
@code REDACTED @endcode: <ul> <li><a
href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth">@code
AWSAccessKeyId @endcode</a></li> <li><a
href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RESTAuthentication.html#RESTAuthenticationQueryStringAuth">@code
Signature @endcode</a></li> <li><a
href="https://learn.microsoft.com/azure/storage/common/storage-sas-overview#sas-token">@code sig
@endcode</a></li> <li><a
href="https://cloud.google.com/storage/docs/access-control/signed-urls">@code X-Goog-Signature
@endcode</a></li>
</ul>
<p>
This list is subject to change over time.
<p>
When a query string value is redacted, the query string key SHOULD still be preserved, e.g.
@code q=OpenTelemetry&sig=REDACTED @endcode.
*/
static constexpr const char *kUrlQuery = "url.query";
/**
The highest registered url domain, stripped of the subdomain.
<p>
This value can be determined precisely with the <a href="https://publicsuffix.org/">public suffix
list</a>. For example, the registered domain for @code foo.example.com @endcode is @code
example.com @endcode. Trying to approximate this by simply taking the last two labels will not
work well for TLDs such as @code co.uk @endcode.
*/
static constexpr const char *kUrlRegisteredDomain = "url.registered_domain";
/**
The <a href="https://www.rfc-editor.org/rfc/rfc3986#section-3.1">URI scheme</a> component
identifying the used protocol.
*/
static constexpr const char *kUrlScheme = "url.scheme";
/**
The subdomain portion of a fully qualified domain name includes all of the names except the host
name under the registered_domain. In a partially qualified domain, or if the qualification level
of the full name cannot be determined, subdomain contains all of the names below the registered
domain. <p> The subdomain portion of @code www.east.mydomain.co.uk @endcode is @code east
@endcode. If the domain has multiple levels of subdomain, such as @code sub2.sub1.example.com
@endcode, the subdomain field should contain @code sub2.sub1 @endcode, with no trailing period.
*/
static constexpr const char *kUrlSubdomain = "url.subdomain";
/**
The low-cardinality template of an <a
href="https://www.rfc-editor.org/rfc/rfc3986#section-4.2">absolute path reference</a>.
*/
static constexpr const char *kUrlTemplate = "url.template";
/**
The effective top level domain (eTLD), also known as the domain suffix, is the last part of the
domain name. For example, the top level domain for example.com is @code com @endcode. <p> This
value can be determined precisely with the <a href="https://publicsuffix.org/">public suffix
list</a>.
*/
static constexpr const char *kUrlTopLevelDomain = "url.top_level_domain";
} // namespace url
} // namespace semconv
OPENTELEMETRY_END_NAMESPACE
|