2012-11-02 15 views
5

Dopo aver spostato la piattaforma da mySQL a firebird, trovo difficile trovare un modo accettabile per catturare i comandi SQL passati da un'applicazione Java .jar al server di database (Firebird). Ho bisogno di analizzare i comandi e il "costo" delle query passate in termini di tempo di esecuzione e così via.Monitoraggio di chiamate SQL a Firebird in Ubuntu (app Java)

Con MySQL era possibile utilizzare lo maatkit toolkit ma sfortunatamente questo non sembra funzionare con Firebird.

Qualcuno ha un approccio appropriato e comparabile a maatkit per Firebird? O usando strace o simili?

risposta

3

È possibile utilizzare la funzione di traccia Firebird e la relativa API per produrre queste informazioni. Per i dettagli, vedere Trace and Audit Services nei rilasci di Firebird 2.5 e Audit and Trace Services in Firebird 2.5.

È possibile configurare una sessione di traccia lato server che viene scritta su un file di registro o utilizzare l'API dei servizi per eseguire una sessione di traccia utente (in base ai propri diritti verranno visualizzate solo le proprie query o qualsiasi altra cosa).

L'installazione firebird include uno strumento da riga di comando per accedere all'API di traccia utente (fbtracemgr.exe). Jaybird 2.2 contiene un accesso rudimentale all'API della traccia utente, ma a dire il vero non è ancora facile da usare (e un po 'fragile). Ci sono diverse (commerciali) strumenti di terze parti che accedono alla API Trace in un modo più user-friendly:

+1

Molte grazie, questo suona esattamente quello che mi serviva. È ora di passare da Firebird 2.1 ... – Paul

Problemi correlati