Ciao Chiara Bianchi,
Dato che le tracce HTTP tra i servizi vengono visualizzate correttamente, il tracer Datadog è chiaramente attivo. Questo suggerisce che il problema sia probabilmente specifico del livello di instrumentation del client database, piuttosto che del distributed tracing in sé. La prima cosa che consiglio è verificare che il driver del database e la relativa versione siano ufficialmente supportati dal tracer Datadog per il runtime del linguaggio utilizzato dall'applicazione.
Un buon passo successivo consiste nel controllare i log di avvio del tracer e verificare che l'auto-instrumentation abbia rilevato e applicato correttamente il patch alla libreria del database durante l'avvio dell'applicazione. In molti casi, gli span SQL non vengono generati perché il pacchetto del database viene caricato prima dell'inizializzazione del tracer, oppure perché l'applicazione utilizza una versione del driver non supportata dall'auto-instrumentation del tracer. È inoltre opportuno verificare se qualche impostazione di configurazione del tracer disabiliti esplicitamente le integrazioni database o la raccolta degli span.
Se il driver non è supportato, potrebbe essere necessario implementare una custom instrumentation oppure effettuare l'upgrade a una versione del driver supportata. Consiglio inoltre di eseguire una semplice query di test in un ambiente non di produzione e verificare se la query genera autonomamente uno span database, indipendentemente dal resto del workflow dell'applicazione. Questo aiuta a determinare se il problema è legato al driver, alla logica applicativa o alla configurazione del tracer.
Come best practice, confrontate l'elenco delle librerie applicative caricate con le integrazioni supportate da Datadog e abilitate temporaneamente il debug logging per verificare che l'integrazione del database venga inizializzata correttamente. Questo è generalmente il modo più rapido per individuare perché gli span HTTP sono presenti mentre gli span SQL non vengono generati.
Spero che queste informazioni possano essere utili per individuare la causa del problema. Se ritenete utile questa risposta, fate clic su "Accept Answer" così saprò che ha risposto alla vostra esigenza.
Jason