diff --git a/javascript/sentry-conventions/src/attributes.ts b/javascript/sentry-conventions/src/attributes.ts index e4250ce9..b97d1401 100644 --- a/javascript/sentry-conventions/src/attributes.ts +++ b/javascript/sentry-conventions/src/attributes.ts @@ -6411,7 +6411,7 @@ export type HTTP_HOST_TYPE = string; * Attribute defined in OTEL: Yes * Visibility: public * - * Aliases: {@link HTTP_REQUEST_METHOD} `http.request.method`, {@link _HTTP_REQUEST_METHOD} `http.request_method`, {@link METHOD} `method` + * Aliases: {@link HTTP_REQUEST_METHOD} `http.request.method`, {@link _HTTP_REQUEST_METHOD} `http.request_method`, {@link METHOD} `method`, {@link TRANSACTION_METHOD} `transaction.method` * * @deprecated Use {@link HTTP_REQUEST_METHOD} (http.request.method) instead * @example "GET" @@ -6605,7 +6605,7 @@ export type HTTP_REQUEST_HEADER_KEY_TYPE = Array; * Attribute defined in OTEL: Yes * Visibility: public * - * Aliases: {@link METHOD} `method`, {@link HTTP_METHOD} `http.method`, {@link _HTTP_REQUEST_METHOD} `http.request_method` + * Aliases: {@link METHOD} `method`, {@link HTTP_METHOD} `http.method`, {@link _HTTP_REQUEST_METHOD} `http.request_method`, {@link TRANSACTION_METHOD} `transaction.method` * * @example "GET" */ @@ -6628,7 +6628,7 @@ export type HTTP_REQUEST_METHOD_TYPE = string; * Attribute defined in OTEL: No * Visibility: public * - * Aliases: {@link METHOD} `method`, {@link HTTP_METHOD} `http.method`, {@link HTTP_REQUEST_METHOD} `http.request.method` + * Aliases: {@link METHOD} `method`, {@link HTTP_METHOD} `http.method`, {@link HTTP_REQUEST_METHOD} `http.request.method`, {@link TRANSACTION_METHOD} `transaction.method` * * @deprecated Use {@link HTTP_REQUEST_METHOD} (http.request.method) instead * @example "GET" @@ -8604,7 +8604,7 @@ export type MESSAGING_SYSTEM_TYPE = string; * Attribute defined in OTEL: No * Visibility: public * - * Aliases: {@link HTTP_REQUEST_METHOD} `http.request.method`, {@link _HTTP_REQUEST_METHOD} `http.request_method`, {@link HTTP_METHOD} `http.method` + * Aliases: {@link HTTP_REQUEST_METHOD} `http.request.method`, {@link _HTTP_REQUEST_METHOD} `http.request_method`, {@link HTTP_METHOD} `http.method`, {@link TRANSACTION_METHOD} `transaction.method` * * @deprecated Use {@link HTTP_REQUEST_METHOD} (http.request.method) instead * @example "GET" @@ -12030,6 +12030,30 @@ export const TRANSACTION = 'transaction'; */ export type TRANSACTION_TYPE = string; +// Path: model/attributes/transaction/transaction__method.json + +/** + * The HTTP method of a transaction `transaction.method` + * + * Attribute Value Type: `string` {@link TRANSACTION_METHOD_TYPE} + * + * Contains PII: maybe + * + * Attribute defined in OTEL: No + * Visibility: public + * + * Aliases: {@link HTTP_REQUEST_METHOD} `http.request.method`, {@link HTTP_METHOD} `http.method`, {@link _HTTP_REQUEST_METHOD} `http.request_method`, {@link METHOD} `method` + * + * @deprecated Use {@link HTTP_REQUEST_METHOD} (http.request.method) instead + * @example "GET" + */ +export const TRANSACTION_METHOD = 'transaction.method'; + +/** + * Type for {@link TRANSACTION_METHOD} transaction.method + */ +export type TRANSACTION_METHOD_TYPE = string; + // Path: model/attributes/trpc/trpc__procedure_path.json /** @@ -14255,6 +14279,7 @@ export const ATTRIBUTE_TYPE: Record = { [TIME_TO_FULL_DISPLAY]: 'double', [TIME_TO_INITIAL_DISPLAY]: 'double', [TRANSACTION]: 'string', + [TRANSACTION_METHOD]: 'string', [TRPC_PROCEDURE_PATH]: 'string', [TRPC_PROCEDURE_TYPE]: 'string', [TTFB]: 'double', @@ -14880,6 +14905,7 @@ export type AttributeName = | typeof TIME_TO_FULL_DISPLAY | typeof TIME_TO_INITIAL_DISPLAY | typeof TRANSACTION + | typeof TRANSACTION_METHOD | typeof TRPC_PROCEDURE_PATH | typeof TRPC_PROCEDURE_TYPE | typeof TTFB @@ -19015,7 +19041,7 @@ export const ATTRIBUTE_METADATA: Record = { deprecation: { replacement: 'http.request.method', }, - aliases: [HTTP_REQUEST_METHOD, _HTTP_REQUEST_METHOD, METHOD], + aliases: [HTTP_REQUEST_METHOD, _HTTP_REQUEST_METHOD, METHOD, TRANSACTION_METHOD], changelog: [{ version: '0.1.0', prs: [61, 127] }, { version: '0.0.0' }], }, [HTTP_QUERY]: { @@ -19132,7 +19158,7 @@ export const ATTRIBUTE_METADATA: Record = { isInOtel: true, visibility: 'public', example: 'GET', - aliases: [METHOD, HTTP_METHOD, _HTTP_REQUEST_METHOD], + aliases: [METHOD, HTTP_METHOD, _HTTP_REQUEST_METHOD, TRANSACTION_METHOD], changelog: [{ version: '0.1.0', prs: [127] }, { version: '0.0.0' }], }, [_HTTP_REQUEST_METHOD]: { @@ -19147,7 +19173,7 @@ export const ATTRIBUTE_METADATA: Record = { deprecation: { replacement: 'http.request.method', }, - aliases: [METHOD, HTTP_METHOD, HTTP_REQUEST_METHOD], + aliases: [METHOD, HTTP_METHOD, HTTP_REQUEST_METHOD, TRANSACTION_METHOD], changelog: [{ version: '0.6.0', prs: [343], description: 'Added http.request_method attribute' }], }, [HTTP_REQUEST_REDIRECT_END]: { @@ -20326,7 +20352,7 @@ export const ATTRIBUTE_METADATA: Record = { deprecation: { replacement: 'http.request.method', }, - aliases: [HTTP_REQUEST_METHOD, _HTTP_REQUEST_METHOD, HTTP_METHOD], + aliases: [HTTP_REQUEST_METHOD, _HTTP_REQUEST_METHOD, HTTP_METHOD, TRANSACTION_METHOD], sdks: ['javascript-browser', 'javascript-node'], changelog: [{ version: '0.1.0', prs: [61, 127] }, { version: '0.0.0' }], }, @@ -22329,6 +22355,21 @@ export const ATTRIBUTE_METADATA: Record = { { version: '0.0.0' }, ], }, + [TRANSACTION_METHOD]: { + brief: 'The HTTP method of a transaction', + type: 'string', + pii: { + isPii: 'maybe', + }, + isInOtel: false, + visibility: 'public', + example: 'GET', + deprecation: { + replacement: 'http.request.method', + }, + aliases: [HTTP_REQUEST_METHOD, HTTP_METHOD, _HTTP_REQUEST_METHOD, METHOD], + changelog: [{ version: 'next', prs: [361], description: 'Added transaction.method attribute' }], + }, [TRPC_PROCEDURE_PATH]: { brief: 'The path of the tRPC procedure being called', type: 'string', @@ -23767,6 +23808,7 @@ export type Attributes = { [TIME_TO_FULL_DISPLAY]?: TIME_TO_FULL_DISPLAY_TYPE; [TIME_TO_INITIAL_DISPLAY]?: TIME_TO_INITIAL_DISPLAY_TYPE; [TRANSACTION]?: TRANSACTION_TYPE; + [TRANSACTION_METHOD]?: TRANSACTION_METHOD_TYPE; [TRPC_PROCEDURE_PATH]?: TRPC_PROCEDURE_PATH_TYPE; [TRPC_PROCEDURE_TYPE]?: TRPC_PROCEDURE_TYPE_TYPE; [TTFB]?: TTFB_TYPE; diff --git a/model/attributes/http/http__method.json b/model/attributes/http/http__method.json index 1e5be429..185ef76f 100644 --- a/model/attributes/http/http__method.json +++ b/model/attributes/http/http__method.json @@ -7,7 +7,7 @@ }, "is_in_otel": true, "example": "GET", - "alias": ["http.request.method", "http.request_method", "method"], + "alias": ["http.request.method", "http.request_method", "method", "transaction.method"], "deprecation": { "_status": "backfill", "replacement": "http.request.method" diff --git a/model/attributes/http/http__request__method.json b/model/attributes/http/http__request__method.json index 98a51d30..ce9c8d3f 100644 --- a/model/attributes/http/http__request__method.json +++ b/model/attributes/http/http__request__method.json @@ -7,7 +7,7 @@ }, "is_in_otel": true, "example": "GET", - "alias": ["method", "http.method", "http.request_method"], + "alias": ["method", "http.method", "http.request_method", "transaction.method"], "visibility": "public", "changelog": [ { diff --git a/model/attributes/http/http__request_method.json b/model/attributes/http/http__request_method.json index a80be3f6..f9afde24 100644 --- a/model/attributes/http/http__request_method.json +++ b/model/attributes/http/http__request_method.json @@ -7,7 +7,7 @@ }, "is_in_otel": false, "example": "GET", - "alias": ["method", "http.method", "http.request.method"], + "alias": ["method", "http.method", "http.request.method", "transaction.method"], "deprecation": { "_status": "backfill", "replacement": "http.request.method" diff --git a/model/attributes/method.json b/model/attributes/method.json index f9ad55bf..b81d909c 100644 --- a/model/attributes/method.json +++ b/model/attributes/method.json @@ -7,7 +7,7 @@ }, "is_in_otel": false, "example": "GET", - "alias": ["http.request.method", "http.request_method", "http.method"], + "alias": ["http.request.method", "http.request_method", "http.method", "transaction.method"], "sdks": ["javascript-browser", "javascript-node"], "deprecation": { "_status": null, diff --git a/model/attributes/transaction/transaction__method.json b/model/attributes/transaction/transaction__method.json new file mode 100644 index 00000000..d92cf39d --- /dev/null +++ b/model/attributes/transaction/transaction__method.json @@ -0,0 +1,22 @@ +{ + "key": "transaction.method", + "brief": "The HTTP method of a transaction", + "type": "string", + "pii": { + "key": "maybe" + }, + "is_in_otel": false, + "example": "GET", + "deprecation": { + "_status": "backfill", + "replacement": "http.request.method" + }, + "alias": ["http.request.method", "http.method", "http.request_method", "method"], + "changelog": [ + { + "version": "next", + "prs": [361], + "description": "Added transaction.method attribute" + } + ] +} diff --git a/python/src/sentry_conventions/attributes.py b/python/src/sentry_conventions/attributes.py index f7793029..1c0673d2 100644 --- a/python/src/sentry_conventions/attributes.py +++ b/python/src/sentry_conventions/attributes.py @@ -254,6 +254,7 @@ class _AttributeNamesMeta(type): "SENTRY_USER_USERNAME", "TIME_TO_FULL_DISPLAY", "TIME_TO_INITIAL_DISPLAY", + "TRANSACTION_METHOD", "TRANSACTION", "TTFB_REQUESTTIME", "TTFB", @@ -3863,7 +3864,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): Contains PII: maybe Defined in OTEL: Yes Visibility: public - Aliases: http.request.method, http.request_method, method + Aliases: http.request.method, http.request_method, method, transaction.method DEPRECATED: Use http.request.method instead Example: "GET" """ @@ -3977,7 +3978,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): Contains PII: maybe Defined in OTEL: Yes Visibility: public - Aliases: method, http.method, http.request_method + Aliases: method, http.method, http.request_method, transaction.method Example: "GET" """ @@ -4106,7 +4107,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): Contains PII: maybe Defined in OTEL: No Visibility: public - Aliases: method, http.method, http.request.method + Aliases: method, http.method, http.request.method, transaction.method DEPRECATED: Use http.request.method instead Example: "GET" """ @@ -5105,7 +5106,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): Contains PII: maybe Defined in OTEL: No Visibility: public - Aliases: http.request.method, http.request_method, http.method + Aliases: http.request.method, http.request_method, http.method, transaction.method DEPRECATED: Use http.request.method instead Example: "GET" """ @@ -6969,6 +6970,19 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): Example: 1234.56 """ + # Path: model/attributes/transaction/transaction__method.json + TRANSACTION_METHOD: Literal["transaction.method"] = "transaction.method" + """The HTTP method of a transaction + + Type: str + Contains PII: maybe + Defined in OTEL: No + Visibility: public + Aliases: http.request.method, http.method, http.request_method, method + DEPRECATED: Use http.request.method instead + Example: "GET" + """ + # Path: model/attributes/transaction.json TRANSACTION: Literal["transaction"] = "transaction" """The sentry transaction (segment name). @@ -12269,7 +12283,12 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="http.request.method", status=DeprecationStatus.BACKFILL ), - aliases=["http.request.method", "http.request_method", "method"], + aliases=[ + "http.request.method", + "http.request_method", + "method", + "transaction.method", + ], changelog=[ ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), @@ -12394,7 +12413,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): is_in_otel=True, visibility=Visibility.PUBLIC, example="GET", - aliases=["method", "http.method", "http.request_method"], + aliases=["method", "http.method", "http.request_method", "transaction.method"], changelog=[ ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), @@ -12531,7 +12550,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="http.request.method", status=DeprecationStatus.BACKFILL ), - aliases=["method", "http.method", "http.request.method"], + aliases=["method", "http.method", "http.request.method", "transaction.method"], changelog=[ ChangelogEntry( version="0.6.0", @@ -13615,7 +13634,12 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): visibility=Visibility.PUBLIC, example="GET", deprecation=DeprecationInfo(replacement="http.request.method"), - aliases=["http.request.method", "http.request_method", "http.method"], + aliases=[ + "http.request.method", + "http.request_method", + "http.method", + "transaction.method", + ], sdks=["javascript-browser", "javascript-node"], changelog=[ ChangelogEntry(version="0.1.0", prs=[61, 127]), @@ -15664,6 +15688,25 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ), ], ), + "transaction.method": AttributeMetadata( + brief="The HTTP method of a transaction", + type=AttributeType.STRING, + pii=PiiInfo(isPii=IsPii.MAYBE), + is_in_otel=False, + visibility=Visibility.PUBLIC, + example="GET", + deprecation=DeprecationInfo( + replacement="http.request.method", status=DeprecationStatus.BACKFILL + ), + aliases=["http.request.method", "http.method", "http.request_method", "method"], + changelog=[ + ChangelogEntry( + version="next", + prs=[361], + description="Added transaction.method attribute", + ), + ], + ), "transaction": AttributeMetadata( brief="The sentry transaction (segment name).", type=AttributeType.STRING, @@ -17164,6 +17207,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "timber.tag": str, "time_to_full_display": float, "time_to_initial_display": float, + "transaction.method": str, "transaction": str, "trpc.procedure_path": str, "trpc.procedure_type": str,