dbilogstrip − filter to normalize DBI trace logs for diff’ing


Read DBI trace file "dbitrace.log" and write out a stripped version to "dbitrace_stripped.log"

dbilogstrip dbitrace.log > dbitrace_stripped.log

Run "yourscript.pl" twice, each with different sets of arguments, with DBI_TRACE enabled. Filter the output and trace through "dbilogstrip" into a separate file for each run. Then compare using diff. (This example assumes you’re using a standard shell.)

  DBI_TRACE=2 perl yourscript.pl ...args1... 2>&1 | dbilogstrip > dbitrace1.log
  DBI_TRACE=2 perl yourscript.pl ...args2... 2>&1 | dbilogstrip > dbitrace2.log
  diff −u dbitrace1.log dbitrace2.log


Replaces any hex addresses, e.g, 0x128f72ce with "0xN".

Replaces any references to process id or thread id, like "pid#6254" with "pidN".

So a DBI trace line like this:

   −> STORE for DBD::DBM::st (DBI::st=HASH(0x19162a0)~0x191f9c8 'f_params' ARRAY(0x1922018)) thr#1800400

will look like this:

   −> STORE for DBD::DBM::st (DBI::st=HASH(0xN)~0xN 'f_params' ARRAY(0xN)) thrN

More Linux Commands

HUGE_VAL(3) - floating-point constants - Linux manual page
The macro INFINITY expands to a float constant representing positive infinity. The macro NAN expands to a float constant representing a quiet NaN (when supporte

gnutls_pkcs12_init(3) - API function - Linux manual page....
This function will initialize a PKCS12 structure. PKCS12 structures usually contain lists of X.509 Certificates and X.509 Certificate revocation lists. RETURNS

pthread_setschedparam(3) - set/get scheduling policy and par
The pthread_setschedparam() function sets the scheduling policy and parameters of the thread thread. policy specifies the new scheduling policy for thread. The

sash(1) - stand-alone shell with built-in commands (ManPage)
The sash program is a stand-alone shell which is useful for recovering from certain types of system failures. In particular, it was created in order to cope wit

isgreaterequal(3) - floating-point relational tests without
The normal relation operations (like <, less than) will fail if one of the operands is NaN. This will cause an exception. To avoid this, C99 defines the macros

gnutls_pubkey_import_pkcs11_url(3) - API function (ManPage)
This function will import a PKCS 11 certificate to a gnutls_pubkey_t structure. RETURNS On success, GNUTLS_E_SUCCESS (0) is returned, otherwise a negative error

lzmainfo(1) - show information stored in the .lzma file head
lzmainfo shows information stored in the .lzma file header. It reads the first 13 bytes from the specified file, decodes the header, and prints it to standard o

Math::BigRat(3pm) - Arbitrary big rational numbers (ManPage)
Math::BigRat complements Math::BigInt and Math::BigFloat by providing support for arbitrary big rational numbers. MATH LIBRARY You can change the underlying mod

xfs(1) - X font server (Commands - Linux manual page).......
xfs is the X Window System font server. It supplies fonts to X Window System display servers. The server is usually run by a system administrator, and started v

glGetTexParameterfv(3gl) - return texture parameter values
glGetTexParameter returns in params the value or values of the texture parameter specified as pname. target defines the target texture, either GL_TEXTURE_1D, GL

assert_perror(3) - test errnum and abort - Linux man page...
If the macro NDEBUG was defined at the moment <assert.h> was last included, the macro assert_perror() generates no code, and hence does nothing at all. Otherwis

gnutls_openpgp_crt_get_preferred_key_id(3) - API function...
Get preferred key id. If it hasnt been set it returns GNUTLS_E_INVALID_REQUEST. RETURNS the 64-bit preferred keyID of the OpenPGP key. REPORTING BUGS Report bug

We can't live, work or learn in freedom unless the software we use is free.