Linux sagir-us1.hostever.us 5.14.0-570.51.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 8 09:41:34 EDT 2025 x86_64
LiteSpeed
Server IP : 104.247.108.91 & Your IP : 216.73.216.222
Domains : 74 Domain
User : georgeto
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
local /
emps /
bin /
Delete
Unzip
Name
Size
Permission
Date
Action
annotate
13.09
KB
-rwxr-xr-x
2026-05-14 17:34
autoconf
14.32
KB
-rwxr-xr-x
2026-05-14 17:32
autoheader
8.43
KB
-rwxr-xr-x
2026-05-14 17:32
autom4te
31.48
KB
-rwxr-xr-x
2026-05-14 17:32
autopoint
23.93
KB
-rwxr-xr-x
2026-05-14 17:36
autoreconf
20.68
KB
-rwxr-xr-x
2026-05-14 17:32
autoscan
16.82
KB
-rwxr-xr-x
2026-05-14 17:32
autoupdate
33.17
KB
-rwxr-xr-x
2026-05-14 17:32
bdftogd
3.9
KB
-rwxr-xr-x
2026-05-14 17:34
bsqldb
41.8
KB
-rwxr-xr-x
2026-05-14 17:35
bunzip2
281.48
KB
-rwxr-xr-x
2026-05-14 17:33
bzcat
281.48
KB
-rwxr-xr-x
2026-05-14 17:33
bzcmp
2.08
KB
-rwxr-xr-x
2026-05-14 17:33
bzdiff
2.08
KB
-rwxr-xr-x
2026-05-14 17:33
bzegrep
1.64
KB
-rwxr-xr-x
2026-05-14 17:33
bzfgrep
1.64
KB
-rwxr-xr-x
2026-05-14 17:33
bzgrep
1.64
KB
-rwxr-xr-x
2026-05-14 17:33
bzip2
281.48
KB
-rwxr-xr-x
2026-05-14 17:33
bzip2recover
32.64
KB
-rwxr-xr-x
2026-05-14 17:33
bzless
1.23
KB
-rwxr-xr-x
2026-05-14 17:33
bzmore
1.23
KB
-rwxr-xr-x
2026-05-14 17:33
c_rehash
6.73
KB
-rwxr-xr-x
2026-05-14 17:16
captoinfo
63.13
KB
-rwxr-xr-x
2026-05-14 17:22
cjpeg
44.55
KB
-rwxr-xr-x
2026-05-14 17:34
clear
8.44
KB
-rwxr-xr-x
2026-05-14 17:22
clusterdb
81.73
KB
-rwxr-xr-x
2026-05-14 17:32
createdb
85.87
KB
-rwxr-xr-x
2026-05-14 17:32
createuser
82.13
KB
-rwxr-xr-x
2026-05-14 17:32
curl
242.66
KB
-rwxr-xr-x
2026-05-14 17:33
curl-config
5.67
KB
-rwxr-xr-x
2026-05-14 17:33
datacopy
27.1
KB
-rwxr-xr-x
2026-05-14 17:35
defncopy
28.15
KB
-rwxr-xr-x
2026-05-14 17:35
derb
30.97
KB
-rwxr-xr-x
2026-05-14 17:39
djpeg
35.84
KB
-rwxr-xr-x
2026-05-14 17:34
dropdb
77.02
KB
-rwxr-xr-x
2026-05-14 17:32
dropuser
76.96
KB
-rwxr-xr-x
2026-05-14 17:32
ecpg
981.44
KB
-rwxr-xr-x
2026-05-14 17:32
envsubst
43.15
KB
-rwxr-xr-x
2026-05-14 17:36
fisql
39.02
KB
-rwxr-xr-x
2026-05-14 17:35
fpmctl
1.73
KB
-rwxr-xr-x
2026-05-14 17:44
freebcp
27.42
KB
-rwxr-xr-x
2026-05-14 17:35
freetype-config
3.63
KB
-rwxr-xr-x
2026-05-14 17:34
gd2copypal
8.59
KB
-rwxr-xr-x
2026-05-14 17:34
gd2togif
8.54
KB
-rwxr-xr-x
2026-05-14 17:34
gd2topng
12.64
KB
-rwxr-xr-x
2026-05-14 17:34
gdcmpgif
12.63
KB
-rwxr-xr-x
2026-05-14 17:34
gdparttopng
8.64
KB
-rwxr-xr-x
2026-05-14 17:34
gdtopng
8.54
KB
-rwxr-xr-x
2026-05-14 17:34
genbrk
18.54
KB
-rwxr-xr-x
2026-05-14 17:39
gencfu
13.96
KB
-rwxr-xr-x
2026-05-14 17:39
gencnval
27.45
KB
-rwxr-xr-x
2026-05-14 17:39
gendict
29.29
KB
-rwxr-xr-x
2026-05-14 17:39
genrb
140.42
KB
-rwxr-xr-x
2026-05-14 17:39
gettext
42.57
KB
-rwxr-xr-x
2026-05-14 17:36
gettext.sh
4.51
KB
-rwxr-xr-x
2026-05-14 17:36
gettextize
41.16
KB
-rwxr-xr-x
2026-05-14 17:36
giftogd2
8.59
KB
-rwxr-xr-x
2026-05-14 17:34
iconv
109.52
KB
-rwxr-xr-x
2026-05-14 17:27
icu-config
21.54
KB
-rwxr-xr-x
2026-05-14 17:39
icuinfo
13.46
KB
-rwxr-xr-x
2026-05-14 17:39
ifnames
4.09
KB
-rwxr-xr-x
2026-05-14 17:32
infocmp
58.49
KB
-rwxr-xr-x
2026-05-14 17:22
infotocap
63.13
KB
-rwxr-xr-x
2026-05-14 17:22
initdb
144.46
KB
-rwxr-xr-x
2026-05-14 17:32
innochecksum
27.82
KB
-rwxr-xr-x
2026-05-14 17:26
jpegtran
52.73
KB
-rwxr-xr-x
2026-05-14 17:34
ldapadd
63.13
KB
-rwxr-xr-x
2026-05-14 17:29
ldapcompare
51.02
KB
-rwxr-xr-x
2026-05-14 17:29
ldapdelete
55.12
KB
-rwxr-xr-x
2026-05-14 17:29
ldapexop
51.09
KB
-rwxr-xr-x
2026-05-14 17:29
ldapmodify
63.13
KB
-rwxr-xr-x
2026-05-14 17:29
ldapmodrdn
51.02
KB
-rwxr-xr-x
2026-05-14 17:29
ldappasswd
51.04
KB
-rwxr-xr-x
2026-05-14 17:29
ldapsearch
75.3
KB
-rwxr-xr-x
2026-05-14 17:29
ldapurl
18.38
KB
-rwxr-xr-x
2026-05-14 17:29
ldapwhoami
51.04
KB
-rwxr-xr-x
2026-05-14 17:29
libmcrypt-config
1.43
KB
-rwxr-xr-x
2026-05-14 17:33
libpng-config
2.28
KB
-rwxr-xr-x
2026-05-14 17:34
libpng16-config
2.28
KB
-rwxr-xr-x
2026-05-14 17:34
libtool
311.68
KB
-rwxr-xr-x
2026-05-14 17:32
libtoolize
76.78
KB
-rwxr-xr-x
2026-05-14 17:32
makeconv
55.24
KB
-rwxr-xr-x
2026-05-14 17:39
mcrypt
110.92
KB
-rwxr-xr-x
2026-05-14 17:34
mdecrypt
110.92
KB
-rwxr-xr-x
2026-05-14 17:34
msgattrib
26.77
KB
-rwxr-xr-x
2026-05-14 17:36
msgcat
22.85
KB
-rwxr-xr-x
2026-05-14 17:36
msgcmp
28.12
KB
-rwxr-xr-x
2026-05-14 17:36
msgcomm
22.85
KB
-rwxr-xr-x
2026-05-14 17:36
msgconv
22.53
KB
-rwxr-xr-x
2026-05-14 17:36
msgen
22.52
KB
-rwxr-xr-x
2026-05-14 17:36
msgexec
18.8
KB
-rwxr-xr-x
2026-05-14 17:36
msgfilter
27.79
KB
-rwxr-xr-x
2026-05-14 17:36
msgfmt
91.11
KB
-rwxr-xr-x
2026-05-14 17:36
msggrep
45.83
KB
-rwxr-xr-x
2026-05-14 17:36
msginit
53.94
KB
-rwxr-xr-x
2026-05-14 17:36
msgmerge
69.17
KB
-rwxr-xr-x
2026-05-14 17:36
msgunfmt
37.17
KB
-rwxr-xr-x
2026-05-14 17:36
msguniq
22.73
KB
-rwxr-xr-x
2026-05-14 17:36
msql2mysql
1.42
KB
-rwxr-xr-x
2026-05-14 17:22
my_print_defaults
3.74
MB
-rwxr-xr-x
2026-05-14 17:26
myisam_ftdump
5.58
MB
-rwxr-xr-x
2026-05-14 17:23
myisamchk
6
MB
-rwxr-xr-x
2026-05-14 17:23
myisamlog
5.55
MB
-rwxr-xr-x
2026-05-14 17:23
myisampack
5.66
MB
-rwxr-xr-x
2026-05-14 17:23
mysql
7.9
MB
-rwxr-xr-x
2026-05-14 17:26
mysql_client_test
8
MB
-rwxr-xr-x
2026-05-14 17:26
mysql_config
6.66
KB
-rwxr-xr-x
2026-05-14 17:22
mysql_convert_table_format
4.11
KB
-rwxr-xr-x
2026-05-14 17:22
mysql_find_rows
3.21
KB
-rwxr-xr-x
2026-05-14 17:22
mysql_fix_extensions
1.22
KB
-rwxr-xr-x
2026-05-14 17:22
mysql_install_db
14.42
KB
-rwxr-xr-x
2026-05-14 17:22
mysql_plugin
3.78
MB
-rwxr-xr-x
2026-05-14 17:26
mysql_secure_installation
8.53
KB
-rwxr-xr-x
2026-05-14 17:22
mysql_setpermission
17.05
KB
-rwxr-xr-x
2026-05-14 17:22
mysql_tzinfo_to_sql
3.58
MB
-rwxr-xr-x
2026-05-14 17:26
mysql_upgrade
6.96
MB
-rwxr-xr-x
2026-05-14 17:26
mysql_waitpid
3.74
MB
-rwxr-xr-x
2026-05-14 17:26
mysql_zap
3.77
KB
-rwxr-xr-x
2026-05-14 17:22
mysqlaccess
109.38
KB
-rwxr-xr-x
2026-05-14 17:22
mysqlaccess.conf
1.66
KB
-rwxr-xr-x
2018-08-28 21:12
mysqladmin
6.9
MB
-rwxr-xr-x
2026-05-14 17:26
mysqlbinlog
7.54
MB
-rwxr-xr-x
2026-05-14 17:26
mysqlbug
10.43
KB
-rwxr-xr-x
2026-05-14 17:22
mysqlcheck
6.88
MB
-rwxr-xr-x
2026-05-14 17:26
mysqlctl
11.16
KB
-rwxr-xr-x
2026-05-14 17:36
mysqld
55.04
MB
-rwxr-xr-x
2026-05-14 17:26
mysqld_multi
23.55
KB
-rwxr-xr-x
2026-05-14 17:22
mysqld_safe
26.66
KB
-rwxr-xr-x
2026-05-14 17:22
mysqldump
7.1
MB
-rwxr-xr-x
2026-05-14 17:26
mysqldumpslow
7.19
KB
-rwxr-xr-x
2026-05-14 17:22
mysqlhotcopy
34.04
KB
-rwxr-xr-x
2026-05-14 17:22
mysqlimport
6.89
MB
-rwxr-xr-x
2026-05-14 17:26
mysqlshow
6.88
MB
-rwxr-xr-x
2026-05-14 17:26
mysqlslap
6.93
MB
-rwxr-xr-x
2026-05-14 17:26
mysqltest
7.52
MB
-rwxr-xr-x
2026-05-14 17:26
ncurses5-config
5.2
KB
-rwxr-xr-x
2026-05-14 17:22
ngettext
42.59
KB
-rwxr-xr-x
2026-05-14 17:36
nginxctl
2.23
KB
-rwxr-xr-x
2026-05-14 17:32
onig-config
1.35
KB
-rwxr-xr-x
2026-05-14 17:37
openssl
982.48
KB
-rwxr-xr-x
2026-05-14 17:18
osql
9.15
KB
-rwxr-xr-x
2026-05-14 17:35
pcre-config
2.31
KB
-rwxr-xr-x
2026-05-14 17:18
pcregrep
39.82
KB
-rwxr-xr-x
2026-05-14 17:18
pcretest
61.12
KB
-rwxr-xr-x
2026-05-14 17:18
perror
3.83
MB
-rwxr-xr-x
2026-05-14 17:26
pg_amcheck
108.26
KB
-rwxr-xr-x
2026-05-14 17:32
pg_archivecleanup
47.46
KB
-rwxr-xr-x
2026-05-14 17:32
pg_basebackup
137.1
KB
-rwxr-xr-x
2026-05-14 17:32
pg_checksums
65.62
KB
-rwxr-xr-x
2026-05-14 17:32
pg_config
45.98
KB
-rwxr-xr-x
2026-05-14 17:32
pg_controldata
60.11
KB
-rwxr-xr-x
2026-05-14 17:32
pg_ctl
75.36
KB
-rwxr-xr-x
2026-05-14 17:32
pg_dump
422.85
KB
-rwxr-xr-x
2026-05-14 17:32
pg_dumpall
116.84
KB
-rwxr-xr-x
2026-05-14 17:32
pg_isready
76.62
KB
-rwxr-xr-x
2026-05-14 17:32
pg_receivewal
96.14
KB
-rwxr-xr-x
2026-05-14 17:32
pg_recvlogical
96.74
KB
-rwxr-xr-x
2026-05-14 17:32
pg_resetwal
70.04
KB
-rwxr-xr-x
2026-05-14 17:32
pg_restore
192.88
KB
-rwxr-xr-x
2026-05-14 17:32
pg_rewind
144.02
KB
-rwxr-xr-x
2026-05-14 17:32
pg_test_fsync
48.18
KB
-rwxr-xr-x
2026-05-14 17:32
pg_test_timing
42.34
KB
-rwxr-xr-x
2026-05-14 17:32
pg_upgrade
158.74
KB
-rwxr-xr-x
2026-05-14 17:32
pg_verifybackup
116.66
KB
-rwxr-xr-x
2026-05-14 17:32
pg_waldump
106.17
KB
-rwxr-xr-x
2026-05-14 17:32
pgbench
193.3
KB
-rwxr-xr-x
2026-05-14 17:32
phar
14.54
KB
-rwxr-xr-x
2026-05-14 17:43
phar.phar
14.54
KB
-rwxr-xr-x
2026-05-14 17:43
php
19.99
MB
-rwxr-xr-x
2026-05-14 17:43
php-cgi
19.99
MB
-rwxr-xr-x
2026-05-14 17:43
php-config
5.14
KB
-rwxr-xr-x
2026-05-14 17:43
phpdbg
20.01
MB
-rwxr-xr-x
2026-05-14 17:43
phpize
4.43
KB
-rwxr-xr-x
2026-05-14 17:43
pkgdata
46.42
KB
-rwxr-xr-x
2026-05-14 17:39
pngtogd
8.54
KB
-rwxr-xr-x
2026-05-14 17:34
pngtogd2
8.59
KB
-rwxr-xr-x
2026-05-14 17:34
postgres
8.37
MB
-rwxr-xr-x
2026-05-14 17:32
postmaster
8.37
MB
-rwxr-xr-x
2026-05-14 17:32
psql
503.38
KB
-rwxr-xr-x
2026-05-14 17:32
rdjpgcom
13.3
KB
-rwxr-xr-x
2026-05-14 17:34
recode-sr-latin
18.17
KB
-rwxr-xr-x
2026-05-14 17:36
reindexdb
90.73
KB
-rwxr-xr-x
2026-05-14 17:32
replace
3.68
MB
-rwxr-xr-x
2026-05-14 17:26
reset
23.75
KB
-rwxr-xr-x
2026-05-14 17:22
resolve_stack_dump
3.75
MB
-rwxr-xr-x
2026-05-14 17:26
resolveip
3.74
MB
-rwxr-xr-x
2026-05-14 17:26
sqlite3
158.13
KB
-rwxr-xr-x
2026-05-14 17:33
tabs
17.53
KB
-rwxr-xr-x
2026-05-14 17:22
tdspool
405.46
KB
-rwxr-xr-x
2026-05-14 17:35
testgdbm
39.11
KB
-rwxr-xr-x
2026-05-14 17:34
tic
63.13
KB
-rwxr-xr-x
2026-05-14 17:22
toe
18.38
KB
-rwxr-xr-x
2026-05-14 17:22
tput
18.34
KB
-rwxr-xr-x
2026-05-14 17:22
tset
23.75
KB
-rwxr-xr-x
2026-05-14 17:22
tsql
381.83
KB
-rwxr-xr-x
2026-05-14 17:35
uconv
55.21
KB
-rwxr-xr-x
2026-05-14 17:39
vacuumdb
90.95
KB
-rwxr-xr-x
2026-05-14 17:32
webpng
17.77
KB
-rwxr-xr-x
2026-05-14 17:34
wrjpgcom
17.52
KB
-rwxr-xr-x
2026-05-14 17:34
xgettext
289.89
KB
-rwxr-xr-x
2026-05-14 17:36
xml2-config
1.77
KB
-rwxr-xr-x
2026-05-14 17:28
xmlcatalog
41.3
KB
-rwxr-xr-x
2026-05-14 17:28
xmllint
203.2
KB
-rwxr-xr-x
2026-05-14 17:28
xmlwf
33.66
KB
-rwxr-xr-x
2026-05-14 17:44
xslt-config
2.41
KB
-rwxr-xr-x
2026-05-14 17:28
xsltproc
81.52
KB
-rwxr-xr-x
2026-05-14 17:28
zipcmp
23.77
KB
-rwxr-xr-x
2026-05-14 17:37
zipmerge
14.38
KB
-rwxr-xr-x
2026-05-14 17:37
ziptool
48.5
KB
-rwxr-xr-x
2026-05-14 17:37
Save
Rename
#!/usr/bin/perl # Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; version 2 # of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, # MA 02110-1301, USA # mysqldumpslow - parse and summarize the MySQL slow query log # Original version by Tim Bunce, sometime in 2000. # Further changes by Tim Bunce, 8th March 2001. # Handling of strings with \ and double '' by Monty 11 Aug 2001. use strict; use Getopt::Long; # t=time, l=lock time, r=rows # at, al, and ar are the corresponding averages my %opt = ( s => 'at', h => '*', ); GetOptions(\%opt, 'v|verbose+',# verbose 'help+', # write usage info 'd|debug+', # debug 's=s', # what to sort by (al, at, ar, c, t, l, r) 'r!', # reverse the sort order (largest last instead of first) 't=i', # just show the top n queries 'a!', # don't abstract all numbers to N and strings to 'S' 'n=i', # abstract numbers with at least n digits within names 'g=s', # grep: only consider stmts that include this string 'h=s', # hostname of db server for *-slow.log filename (can be wildcard) 'i=s', # name of server instance (if using mysql.server startup script) 'l!', # don't subtract lock time from total time ) or usage("bad option"); $opt{'help'} and usage(); unless (@ARGV) { my $defaults = `my_print_defaults mysqld`; my $basedir = ($defaults =~ m/--basedir=(.*)/)[0] or die "Can't determine basedir from 'my_print_defaults mysqld' output: $defaults"; warn "basedir=$basedir\n" if $opt{v}; my $datadir = ($defaults =~ m/--datadir=(.*)/)[0]; my $slowlog = ($defaults =~ m/--log-slow-queries=(.*)/)[0]; if (!$datadir or $opt{i}) { # determine the datadir from the instances section of /etc/my.cnf, if any my $instances = `my_print_defaults instances`; die "Can't determine datadir from 'my_print_defaults mysqld' output: $defaults" unless $instances; my @instances = ($instances =~ m/^--(\w+)-/mg); die "No -i 'instance_name' specified to select among known instances: @instances.\n" unless $opt{i}; die "Instance '$opt{i}' is unknown (known instances: @instances)\n" unless grep { $_ eq $opt{i} } @instances; $datadir = ($instances =~ m/--$opt{i}-datadir=(.*)/)[0] or die "Can't determine --$opt{i}-datadir from 'my_print_defaults instances' output: $instances"; warn "datadir=$datadir\n" if $opt{v}; } if ( -f $slowlog ) { @ARGV = ($slowlog); die "Can't find '$slowlog'\n" unless @ARGV; } else { @ARGV = <$datadir/$opt{h}-slow.log>; die "Can't find '$datadir/$opt{h}-slow.log'\n" unless @ARGV; } } warn "\nReading mysql slow query log from @ARGV\n"; my @pending; my %stmt; $/ = ";\n#"; # read entire statements using paragraph mode while ( defined($_ = shift @pending) or defined($_ = <>) ) { warn "[[$_]]\n" if $opt{d}; # show raw paragraph being read my @chunks = split /^\/.*Version.*started with[\000-\377]*?Time.*Id.*Command.*Argument.*\n/m; if (@chunks > 1) { unshift @pending, map { length($_) ? $_ : () } @chunks; warn "<<".join(">>\n<<",@chunks).">>" if $opt{d}; next; } s/^#? Time: \d{6}\s+\d+:\d+:\d+.*\n//; my ($user,$host) = s/^#? User\@Host:\s+(\S+)\s+\@\s+(\S+).*\n// ? ($1,$2) : ('',''); s/^# Query_time: ([0-9.]+)\s+Lock_time: ([0-9.]+)\s+Rows_sent: ([0-9.]+).*\n//; my ($t, $l, $r) = ($1, $2, $3); $t -= $l unless $opt{l}; # remove fluff that mysqld writes to log when it (re)starts: s!^/.*Version.*started with:.*\n!!mg; s!^Tcp port: \d+ Unix socket: \S+\n!!mg; s!^Time.*Id.*Command.*Argument.*\n!!mg; s/^use \w+;\n//; # not consistently added s/^SET timestamp=\d+;\n//; s/^[ ]*\n//mg; # delete blank lines s/^[ ]*/ /mg; # normalize leading whitespace s/\s*;\s*(#\s*)?$//; # remove trailing semicolon(+newline-hash) next if $opt{g} and !m/$opt{g}/io; unless ($opt{a}) { s/\b\d+\b/N/g; s/\b0x[0-9A-Fa-f]+\b/N/g; s/''/'S'/g; s/""/"S"/g; s/(\\')//g; s/(\\")//g; s/'[^']+'/'S'/g; s/"[^"]+"/"S"/g; # -n=8: turn log_20001231 into log_NNNNNNNN s/([a-z_]+)(\d{$opt{n},})/$1.('N' x length($2))/ieg if $opt{n}; # abbreviate massive "in (...)" statements and similar s!(([NS],){100,})!sprintf("$2,{repeated %d times}",length($1)/2)!eg; } my $s = $stmt{$_} ||= { users=>{}, hosts=>{} }; $s->{c} += 1; $s->{t} += $t; $s->{l} += $l; $s->{r} += $r; $s->{users}->{$user}++ if $user; $s->{hosts}->{$host}++ if $host; warn "{{$_}}\n\n" if $opt{d}; # show processed statement string } foreach (keys %stmt) { my $v = $stmt{$_} || die; my ($c, $t, $l, $r) = @{ $v }{qw(c t l r)}; $v->{at} = $t / $c; $v->{al} = $l / $c; $v->{ar} = $r / $c; } my @sorted = sort { $stmt{$b}->{$opt{s}} <=> $stmt{$a}->{$opt{s}} } keys %stmt; @sorted = @sorted[0 .. $opt{t}-1] if $opt{t}; @sorted = reverse @sorted if $opt{r}; foreach (@sorted) { my $v = $stmt{$_} || die; my ($c, $t,$at, $l,$al, $r,$ar) = @{ $v }{qw(c t at l al r ar)}; my @users = keys %{$v->{users}}; my $user = (@users==1) ? $users[0] : sprintf "%dusers",scalar @users; my @hosts = keys %{$v->{hosts}}; my $host = (@hosts==1) ? $hosts[0] : sprintf "%dhosts",scalar @hosts; printf "Count: %d Time=%.2fs (%ds) Lock=%.2fs (%ds) Rows=%.1f (%d), $user\@$host\n%s\n\n", $c, $at,$t, $al,$l, $ar,$r, $_; } sub usage { my $str= shift; my $text= <<HERE; Usage: mysqldumpslow [ OPTS... ] [ LOGS... ] Parse and summarize the MySQL slow query log. Options are --verbose verbose --debug debug --help write this text to standard output -v verbose -d debug -s ORDER what to sort by (al, at, ar, c, l, r, t), 'at' is default al: average lock time ar: average rows sent at: average query time c: count l: lock time r: rows sent t: query time -r reverse the sort order (largest last instead of first) -t NUM just show the top n queries -a don't abstract all numbers to N and strings to 'S' -n NUM abstract numbers with at least n digits within names -g PATTERN grep: only consider stmts that include this string -h HOSTNAME hostname of db server for *-slow.log filename (can be wildcard), default is '*', i.e. match all -i NAME name of server instance (if using mysql.server startup script) -l don't subtract lock time from total time HERE if ($str) { print STDERR "ERROR: $str\n\n"; print STDERR $text; exit 1; } else { print $text; exit 0; } }