| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375 |
- /*
- * 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 http
- {
- /**
- Deprecated, use @code client.address @endcode instead.
- @deprecated
- {"note": "Replaced by @code client.address @endcode.", "reason": "renamed", "renamed_to":
- "client.address"}
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpClientIp = "http.client_ip";
- /**
- State of the HTTP connection in the HTTP connection pool.
- */
- static constexpr const char *kHttpConnectionState = "http.connection.state";
- /**
- Deprecated, use @code network.protocol.name @endcode instead.
- @deprecated
- {"note": "Replaced by @code network.protocol.name @endcode.", "reason": "renamed", "renamed_to":
- "network.protocol.name"}
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpFlavor = "http.flavor";
- /**
- Deprecated, use one of @code server.address @endcode, @code client.address @endcode or @code
- http.request.header.host @endcode instead, depending on the usage.
- @deprecated
- {"note": "Replaced by one of @code server.address @endcode, @code client.address @endcode or @code
- http.request.header.host @endcode, depending on the usage.\n", "reason": "uncategorized"}
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpHost = "http.host";
- /**
- Deprecated, use @code http.request.method @endcode instead.
- @deprecated
- {"note": "Replaced by @code http.request.method @endcode.", "reason": "renamed", "renamed_to":
- "http.request.method"}
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpMethod = "http.method";
- /**
- The size of the request payload body in bytes. This is the number of bytes transferred excluding
- headers and is often, but not always, present as the <a
- href="https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length">Content-Length</a> header.
- For requests using transport encoding, this should be the compressed size.
- */
- static constexpr const char *kHttpRequestBodySize = "http.request.body.size";
- /**
- HTTP request headers, @code <key> @endcode being the normalized HTTP Header name (lowercase), the
- value being the header values. <p> Instrumentations SHOULD require an explicit configuration of
- which headers are to be captured. Including all request headers can be a security risk - explicit
- configuration helps avoid leaking sensitive information. <p> The @code User-Agent @endcode header
- is already captured in the @code user_agent.original @endcode attribute. Users MAY explicitly
- configure instrumentations to capture them even though it is not recommended. <p> The attribute
- value MUST consist of either multiple header values as an array of strings or a single-item array
- containing a possibly comma-concatenated string, depending on the way the HTTP library provides
- access to headers. <p> Examples: <ul> <li>A header @code Content-Type: application/json @endcode
- SHOULD be recorded as the @code http.request.header.content-type @endcode attribute with value
- @code ["application/json"] @endcode.</li> <li>A header @code X-Forwarded-For: 1.2.3.4, 1.2.3.5
- @endcode SHOULD be recorded as the @code http.request.header.x-forwarded-for @endcode attribute
- with value @code ["1.2.3.4", "1.2.3.5"] @endcode or @code ["1.2.3.4, 1.2.3.5"] @endcode depending
- on the HTTP library.</li>
- </ul>
- */
- static constexpr const char *kHttpRequestHeader = "http.request.header";
- /**
- HTTP request method.
- <p>
- HTTP request method value SHOULD be "known" to the instrumentation.
- By default, this convention defines "known" methods as the ones listed in <a
- href="https://www.rfc-editor.org/rfc/rfc9110.html#name-methods">RFC9110</a> and the PATCH method
- defined in <a href="https://www.rfc-editor.org/rfc/rfc5789.html">RFC5789</a>. <p> If the HTTP
- request method is not known to instrumentation, it MUST set the @code http.request.method @endcode
- attribute to @code _OTHER @endcode. <p> If the HTTP instrumentation could end up converting valid
- HTTP request methods to @code _OTHER @endcode, then it MUST provide a way to override the list of
- known HTTP methods. If this override is done via environment variable, then the environment
- variable MUST be named OTEL_INSTRUMENTATION_HTTP_KNOWN_METHODS and support a comma-separated list
- of case-sensitive known HTTP methods (this list MUST be a full override of the default known
- method, it is not a list of known methods in addition to the defaults). <p> HTTP method names are
- case-sensitive and @code http.request.method @endcode attribute value MUST match a known HTTP
- method name exactly. Instrumentations for specific web frameworks that consider HTTP methods to be
- case insensitive, SHOULD populate a canonical equivalent. Tracing instrumentations that do so,
- MUST also set @code http.request.method_original @endcode to the original value.
- */
- static constexpr const char *kHttpRequestMethod = "http.request.method";
- /**
- Original HTTP method sent by the client in the request line.
- */
- static constexpr const char *kHttpRequestMethodOriginal = "http.request.method_original";
- /**
- The ordinal number of request resending attempt (for any reason, including redirects).
- <p>
- The resend count SHOULD be updated each time an HTTP request gets resent by the client, regardless
- of what was the cause of the resending (e.g. redirection, authorization failure, 503 Server
- Unavailable, network issues, or any other).
- */
- static constexpr const char *kHttpRequestResendCount = "http.request.resend_count";
- /**
- The total size of the request in bytes. This should be the total number of bytes sent over the
- wire, including the request line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and request
- body if any.
- */
- static constexpr const char *kHttpRequestSize = "http.request.size";
- /**
- Deprecated, use @code http.request.header.content-length @endcode instead.
- @deprecated
- {"note": "Replaced by @code http.request.header.content-length @endcode.", "reason":
- "uncategorized"}
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpRequestContentLength =
- "http.request_content_length";
- /**
- Deprecated, use @code http.request.body.size @endcode instead.
- @deprecated
- {"note": "Replaced by @code http.request.body.size @endcode.", "reason": "renamed", "renamed_to":
- "http.request.body.size"}
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpRequestContentLengthUncompressed =
- "http.request_content_length_uncompressed";
- /**
- The size of the response payload body in bytes. This is the number of bytes transferred excluding
- headers and is often, but not always, present as the <a
- href="https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length">Content-Length</a> header.
- For requests using transport encoding, this should be the compressed size.
- */
- static constexpr const char *kHttpResponseBodySize = "http.response.body.size";
- /**
- HTTP response headers, @code <key> @endcode being the normalized HTTP Header name (lowercase), the
- value being the header values. <p> Instrumentations SHOULD require an explicit configuration of
- which headers are to be captured. Including all response headers can be a security risk - explicit
- configuration helps avoid leaking sensitive information. <p> Users MAY explicitly configure
- instrumentations to capture them even though it is not recommended. <p> The attribute value MUST
- consist of either multiple header values as an array of strings or a single-item array containing
- a possibly comma-concatenated string, depending on the way the HTTP library provides access to
- headers. <p> Examples: <ul> <li>A header @code Content-Type: application/json @endcode header
- SHOULD be recorded as the @code http.request.response.content-type @endcode attribute with value
- @code ["application/json"] @endcode.</li> <li>A header @code My-custom-header: abc, def @endcode
- header SHOULD be recorded as the @code http.response.header.my-custom-header @endcode attribute
- with value @code ["abc", "def"] @endcode or @code ["abc, def"] @endcode depending on the HTTP
- library.</li>
- </ul>
- */
- static constexpr const char *kHttpResponseHeader = "http.response.header";
- /**
- The total size of the response in bytes. This should be the total number of bytes sent over the
- wire, including the status line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and response
- body and trailers if any.
- */
- static constexpr const char *kHttpResponseSize = "http.response.size";
- /**
- <a href="https://tools.ietf.org/html/rfc7231#section-6">HTTP response status code</a>.
- */
- static constexpr const char *kHttpResponseStatusCode = "http.response.status_code";
- /**
- Deprecated, use @code http.response.header.content-length @endcode instead.
- @deprecated
- {"note": "hp.response.header.content-length", "reason": "uncategorized"}
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpResponseContentLength =
- "http.response_content_length";
- /**
- Deprecated, use @code http.response.body.size @endcode instead.
- @deprecated
- {"note": "Replaced by @code http.response.body.size @endcode.", "reason": "renamed", "renamed_to":
- "http.response.body.size"}
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpResponseContentLengthUncompressed =
- "http.response_content_length_uncompressed";
- /**
- The matched route, that is, the path template in the format used by the respective server
- framework. <p> MUST NOT be populated when this is not supported by the HTTP server framework as
- the route attribute should have low-cardinality and the URI path can NOT substitute it. SHOULD
- include the <a href="/docs/http/http-spans.md#http-server-definitions">application root</a> if
- there is one.
- */
- static constexpr const char *kHttpRoute = "http.route";
- /**
- Deprecated, use @code url.scheme @endcode instead.
- @deprecated
- {"note": "Replaced by @code url.scheme @endcode.", "reason": "renamed", "renamed_to":
- "url.scheme"}
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpScheme = "http.scheme";
- /**
- Deprecated, use @code server.address @endcode instead.
- @deprecated
- {"note": "Replaced by @code server.address @endcode.", "reason": "renamed", "renamed_to":
- "server.address"}
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpServerName = "http.server_name";
- /**
- Deprecated, use @code http.response.status_code @endcode instead.
- @deprecated
- {"note": "Replaced by @code http.response.status_code @endcode.", "reason": "renamed",
- "renamed_to": "http.response.status_code"}
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpStatusCode = "http.status_code";
- /**
- Deprecated, use @code url.path @endcode and @code url.query @endcode instead.
- @deprecated
- {"note": "Split to @code url.path @endcode and @code url.query @endcode.", "reason": "obsoleted"}
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpTarget = "http.target";
- /**
- Deprecated, use @code url.full @endcode instead.
- @deprecated
- {"note": "Replaced by @code url.full @endcode.", "reason": "renamed", "renamed_to": "url.full"}
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpUrl = "http.url";
- /**
- Deprecated, use @code user_agent.original @endcode instead.
- @deprecated
- {"note": "Replaced by @code user_agent.original @endcode.", "reason": "renamed", "renamed_to":
- "user_agent.original"}
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpUserAgent = "http.user_agent";
- namespace HttpConnectionStateValues
- {
- /**
- active state.
- */
- static constexpr const char *kActive = "active";
- /**
- idle state.
- */
- static constexpr const char *kIdle = "idle";
- } // namespace HttpConnectionStateValues
- namespace HttpFlavorValues
- {
- /**
- HTTP/1.0
- */
- static constexpr const char *kHttp10 = "1.0";
- /**
- HTTP/1.1
- */
- static constexpr const char *kHttp11 = "1.1";
- /**
- HTTP/2
- */
- static constexpr const char *kHttp20 = "2.0";
- /**
- HTTP/3
- */
- static constexpr const char *kHttp30 = "3.0";
- /**
- SPDY protocol.
- */
- static constexpr const char *kSpdy = "SPDY";
- /**
- QUIC protocol.
- */
- static constexpr const char *kQuic = "QUIC";
- } // namespace HttpFlavorValues
- namespace HttpRequestMethodValues
- {
- /**
- CONNECT method.
- */
- static constexpr const char *kConnect = "CONNECT";
- /**
- DELETE method.
- */
- static constexpr const char *kDelete = "DELETE";
- /**
- GET method.
- */
- static constexpr const char *kGet = "GET";
- /**
- HEAD method.
- */
- static constexpr const char *kHead = "HEAD";
- /**
- OPTIONS method.
- */
- static constexpr const char *kOptions = "OPTIONS";
- /**
- PATCH method.
- */
- static constexpr const char *kPatch = "PATCH";
- /**
- POST method.
- */
- static constexpr const char *kPost = "POST";
- /**
- PUT method.
- */
- static constexpr const char *kPut = "PUT";
- /**
- TRACE method.
- */
- static constexpr const char *kTrace = "TRACE";
- /**
- Any HTTP method that the instrumentation has no prior knowledge of.
- */
- static constexpr const char *kOther = "_OTHER";
- } // namespace HttpRequestMethodValues
- } // namespace http
- } // namespace semconv
- OPENTELEMETRY_END_NAMESPACE
|