Subject | fbtracemgr and fb_trace files in /tmp/firebird |
---|---|
Author | Vladimir Zbodulja |
Post date | 2019-06-07T09:53:53Z |
Hi guys,
I've noticed that, when I start 'fbtracemgr' session, server starts to create files (fb_trace.{<UUID>.<n>) in /tmp/firebird (on Linux) and the number of this files keeps growing and this files are not deleted after trace session is terminated.
For example, I've started trace session with (same happens if I redirect output to some file):
/opt/firebird/bin/fbtracemgr -u sysdba -p masterkey -SE service_mgr -START -NAME fbt-trace -CONFIG $CFG >/dev/null
$CFG points to file with this content:
After each minute there are around 150 new files (I'm tracing SQL on an active database that has around 40 running sessions) and this keeps growing until I terminate fbtracemg (with Ctrl-C) (i.e. after 10-15 minutes session there are cca. 2000 files):database{enabled = truelog_connections = falselog_transactions = falselog_statement_finish = truelog_errors = trueprint_plan = trueexplain_plan = falseprint_perf = truetime_threshold = 0max_sql_length = 8192max_log_size = 100}services{}Documentation (https://firebirdsql.org/rlsnotesh/rnfb25-trace.html) states that:...-rw-rw---- 1 firebird firebird 1048576 Jun 7 11:38 fb_trace.{59EE03A6-A2A6-40D4-BAB2-E4EE1D238DE1}.0002901-rw-rw---- 1 firebird firebird 1048576 Jun 7 11:38 fb_trace.{59EE03A6-A2A6-40D4-BAB2-E4EE1D238DE1}.0002902-rw-rw---- 1 firebird firebird 1048576 Jun 7 11:38 fb_trace.{59EE03A6-A2A6-40D4-BAB2-E4EE1D238DE1}.0002903-rw-rw---- 1 firebird firebird 1048576 Jun 7 11:38 fb_trace.{59EE03A6-A2A6-40D4-BAB2-E4EE1D238DE1}.0002904-rw-rw---- 1 firebird firebird 1048576 Jun 7 11:38 fb_trace.{59EE03A6-A2A6-40D4-BAB2-E4EE1D238DE1}.0002905-rw-rw---- 1 firebird firebird 1048576 Jun 7 11:38 fb_trace.{59EE03A6-A2A6-40D4-BAB2-E4EE1D238DE1}.0002908-rw-rw---- 1 firebird firebird 1048576 Jun 7 11:38 fb_trace.{59EE03A6-A2A6-40D4-BAB2-E4EE1D238DE1}.0002909-rw-rw---- 1 firebird firebird 1048576 Jun 7 11:38 fb_trace.{59EE03A6-A2A6-40D4-BAB2-E4EE1D238DE1}.0002910-rw-rw---- 1 firebird firebird 1048576 Jun 7 11:38 fb_trace.{59EE03A6-A2A6-40D4-BAB2-E4EE1D238DE1}.0002911-rw-rw---- 1 firebird firebird 1048576 Jun 7 11:38 fb_trace.{59EE03A6-A2A6-40D4-BAB2-E4EE1D238DE1}.0002912-rw-rw---- 1 firebird firebird 1048576 Jun 7 11:38 fb_trace.{59EE03A6-A2A6-40D4-BAB2-E4EE1D238DE1}.0002913...The output of a user session is stored in set of temporary files, each of 1 MB. Once a file has been completely read by the application, it is automatically deleted. By default, the maximum total size of the output is limited to 10 MB. It can be changed to a smaller or larger value using the MaxUserTraceLogSize in
firebird.conf
.Once the user trace session service has been started by the application, the application has to read its output, using calls to isc_service_query(). The service could be generating output faster than the application can read it. If the total size of the output reaches the MaxUserTraceLogSize limit, the engine automatically suspends the trace session. Once the application has finished reading a file (a 1 MB part of the output) that file is deleted, capacity is returned and the engine resumes the trace session automatically.Doesn't that mean that files should be kept on the filesystem only until fbtracemsg was able to read them and then automatically deleted (so that total size of them is constant if fbtracemsg manages to read them quickly enough)?I'm running: LI-V3.0.5.33125 Firebird 3.0(MaxUserTraceLogSize is commented out in firebird.conf)BR ,Vladimir.