|
|
b8fb6c5 |
commit 997d82d30040dc9749db46823a933555e586e645
|
|
|
b8fb6c5 |
Author: Daniel Black <daniel.black@openquery.com>
|
|
|
b8fb6c5 |
Date: Thu Jan 30 11:34:54 2014 +1100
|
|
|
b8fb6c5 |
|
|
|
b8fb6c5 |
Break mysql innodb data on full sections
|
|
|
b8fb6c5 |
|
|
|
b8fb6c5 |
Patch from Jan Mara
|
|
|
b8fb6c5 |
https://github.com/jmara/ubuntu-munin-mysql/commit/77ae2b2d8bc1233e0f0b0e6346d66b955441ba14
|
|
|
b8fb6c5 |
|
|
|
b8fb6c5 |
diff --git a/plugins/node.d/mysql_.in b/plugins/node.d/mysql_.in
|
|
|
b8fb6c5 |
index 3376036..fb70e24 100644
|
|
|
b8fb6c5 |
--- a/plugins/node.d/mysql_.in
|
|
|
b8fb6c5 |
+++ b/plugins/node.d/mysql_.in
|
|
|
b8fb6c5 |
@@ -1070,7 +1070,7 @@ sub parse_innodb_status {
|
|
|
b8fb6c5 |
|
|
|
b8fb6c5 |
# Add a dummy section to the end in case the innodb status output
|
|
|
b8fb6c5 |
# has been truncated (Happens for status > 64K characters)
|
|
|
b8fb6c5 |
- $_ .= "\n----------\nDUMMY\n";
|
|
|
b8fb6c5 |
+ $_ .= "\n----------\nDUMMY\n----------\n";
|
|
|
b8fb6c5 |
|
|
|
b8fb6c5 |
my %section_map = (
|
|
|
b8fb6c5 |
|
|
|
b8fb6c5 |
@@ -1114,7 +1114,12 @@ sub parse_innodb_status {
|
|
|
b8fb6c5 |
my $innodb_bigint_rx = qr{([[a-fA-F\d]+)(?: (\d+))?};
|
|
|
b8fb6c5 |
|
|
|
b8fb6c5 |
|
|
|
b8fb6c5 |
-sub match_dashes { return m/\G-+\n(?!-)/gc; }
|
|
|
b8fb6c5 |
+sub match_new_section {
|
|
|
b8fb6c5 |
+ return m/\G
|
|
|
b8fb6c5 |
+ -+\n # ---------------------------
|
|
|
b8fb6c5 |
+ (?= [A-Z\/ ]+\n # SECTION NAME
|
|
|
b8fb6c5 |
+ [=-]+\n)/gcx; # --------------------------- ('=' on end of output)
|
|
|
b8fb6c5 |
+}
|
|
|
b8fb6c5 |
|
|
|
b8fb6c5 |
|
|
|
b8fb6c5 |
sub skip_line { return m/\G.*\n/gc; }
|
|
|
b8fb6c5 |
@@ -1133,7 +1138,7 @@ sub parse_section {
|
|
|
b8fb6c5 |
|
|
|
b8fb6c5 |
#warn substr($_, pos(), 10);
|
|
|
b8fb6c5 |
for (;;) {
|
|
|
b8fb6c5 |
- return if match_dashes();
|
|
|
b8fb6c5 |
+ return if match_new_section;
|
|
|
b8fb6c5 |
next if $parser->();
|
|
|
b8fb6c5 |
skip_line();
|
|
|
b8fb6c5 |
}
|