Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
181 changes: 180 additions & 1 deletion javascript/sentry-conventions/src/attributes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6812,6 +6812,27 @@ export const GEN_AI_REQUEST_SEED = 'gen_ai.request.seed';
*/
export type GEN_AI_REQUEST_SEED_TYPE = string;

// Path: model/attributes/gen_ai/gen_ai__request__stop_sequences.json

/**
* List of sequences that the model will use to stop generating further tokens. `gen_ai.request.stop_sequences`
*
* Attribute Value Type: `Array<string>` {@link GEN_AI_REQUEST_STOP_SEQUENCES_TYPE}
*
* Apply Scrubbing: manual
*
* Attribute defined in OTEL: Yes
* Visibility: public
*
* @example ["forest","lived"]
*/
export const GEN_AI_REQUEST_STOP_SEQUENCES = 'gen_ai.request.stop_sequences';

/**
* Type for {@link GEN_AI_REQUEST_STOP_SEQUENCES} gen_ai.request.stop_sequences
*/
export type GEN_AI_REQUEST_STOP_SEQUENCES_TYPE = Array<string>;

// Path: model/attributes/gen_ai/gen_ai__request__temperature.json

/**
Expand Down Expand Up @@ -9907,6 +9928,30 @@ export const MESSAGING_BATCH_MESSAGE_COUNT = 'messaging.batch.message_count';
*/
export type MESSAGING_BATCH_MESSAGE_COUNT_TYPE = number;

// Path: model/attributes/messaging/messaging__destination.json

/**
* The message destination name. `messaging.destination`
*
* Attribute Value Type: `string` {@link MESSAGING_DESTINATION_TYPE}
*
* Apply Scrubbing: manual
*
* Attribute defined in OTEL: No
* Visibility: public
*
* Aliases: {@link MESSAGING_DESTINATION_NAME} `messaging.destination.name`
*
* @deprecated Use {@link MESSAGING_DESTINATION_NAME} (messaging.destination.name) instead - This attribute is being deprecated in favor of messaging.destination.name, which is the OTel-aligned replacement.
* @example "BestTopic"
*/
export const MESSAGING_DESTINATION = 'messaging.destination';

/**
* Type for {@link MESSAGING_DESTINATION} messaging.destination
*/
export type MESSAGING_DESTINATION_TYPE = string;

// Path: model/attributes/messaging/messaging__destination__connection.json

/**
Expand Down Expand Up @@ -9940,6 +9985,8 @@ export type MESSAGING_DESTINATION_CONNECTION_TYPE = string;
* Attribute defined in OTEL: Yes
* Visibility: public
*
* Aliases: {@link MESSAGING_DESTINATION} `messaging.destination`
*
* @example "BestTopic"
*/
export const MESSAGING_DESTINATION_NAME = 'messaging.destination.name';
Expand Down Expand Up @@ -11826,6 +11873,53 @@ export const RPC_SERVICE = 'rpc.service';
*/
export type RPC_SERVICE_TYPE = string;

// Path: model/attributes/rpc/rpc__system.json

/**
* A string identifying the remoting system. `rpc.system`
*
* Attribute Value Type: `string` {@link RPC_SYSTEM_TYPE}
*
* Apply Scrubbing: manual
*
* Attribute defined in OTEL: Yes
* Visibility: public
*
* Aliases: {@link RPC_SYSTEM_NAME} `rpc.system.name`
*
* @deprecated Use {@link RPC_SYSTEM_NAME} (rpc.system.name) instead - This attribute is being deprecated in favor of rpc.system.name, which is the OTel-aligned replacement.
* @example "aws-api"
*/
export const RPC_SYSTEM = 'rpc.system';

/**
* Type for {@link RPC_SYSTEM} rpc.system
*/
export type RPC_SYSTEM_TYPE = string;

// Path: model/attributes/rpc/rpc__system__name.json

/**
* A string identifying the remoting system. `rpc.system.name`
*
* Attribute Value Type: `string` {@link RPC_SYSTEM_NAME_TYPE}
*
* Apply Scrubbing: manual
*
* Attribute defined in OTEL: Yes
* Visibility: public
*
* Aliases: {@link RPC_SYSTEM} `rpc.system`
*
* @example "aws-api"
*/
export const RPC_SYSTEM_NAME = 'rpc.system.name';

/**
* Type for {@link RPC_SYSTEM_NAME} rpc.system.name
*/
export type RPC_SYSTEM_NAME_TYPE = string;

// Path: model/attributes/runtime/runtime__build.json

/**
Expand Down Expand Up @@ -15901,6 +15995,7 @@ export const ATTRIBUTE_TYPE: Record<string, AttributeType> = {
'gen_ai.request.presence_penalty': 'double',
'gen_ai.request.reasoning_effort': 'string',
'gen_ai.request.seed': 'string',
'gen_ai.request.stop_sequences': 'string[]',
'gen_ai.request.temperature': 'double',
'gen_ai.request.top_k': 'integer',
'gen_ai.request.top_p': 'double',
Expand Down Expand Up @@ -16039,6 +16134,7 @@ export const ATTRIBUTE_TYPE: Record<string, AttributeType> = {
'mcp.transport': 'string',
'mdc.<key>': 'string',
'messaging.batch.message_count': 'integer',
'messaging.destination': 'string',
'messaging.destination.connection': 'string',
'messaging.destination.name': 'string',
'messaging.message.body.size': 'integer',
Expand Down Expand Up @@ -16125,6 +16221,8 @@ export const ATTRIBUTE_TYPE: Record<string, AttributeType> = {
'rpc.method': 'string',
'rpc.response.status_code': 'string',
'rpc.service': 'string',
'rpc.system': 'string',
'rpc.system.name': 'string',
'runtime.build': 'string',
'runtime.name': 'string',
'runtime.raw_description': 'string',
Expand Down Expand Up @@ -16607,6 +16705,7 @@ export type AttributeName =
| typeof GEN_AI_REQUEST_PRESENCE_PENALTY
| typeof GEN_AI_REQUEST_REASONING_EFFORT
| typeof GEN_AI_REQUEST_SEED
| typeof GEN_AI_REQUEST_STOP_SEQUENCES
| typeof GEN_AI_REQUEST_TEMPERATURE
| typeof GEN_AI_REQUEST_TOP_K
| typeof GEN_AI_REQUEST_TOP_P
Expand Down Expand Up @@ -16745,6 +16844,7 @@ export type AttributeName =
| typeof MCP_TRANSPORT
| typeof MDC_KEY
| typeof MESSAGING_BATCH_MESSAGE_COUNT
| typeof MESSAGING_DESTINATION
| typeof MESSAGING_DESTINATION_CONNECTION
| typeof MESSAGING_DESTINATION_NAME
| typeof MESSAGING_MESSAGE_BODY_SIZE
Expand Down Expand Up @@ -16831,6 +16931,8 @@ export type AttributeName =
| typeof RPC_METHOD
| typeof RPC_RESPONSE_STATUS_CODE
| typeof RPC_SERVICE
| typeof RPC_SYSTEM
| typeof RPC_SYSTEM_NAME
| typeof RUNTIME_BUILD
| typeof RUNTIME_NAME
| typeof RUNTIME_RAW_DESCRIPTION
Expand Down Expand Up @@ -21099,6 +21201,17 @@ export const ATTRIBUTE_METADATA: Record<AttributeName, AttributeMetadata> = {
aliases: ['ai.seed'],
changelog: [{ version: '0.1.0', prs: [57, 127] }],
},
'gen_ai.request.stop_sequences': {
brief: 'List of sequences that the model will use to stop generating further tokens.',
type: 'string[]',
applyScrubbing: {
key: 'manual',
},
isInOtel: true,
visibility: 'public',
example: ['forest', 'lived'],
changelog: [{ version: 'next', prs: [482], description: 'Added gen_ai.request.stop_sequences attribute' }],
},
'gen_ai.request.temperature': {
brief:
'For an AI model call, the temperature parameter. Temperature essentially means how random the output will be.',
Expand Down Expand Up @@ -23101,6 +23214,29 @@ export const ATTRIBUTE_METADATA: Record<AttributeName, AttributeMetadata> = {
example: 10,
changelog: [{ version: '0.6.0', prs: [341], description: 'Added messaging.batch.message_count attribute' }],
},
'messaging.destination': {
brief: 'The message destination name.',
type: 'string',
applyScrubbing: {
key: 'manual',
},
isInOtel: false,
visibility: 'public',
example: 'BestTopic',
deprecation: {
replacement: 'messaging.destination.name',
reason:
'This attribute is being deprecated in favor of messaging.destination.name, which is the OTel-aligned replacement.',
},
aliases: ['messaging.destination.name'],
changelog: [
{
version: 'next',
prs: [482],
description: 'Added messaging.destination attribute, deprecated in favor of messaging.destination.name',
},
],
},
'messaging.destination.connection': {
brief: 'The message destination connection.',
type: 'string',
Expand All @@ -23121,7 +23257,12 @@ export const ATTRIBUTE_METADATA: Record<AttributeName, AttributeMetadata> = {
isInOtel: true,
visibility: 'public',
example: 'BestTopic',
changelog: [{ version: '0.1.0', prs: [127] }, { version: '0.0.0' }],
aliases: ['messaging.destination'],
changelog: [
{ version: 'next', prs: [482], description: 'Added messaging.destination as an alias' },
{ version: '0.1.0', prs: [127] },
{ version: '0.0.0' },
],
},
'messaging.message.body.size': {
brief: 'The size of the message body in bytes.',
Expand Down Expand Up @@ -24210,6 +24351,40 @@ export const ATTRIBUTE_METADATA: Record<AttributeName, AttributeMetadata> = {
example: 'myService.BestService',
changelog: [{ version: '0.1.0', prs: [127] }, { version: '0.0.0' }],
},
'rpc.system': {
brief: 'A string identifying the remoting system.',
type: 'string',
applyScrubbing: {
key: 'manual',
},
isInOtel: true,
visibility: 'public',
example: 'aws-api',
deprecation: {
replacement: 'rpc.system.name',
reason: 'This attribute is being deprecated in favor of rpc.system.name, which is the OTel-aligned replacement.',
},
aliases: ['rpc.system.name'],
changelog: [
{
version: 'next',
prs: [482],
description: 'Added rpc.system attribute, deprecated in favor of rpc.system.name',
},
],
},
'rpc.system.name': {
brief: 'A string identifying the remoting system.',
type: 'string',
applyScrubbing: {
key: 'manual',
},
isInOtel: true,
visibility: 'public',
example: 'aws-api',
aliases: ['rpc.system'],
changelog: [{ version: 'next', prs: [482], description: 'Added rpc.system.name attribute' }],
},
'runtime.build': {
brief: 'The application build string, when it is separate from the version.',
type: 'string',
Expand Down Expand Up @@ -26618,6 +26793,7 @@ export type Attributes = {
[GEN_AI_REQUEST_PRESENCE_PENALTY]?: GEN_AI_REQUEST_PRESENCE_PENALTY_TYPE;
[GEN_AI_REQUEST_REASONING_EFFORT]?: GEN_AI_REQUEST_REASONING_EFFORT_TYPE;
[GEN_AI_REQUEST_SEED]?: GEN_AI_REQUEST_SEED_TYPE;
[GEN_AI_REQUEST_STOP_SEQUENCES]?: GEN_AI_REQUEST_STOP_SEQUENCES_TYPE;
[GEN_AI_REQUEST_TEMPERATURE]?: GEN_AI_REQUEST_TEMPERATURE_TYPE;
[GEN_AI_REQUEST_TOP_K]?: GEN_AI_REQUEST_TOP_K_TYPE;
[GEN_AI_REQUEST_TOP_P]?: GEN_AI_REQUEST_TOP_P_TYPE;
Expand Down Expand Up @@ -26756,6 +26932,7 @@ export type Attributes = {
[MCP_TRANSPORT]?: MCP_TRANSPORT_TYPE;
[MDC_KEY]?: MDC_KEY_TYPE;
[MESSAGING_BATCH_MESSAGE_COUNT]?: MESSAGING_BATCH_MESSAGE_COUNT_TYPE;
[MESSAGING_DESTINATION]?: MESSAGING_DESTINATION_TYPE;
[MESSAGING_DESTINATION_CONNECTION]?: MESSAGING_DESTINATION_CONNECTION_TYPE;
[MESSAGING_DESTINATION_NAME]?: MESSAGING_DESTINATION_NAME_TYPE;
[MESSAGING_MESSAGE_BODY_SIZE]?: MESSAGING_MESSAGE_BODY_SIZE_TYPE;
Expand Down Expand Up @@ -26842,6 +27019,8 @@ export type Attributes = {
[RPC_METHOD]?: RPC_METHOD_TYPE;
[RPC_RESPONSE_STATUS_CODE]?: RPC_RESPONSE_STATUS_CODE_TYPE;
[RPC_SERVICE]?: RPC_SERVICE_TYPE;
[RPC_SYSTEM]?: RPC_SYSTEM_TYPE;
[RPC_SYSTEM_NAME]?: RPC_SYSTEM_NAME_TYPE;
[RUNTIME_BUILD]?: RUNTIME_BUILD_TYPE;
[RUNTIME_NAME]?: RUNTIME_NAME_TYPE;
[RUNTIME_RAW_DESCRIPTION]?: RUNTIME_RAW_DESCRIPTION_TYPE;
Expand Down
18 changes: 18 additions & 0 deletions model/attributes/gen_ai/gen_ai__request__stop_sequences.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"key": "gen_ai.request.stop_sequences",
"brief": "List of sequences that the model will use to stop generating further tokens.",
"type": "string[]",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": true,
"example": ["forest", "lived"],
"visibility": "public",
"changelog": [
{
"version": "next",
"prs": [482],
"description": "Added gen_ai.request.stop_sequences attribute"
}
]
}
24 changes: 24 additions & 0 deletions model/attributes/messaging/messaging__destination.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"key": "messaging.destination",
"brief": "The message destination name.",
"type": "string",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
Comment thread
andreiborza marked this conversation as resolved.
"example": "BestTopic",
"alias": ["messaging.destination.name"],
"deprecation": {
"_status": "backfill",
"replacement": "messaging.destination.name",
"reason": "This attribute is being deprecated in favor of messaging.destination.name, which is the OTel-aligned replacement."
},
"visibility": "public",
"changelog": [
{
"version": "next",
"prs": [482],
"description": "Added messaging.destination attribute, deprecated in favor of messaging.destination.name"
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,14 @@
},
"is_in_otel": true,
"example": "BestTopic",
"alias": ["messaging.destination"],
"visibility": "public",
"changelog": [
{
"version": "next",
"prs": [482],
"description": "Added messaging.destination as an alias"
},
{
"version": "0.1.0",
"prs": [127]
Expand Down
24 changes: 24 additions & 0 deletions model/attributes/rpc/rpc__system.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"key": "rpc.system",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we deprecate this in favour of rpc.system.name? It's what OTel does: https://opentelemetry.io/docs/specs/semconv/registry/attributes/rpc/#rpc-system

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah yea, good catch. I think they just haven't done that in the aws instrumentation yet, but will do.

"brief": "A string identifying the remoting system.",
"type": "string",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": true,
"example": "aws-api",
"alias": ["rpc.system.name"],
"deprecation": {
"_status": "backfill",
"replacement": "rpc.system.name",
"reason": "This attribute is being deprecated in favor of rpc.system.name, which is the OTel-aligned replacement."
},
"visibility": "public",
"changelog": [
{
"version": "next",
"prs": [482],
"description": "Added rpc.system attribute, deprecated in favor of rpc.system.name"
}
]
}
Loading
Loading