-
-
Notifications
You must be signed in to change notification settings - Fork 202
Description
To get an overview of this work across all SDKs, please visit:
https://github.com/orgs/getsentry/projects/135
Parent issue: getsentry/team-sdks#19
For the starfish db module it was determined that we need extra database attributes, specifically about the database connection attributes.
We're going to matching the otel db conventions. Either one of server.address or server.socket.address is required. If server.address is set, then server.port should be set. If server.port is different than server.socket.port, than server.socket.port should also be set. In addition, db.name should be set if possible. db.system should match the list in OpenTelemetry's well known conventions.
| Attribute | Type | Description | Examples | Requirement Level |
|---|---|---|---|---|
db.system |
string | An identifier for the database management system (DBMS) product being used. | mysql |
Required |
server.address |
string | Name of the database host. | example.com |
Conditionally Required: See alternative attributes below. |
server.port |
int | Logical server port number | 80; 8080; 443 |
Conditionally Required: [1] |
server.socket.address |
string | Physical server IP address or Unix socket address. | 10.5.3.2 |
See below |
server.socket.port |
int | Physical server port. | 16456 |
Recommended: If different than server.port. |
db.name |
string | This attribute is used to report the name of the database being accessed. For commands that switch the database, this should be set to the target database (even if the command fails). | customers; main |
Conditionally Required: If applicable. |
These values should be set on span.data.
Motivation
This is being done for the Sentry's new performance views for databases. See a WIP example of the view below:
