Datadog è una piattaforma di observability cloud che combina monitoraggio dell'infrastruttura, APM, logging ed esperienza digitale in un'unica interfaccia. La piattaforma raccoglie metriche, trace e log da server, container e dispositivi mobili in tempo reale, consentendo ai team di trovare rapidamente la causa principale dei problemi. Secondo Datadog, 2025, la piattaforma elabora oltre 2,5 petabyte di dati ogni giorno da migliaia di clienti in tutto il mondo. Per gli sviluppatori mobile, Datadog offre SDK nativi per Android e iOS con raccolta automatica di metriche delle prestazioni.
Punti chiave
Datadog è una piattaforma cloud di monitoraggio e observability lanciata nel 2010 da Olivier Pomel e Alexis Lê-Quôc. La piattaforma fornisce un dashboard unificato per raccogliere metriche, log e trace da infrastruttura, applicazioni e dispositivi utente. A differenza delle soluzioni puntuali, Datadog combina APM, log, monitoraggio dell'infrastruttura, Synthetic Monitoring e RUM in un unico prodotto.
L'architettura di Datadog si basa su agenti — programmi leggeri installati sui server o integrati nelle applicazioni. L'agente raccoglie dati e li invia all'infrastruttura cloud Datadog tramite una connessione crittografata. Per le piattaforme mobili, Datadog fornisce SDK nativi che funzionano su Android (Kotlin, Java) e iOS (Swift, Objective-C).
Secondo il rapporto Gartner Magic Quadrant for APM and Observability (2024), Datadog è riconosciuta come leader nella categoria observability con il più ampio set di capacità integrate. La piattaforma è utilizzata da aziende come Samsung, Adidas e Peloton per monitorare milioni di dispositivi ogni giorno.
Per i team mobile, Datadog è particolarmente prezioso perché collega le performance del backend all'esperienza utente sul dispositivo. Se un'API inizia a rispondere più lentamente, Datadog mostra non solo il tempo di risposta del server ma anche come ha influenzato il tempo di avvio o il rendering dello schermo su un modello di telefono specifico.
Infrastructure Monitoring tiene traccia delle metriche di CPU, memoria, disco e rete per server, container e cluster Kubernetes. APM (Application Performance Monitoring) raccoglie trace per ogni richiesta che attraversa un sistema distribuito e mostra la latenza a ogni hop. Log Management centralizza tutti i log — da sistema ad applicazione — con ricerca full-text e possibilità di creare metriche dai log. Synthetic Monitoring simula scenari utente da diverse posizioni geografiche. Real User Monitoring (RUM) raccoglie dati da dispositivi utente reali, inclusi telefoni cellulari e tablet.
Datadog utilizza un modello pay-as-you-go con prezzi per prodotto: host infrastruttura, host APM, log (volume in gigabyte), sessioni RUM e test Synthetic. Ogni prodotto viene fatturato separatamente, consentendo di pagare solo per le funzionalità utilizzate. I prezzi partono da $15 per host al mese per il monitoraggio dell'infrastruttura e $1 per 10.000 sessioni RUM. Le startup possono candidarsi al programma Datadog for Startups con crediti fino a $100.000.
Application Performance Monitoring (APM) in Datadog è un sistema di distributed tracing che traccia ogni richiesta dall'ingresso fino al completamento di tutte le operazioni annidate. APM strumenta automaticamente framework e librerie popolari: Spring Boot, Django, Express.js, ASP.NET Core e altri. Per ogni richiesta, APM costruisce un flame graph — una rappresentazione visiva del tempo di esecuzione su tutti i percorsi del codice.
Un flame graph mostra quanto tempo ha impiegato ogni chiamata di funzione o richiesta a un servizio esterno. Se un metodo del database impiega 2 secondi invece dei 200 millisecondi previsti, è immediatamente visibile sul grafico. Datadog APM supporta OpenTelemetry — uno standard aperto per la raccolta di telemetria — consentendo di collegare strumentazioni da qualsiasi fornitore compatibile.
Secondo Benchling Engineering Blog (2024), la migrazione a Datadog APM ha ridotto il tempo di diagnosi degli incidenti del team da 45 minuti a 8 minuti grazie alla correlazione automatica dei trace con log e metriche. Lo scenario chiave è la correlazione trace-log: con un singolo ID di trace, è possibile trovare tutti i log relativi a una richiesta specifica senza ricerca manuale.
Service Map è un grafo costruito automaticamente di tutti i servizi del sistema e delle loro interconnessioni. Ogni servizio viene visualizzato come un nodo, e le connessioni tra nodi mostrano quali chiamate avvengono tra i servizi. Il colore del nodo riflette lo stato di salute: verde — funzionamento normale, giallo — latenza aumentata, rosso — errori. Service Map aiuta a identificare rapidamente quale servizio è il collo di bottiglia, anche senza conoscenza preliminare dell'architettura.
import datadog.trace.api.Trace;
import io.opentelemetry.api.trace.Span;
public class PaymentService {
@Trace(resourceName = "PaymentService.processPayment")
public PaymentResult processPayment(Order order) {
Span span = Tracer.buildSpan("validate.payment").start();
try {
PaymentGateway gateway = new PaymentGateway();
PaymentResult result = gateway.charge(order.getAmount());
span.setTag("payment.provider", "stripe");
return result;
} finally {
span.close();
}
}
}
Real User Monitoring (RUM) in Datadog raccoglie dati da dispositivi utente reali — tempi di caricamento delle schermate, reattività tattile, consumo di memoria, frequenza ANR (Application Not Responding) e tassi di crash. L'SDK RUM per Android e iOS si integra nell'applicazione e crea automaticamente sessioni, raggruppando tutti gli eventi all'interno di una singola interazione utente.
Ogni sessione RUM contiene una sequenza di eventi: apertura schermata, tocco pulsante, richiesta di rete, scorrimento. Per ogni evento, Datadog registra un timestamp, la durata e le caratteristiche tecniche del dispositivo: modello, OS, versione dell'app, tipo di connessione. Ciò consente di filtrare le metriche per versioni e dispositivi specifici. Ad esempio, è possibile vedere che il tempo di avvio è aumentato su Android 14 con un modello Samsung specifico.
RUM è strettamente integrato con APM: se una sessione utente termina con un errore sulla schermata di pagamento, Datadog mostra automaticamente il trace backend corrispondente. Ciò accelera la diagnosi di 5-7 volte rispetto all'abbinamento manuale dei log frontend e backend. Per i team mobile, RUM fornisce anche report watchlist — un riepilogo settimanale del degrado delle metriche chiave.
Datadog RUM raccoglie automaticamente report di crash con stacktrace completi, inclusi i numeri di riga del codice sorgente. Per Android, funziona tramite integrazione con ACRA o Firebase Crashlytics; per iOS — tramite PLCrashReporter. Ogni crash è collegato a una sessione utente, consentendo di riprodurre la sequenza di azioni che hanno portato al crash. RUM tiene traccia anche di ANR — uno degli eventi più critici per le applicazioni Android. Se l'app non risponde per più di 5 secondi, Datadog registra l'ANR e mostra il dump completo dei thread al momento del blocco dell'UI.
Log Management in Datadog centralizza tutti i log dell'applicazione e dell'infrastruttura in un unico repository con ricerca full-text. I log mobili (eventi analitici, errori API, telemetria) vengono inviati dal dispositivo tramite SDK e uniti ai log del server utilizzando un identificatore comune. Datadog analizza automaticamente i log in campi strutturati: livello (INFO, WARN, ERROR), servizio, host, timestamp, messaggio.
Per il filtraggio dei log, Datadog utilizza un proprio linguaggio di query con supporto per wildcard, espressioni regolari e facet. I log possono essere raggruppati per pattern — Datadog rileva automaticamente i pattern ricorrenti e li mostra come un singolo cluster. Ciò è particolarmente utile quando si analizzano migliaia di log da dispositivi mobili: errori identici vengono raggruppati e lo sviluppatore vede non 10.000 righe ma 10 cluster con frequenza di occorrenza.
Le metriche sono serie temporali numeriche raccolte a intervalli a partire da 1 secondo. Datadog supporta tre tipi di metriche: gauge (valore corrente), count (somma nell'intervallo) e rate (tasso di variazione). Per le applicazioni mobili, metriche personalizzate possono tracciare il numero di aperture della schermata, il tempo di esecuzione di uno scenario aziendale chiave o la frequenza di utilizzo di una funzionalità specifica. Le metriche personalizzate vengono inviate tramite DogStatsD — un protocollo compatibile con StatsD con estensioni Datadog.
import com.datadog.android.Datadog
import com.datadog.android.log.Logger
class PaymentAnalytics {
private val logger = Logger.Builder()
.setDatadogLogsEnabled(true)
.setNetworkInfoEnabled(true)
.setBundleWithTraceEnabled(true)
.build()
fun trackCheckout(orderId: String, amount: Double) {
logger.info(
"Checkout initiated for order {orderId}",
mapOf(
"order.id" to orderId,
"order.amount" to amount,
"payment.method" to "credit_card"
)
)
}
}
L'SDK Datadog per Android e iOS fornisce un set unificato di moduli: Core (inizializzazione), RUM (monitoraggio dell'esperienza utente), Logs (invio log), Trace (tracciamento richieste). Per Android, l'SDK viene aggiunto tramite Gradle; per iOS — tramite CocoaPods o Swift Package Manager. Dopo l'installazione, l'SDK viene inizializzato in Application.onCreate (Android) o AppDelegate (iOS) passando un client token, l'ambiente e il nome dell'applicazione.
Per il tracciamento automatico delle richieste di rete su Android, viene utilizzato OkHttp Interceptor; su iOS — NSURLProtocol o delegato URLSession. Datadog supporta anche l'integrazione con client HTTP popolari: Retrofit, Apollo GraphQL, Ktor, Alamofire. Dopo aver collegato l'Interceptor, ogni richiesta HTTP viene automaticamente collegata a una sessione RUM e a un trace APM, formando una catena unica dal client al server.
dependencies {
// SDK principale e modulo RUM
implementation "com.datadoghq:dd-sdk-android-core:2.15.0"
implementation "com.datadoghq:dd-sdk-android-rum:2.15.0"
// Integrazione OkHttp per tracciamento automatico
implementation "com.datadoghq:dd-sdk-android-okhttp:2.15.0"
// Segnalazione crash NDK
implementation "com.datadoghq:dd-sdk-android-ndk:2.15.0"
}
import DatadogCore
import DatadogRUM
import DatadogLogs
@main class AppDelegate: UIResponder, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
Datadog.initialize(
with: DatadogConfiguration.builder(
clientToken: "your_client_token",
environment: "production"
).build()
)
RUM.enable(
with: RUMConfiguration(applicationID: "your_rum_app_id")
)
return true
}
}
Datadog fornisce un editor grafico di dashboard dove è possibile combinare grafici di metriche, tabelle di log, treemap di distribuzione degli errori e widget SLO. Le dashboard supportano variabili di template — ad esempio, è possibile creare una dashboard per tutti i servizi e cambiare contesto utilizzando un menu a tendina con il nome del servizio. Ogni dashboard può essere pubblicata in modalità di sola lettura per le parti interessate esterne tramite un link pubblico.
Il sistema di Monitor (avvisi) consente di impostare condizioni di soglia per qualsiasi metrica: se la latenza supera 500 ms per più di 5 minuti — inviare una notifica a Slack, PagerDuty o via email. Datadog supporta condizioni composte: “Se gli errori 5xx > 1% e il numero di richieste > 1000/min, aumentare la priorità a critica.” Per i team mobile, il monitor di rilevamento delle regressioni è particolarmente utile — Datadog confronta automaticamente la metrica corrente con una baseline storica e avvisa in caso di degrado statisticamente significativo.
Secondo Gartner Peer Insights (2024), il tempo medio di risoluzione (MTTR) per i team che utilizzano monitor Datadog con correlazione automatica diminuisce del 35% nel primo mese dopo l'adozione. Ciò è ottenuto perché ogni avviso contiene non solo la condizione di attivazione ma anche collegamenti a dashboard, log e trace correlati — gli sviluppatori non devono passare da uno strumento all'altro.
Domande frequenti
Datadog si distingue per una piattaforma unificata che combina metriche, log, trace e RUM in un'unica interfaccia. A differenza di Grafana + Prometheus (solo metriche) o ELK (solo log), Datadog fornisce correlazione integrata tra tutti i tipi di dati senza dover configurare manualmente le integrazioni.
I prezzi partono da $1 per 10.000 sessioni RUM al mese. Per progetti piccoli con 50.000 sessioni al mese, i costi sarebbero di circa $5. APM e log vengono fatturati separatamente. Le startup possono candidarsi al programma Datadog for Startups con crediti fino a $100.000 per il primo anno.
L'SDK Datadog supporta Android (API 21+, Kotlin e Java), iOS (iOS 13+, Swift e Objective-C) e React Native. Integrazioni della comunità sono disponibili per Flutter e Xamarin. L'SDK viene distribuito tramite Maven Central, CocoaPods e Swift Package Manager.
Datadog fornisce Data Scrubbing — rimozione automatica dei PII da log e dati RUM. È possibile configurare regole di mascheratura: sostituire email, numeri di telefono e carte di credito con hash o asterischi. I dati vengono crittografati in transito (TLS 1.3) e a riposo (AES-256).
Sì, è possibile utilizzare solo il modulo Logs senza APM e RUM. In questo caso, si paga solo per il volume dei log. Datadog fattura ogni prodotto separatamente, consentendo di iniziare con un modulo e aggiungerne altri secondo necessità senza reintegrazione.
Riepilogo
Svilupperemo un'applicazione mobile chiavi in mano
IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.
Leggi anche