diff options
author | matthew <matthew@FreeBSD.org> | 2012-05-20 14:03:30 +0800 |
---|---|---|
committer | matthew <matthew@FreeBSD.org> | 2012-05-20 14:03:30 +0800 |
commit | 5a884241854e309541424eeb9908f042c14dd2e6 (patch) | |
tree | 9dc6cc02d7b996ca550cbaab716c890275f813db /databases/mytop | |
parent | d4557fb5d3884d6310ab5382ad701fd2e5bde7cc (diff) | |
download | freebsd-ports-gnome-5a884241854e309541424eeb9908f042c14dd2e6.tar.gz freebsd-ports-gnome-5a884241854e309541424eeb9908f042c14dd2e6.tar.zst freebsd-ports-gnome-5a884241854e309541424eeb9908f042c14dd2e6.zip |
Fix QPS calculation for MySQL 5.0.76 or later.
Submitted by: Gea-Suan Lin
PR: ports/168094
Obtained from: Gentoo Portage
Approved by: shaun (mentor)
Diffstat (limited to 'databases/mytop')
-rw-r--r-- | databases/mytop/Makefile | 2 | ||||
-rw-r--r-- | databases/mytop/files/patch-mytop | 62 |
2 files changed, 55 insertions, 9 deletions
diff --git a/databases/mytop/Makefile b/databases/mytop/Makefile index 62e0f58cdce4..4908796e8b77 100644 --- a/databases/mytop/Makefile +++ b/databases/mytop/Makefile @@ -7,7 +7,7 @@ PORTNAME= mytop PORTVERSION= 1.6 -PORTREVISION= 7 +PORTREVISION= 8 CATEGORIES= databases MASTER_SITES= http://jeremy.zawodny.com/mysql/mytop/ diff --git a/databases/mytop/files/patch-mytop b/databases/mytop/files/patch-mytop index b2f92386f85b..d874a73b7a1b 100644 --- a/databases/mytop/files/patch-mytop +++ b/databases/mytop/files/patch-mytop @@ -1,5 +1,5 @@ ---- mytop.orig 2007-02-17 05:57:46.000000000 +0100 -+++ mytop 2009-10-15 00:19:14.000000000 +0200 +--- mytop.orig 2007-02-17 12:57:46.000000000 +0800 ++++ mytop 2012-05-18 13:58:30.000000000 +0800 @@ -153,7 +153,7 @@ "idle|i" => \$config{idle}, "resolve|r" => \$config{resolve}, @@ -54,16 +54,62 @@ ## if the server died or we lost connectivity if (not @recs) -@@ -819,7 +825,7 @@ +@@ -800,8 +806,15 @@ + + ## Queries per second... + +- my $avg_queries_per_sec = sprintf("%.2f", $STATUS{Questions} / $STATUS{Uptime}); +- my $num_queries = $STATUS{Questions}; ++ my ($num_queries, $old_num_queries); ++ if(defined($STATUS{Queries})) { ++ $num_queries = $STATUS{Queries}; ++ $old_num_queries = $OLD_STATUS{Queries}; ++ } else { ++ $num_queries = $STATUS{Questions}; ++ $old_num_queries = $OLD_STATUS{Questions}; ++ } ++ my $avg_queries_per_sec = sprintf("%.2f", $num_queries / $STATUS{Uptime}); + + my @t = localtime(time); + +@@ -819,26 +832,26 @@ $lines_left--; - printf " Queries: %-5s qps: %4.0f Slow: %7s Se/In/Up/De(%%): %02.0f/%02.0f/%02.0f/%02.0f \n", +- make_short( $STATUS{Questions} ), # q total +- $STATUS{Questions} / $STATUS{Uptime}, # qps, average + printf " Queries: %-6s qps: %4.0f Slow: %7s Se/In/Up/De(%%): %02.0f/%02.0f/%02.0f/%02.0f \n", - make_short( $STATUS{Questions} ), # q total - $STATUS{Questions} / $STATUS{Uptime}, # qps, average ++ make_short( $num_queries ), # q total ++ $num_queries / $STATUS{Uptime}, # qps, average make_short( $STATUS{Slow_queries} ), # slow -@@ -889,8 +895,42 @@ + + # hmm. a Qcache hit is really a select and should be counted. +- 100 * ($STATUS{Com_select} + ($STATUS{Qcache_hits}||0) ) / $STATUS{Questions}, +- 100 * ($STATUS{Com_insert} + $STATUS{Com_replace} ) / $STATUS{Questions}, +- 100 * ($STATUS{Com_update} ) / $STATUS{Questions}, +- 100 * $STATUS{Com_delete} / $STATUS{Questions}; ++ 100 * ($STATUS{Com_select} + ($STATUS{Qcache_hits}||0) ) / $num_queries, ++ 100 * ($STATUS{Com_insert} + $STATUS{Com_replace} ) / $num_queries, ++ 100 * ($STATUS{Com_update} ) / $num_queries, ++ 100 * $STATUS{Com_delete} / $num_queries; + + $lines_left--; + + if ($t_delta) + { +- my $q_diff = ( $STATUS{Questions} - $OLD_STATUS{Questions} ); +-# print("q_diff: $STATUS{Questions} - $OLD_STATUS{Questions} / $t_delta = $q_diff\n"); ++ my $q_diff = ( $num_queries - $old_num_queries ); ++# print("q_diff: $num_queries - $old_num_queries / $t_delta = $q_diff\n"); + + printf(" qps now: %4.0f Slow qps: %3.1f Threads: %4.0f (%4.0f/%4.0f) %02.0f/%02.0f/%02.0f/%02.0f \n", +- ( $STATUS{Questions} - $OLD_STATUS{Questions} ) / $t_delta, ++ ( $num_queries - $old_num_queries ) / $t_delta, + ( # slow now (qps) + ($STATUS{Slow_queries} ) ? + ( $STATUS{Slow_queries} - $OLD_STATUS{Slow_queries} ) / $t_delta : +@@ -889,8 +902,42 @@ make_short(($STATUS{Bytes_received} - $OLD_STATUS{Bytes_received}) / $t_delta ), make_short(($STATUS{Bytes_sent} - $OLD_STATUS{Bytes_sent}) / $t_delta )) if ($t_delta); @@ -107,7 +153,7 @@ $lines_left--; } -@@ -952,8 +992,11 @@ +@@ -952,8 +999,11 @@ { $thread->{Host} =~ s/:\d+$//; my $host = gethostbyaddr(inet_aton($thread->{Host}), AF_INET); @@ -121,7 +167,7 @@ } ## Fix possible undefs -@@ -1099,8 +1142,8 @@ +@@ -1099,8 +1149,8 @@ my @data = Hashes("SHOW INNODB STATUS"); open P, "|$config{pager}" or die "$!"; |