getsentry / team-sdks

A meta repository for tracking work across all SDK teams.
0 stars 0 forks source link

Project: Starfish Module: Queries #19

Closed AbhiPrasad closed 9 months ago

AbhiPrasad commented 11 months ago

Project Board

To get an overview of this work across all SDKs, please visit: https://github.com/orgs/getsentry/projects/135

Description

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.

The main priority items are db.name and db.system

Attribute Type Description Examples Requirement Level
db.system string An identifier for the database management system (DBMS) product being used. mysql Required
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.
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.

These values should be set on span.data.

NOTE: For the Mobile SDKs only db.name and db.system is required

### SDKs to update
- [ ] https://github.com/getsentry/sentry-python/issues/2270
- [ ] https://github.com/getsentry/sentry-javascript/issues/8771
- [ ] https://github.com/getsentry/sentry-laravel/issues/765
- [ ] https://github.com/getsentry/sentry-dotnet/issues/2536
- [ ] https://github.com/getsentry/sentry-ruby/issues/2088
- [ ] https://github.com/getsentry/sentry-java/issues/2893
- [ ] https://github.com/getsentry/sentry-dart/issues/1594
- [ ] https://github.com/getsentry/sentry-cocoa/issues/3212
- [x] Go SDK

RFC

No response

Slack-Channel

discuss-starfish

Notion Document(s)

No response

Stakeholder(s)

@alexjillard and @gggritso

Team(s)

Web Backend, Web Frontend, Starfish

marandaneto commented 11 months ago

db.name applies to Mobile SDKs as well, added the Mobile label.

AbhiPrasad commented 11 months ago

We've updated https://develop.sentry.dev/sdk/performance/span-data-conventions/#database to better reflect the new attributes we are setting here.

AbhiPrasad commented 9 months ago

Opened https://github.com/getsentry/sentry-java/issues/2930 as a follow up but does not block the starfish DB module so closing this issue.