     case dbUser = "db.user"
     /// JDBC substring like "mysql://db.example.com:3306"
     case dbURL = "db.url"
+    /// The connection string used to connect to the database. It is recommended to remove embedded credentials.
+    case dbConnectionString = "db.connection_string"
+    /// If no tech-specific attribute is defined, 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).
+    case dbName = "db.name"
+    /// The database statement being executed.
+    case dbStatement = "db.statement"
+    /// The name of the operation being executed, e.g. the MongoDB command name such as findAndModify, or the SQL keyword
+    case dbOperation = "db.operation"
 
     // MARK: FaaS attributes
 

    /// Access Token or an attribute value in a SAML 2.0 Assertion.
    case enduserScope = "enduser.scope"

    // MARK: HTTP attributes

    /// HTTP request method. E.g. "GET".

    case netPeerPort = "net.peer.port"
    /// Remote hostname or similar.
    case netPeerName = "net.peer.name"
    /// Like `net.peer.ip` but for the host IP. Useful in case of a multi-IP host.
    case netHostIP = "net.host.ip"
    /// Like `net.peer.port` but for the host port.
    case netHostPort = "net.host.port"
    /// Local hostname or similar.
    case netHostName = "net.host.name"

    // MARK: General remote service attributes
    
    /// The `service.name` of the remote service. **SHOULD** be equal to the actual `service.name` resource attribute of the remote service if any.
    case peerService = "peer.service"
    
    // MARK: General identity attributes

    /// Username or client_id extracted from the access token or Authorization header in the inbound request from outside the system.
