DBIPROF
Section: User Contributed Perl Documentation (1)
Updated: 2021-01-27
Page Index
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.