| Use Case | Command | Description |
|---|---|---|
| Top 10 queries by total runtime | dbiprof prof1.out | Reads profile dump file prof1.out and shows the 10 slowest queries |
| Top 10 most frequent queries | dbiprof --sort count | Sorts by number of runs (default profile file dbi.prof) |
| Top 15 most frequent queries | dbiprof --sort count --number 15 | Increases report size to 15 entries |
| Sort by longest single run | dbiprof --sort longest | Orders by the longest execution time |
| Reverse sort | dbiprof --sort total --reverse | Shows shortest overall time first |
| Filter by method name | dbiprof --match key2=execute | Only includes execute queries (Path element 2 = method) |
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
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.
This program accepts the following options:
all then all results are shown.key2 and key3.Reverses the selected sort. For example, to see a report of the shortest overall time:
dbiprof --sort total --reverse
[ 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.
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.
Using this option causes --match and --exclude to work case-sensitively. Defaults to off.
Sets the DeleteFiles option to DBI::ProfileData which causes the files to be deleted after reading. See DBI::ProfileData for more details.
Print the list of nodes in the form of a perl data structure. Use the -sort option if you want the list sorted.
Print the dbiprof version number and exit.
Sam Tregar <sam AT tregar.com>
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.
DBI::ProfileDumper, DBI::Profile, DBI.
perl v5.34.0 2026-06-22 DBIPROF(1p)
Generated by phpman v4.9.26-1-g511901d · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-07-27 08:13 @216.73.216.194
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Enhanced by LLM: deepseek-v4-flash / taotoken.net / www.chedong.com - original format