NAME¶
dbiprof - command-line client for DBI::ProfileData
SYNOPSIS¶
See a report of the ten queries with the longest total runtime in the profile
dump file
prof1.out:
dbiprof prof1.out
See the top 10 most frequently run queries in the profile file
dbi.prof
(the default):
dbiprof --sort count
See the same report with 15 entries:
dbiprof --sort count --number 15
DESCRIPTION¶
This tool is a command-line client for the DBI::ProfileData. It allows you to
analyze the profile data file produced by DBI::ProfileDumper and produce
various useful reports.
OPTIONS¶
This program accepts the following options:
- --number N
- Produce this many items in the report. Defaults to 10. If
set to "all" then all results are shown.
- --sort field
- Sort results by the given field. Sorting by multiple fields
isn't currently supported (patches welcome). The available sort fields
are:
- total
- Sorts by total time run time across all runs. This is the
default sort.
- longest
- Sorts by the longest single run.
- count
- Sorts by total number of runs.
- first
- Sorts by the time taken in the first run.
- shortest
- Sorts by the shortest single run.
- key1
- Sorts by the value of the first element in the Path, which
should be numeric. You can also sort by "key2" and
"key3".
- --reverse
- Reverses the selected sort. For example, to see a report of
the shortest overall time:
dbiprof --sort total --reverse
- --match keyN=value
- Consider only items where the specified key matches the
given value. Keys are numbered from 1. For example, let's say you used a
DBI::Profile Path of:
[ DBIprofile_Statement, DBIprofile_Methodname ]
And called dbiprof as in:
dbiprof --match key2=execute
Your report would only show execute queries, leaving out prepares, fetches,
etc.
If the value given starts and ends with slashes ("/") then it will
be treated as a regular expression. For example, to only include SELECT
queries where key1 is the statement:
dbiprof --match key1=/^SELECT/
By default the match expression is matched case-insensitively, but this can
be changed with the --case-sensitive option.
- --exclude keyN=value
- Remove items for where the specified key matches the given
value. For example, to exclude all prepare entries where key2 is the
method name:
dbiprof --exclude key2=prepare
Like "--match", If the value given starts and ends with slashes
("/") then it will be treated as a regular expression. For
example, to exclude UPDATE queries where key1 is the statement:
dbiprof --match key1=/^UPDATE/
By default the exclude expression is matched case-insensitively, but this
can be changed with the --case-sensitive option.
- --case-sensitive
- Using this option causes --match and --exclude to work
case-sensitively. Defaults to off.
- --delete
- Sets the "DeleteFiles" option to DBI::ProfileData
which causes the files to be deleted after reading. See DBI::ProfileData
for more details.
- --dumpnodes
- Print the list of nodes in the form of a perl data
structure. Use the "-sort" option if you want the list
sorted.
- --version
- Print the dbiprof version number and exit.
AUTHOR¶
Sam Tregar <sam@tregar.com>
COPYRIGHT AND LICENSE¶
Copyright (C) 2002 Sam Tregar
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl 5 itself.
SEE ALSO¶
DBI::ProfileDumper, DBI::Profile, DBI.