Commit Graph

235 Commits

Author SHA1 Message Date
Brian Fraser
d3ef9edaaa Several corrections as per Daniel and Baron's feedback.
Still TODO: Attributes still have a single method that doubles
as a getter and setter. The constructor for Diskstats is still
weird -- A tad more stricter than it should be, if anything.
->print_rest is still rest, even though that's hardly
memorable, mostly because of a lack of ideas on what to
rename it. The main loop in the Menu is still a while (1).

As a nice perk, it's nearly twice as fast now! It also adds a
_very_ experimental --memory-for-speed argument, which
turns on memoization for the current biggest bottleneck.
2011-12-22 19:24:56 -03:00
Daniel Nichter
1d8da408fc Revert to r243 to undo pt-table-sync changes. 2011-12-22 12:06:25 -07:00
Daniel Nichter
2760322c87 Don't bidi cmp equal rows. Commit if not --lock and using txn. Fix pt-table-sync basics.t. 2011-12-22 12:01:03 -07:00
Daniel Nichter
cfc57c71af Make pt-table-sync --replicate work with pt-table-checksum 2.0. 2011-12-22 10:10:22 -07:00
Daniel Nichter
457fa70668 Fix TableSyncer trace msg, implement --explain, fix locking/committing. Add aux dbh, dbh opts, and disconnect() to Cxn. 2011-12-21 21:12:03 -07:00
Daniel Nichter
ec8471ba28 Finish rewriting TableSyncer and updating its test. Add RowSyncerBidirectional.pm. Add GENLOG switch to start-sandbox. 2011-12-21 12:10:57 -07:00
Daniel Nichter
4c8fd5c080 Rewrite TableSyncer to use only NibbleIterator. Add RowSyncer. Return hashref from NibbleIterator. 2011-12-21 01:19:50 -07:00
Brian Fraser
467254aca3 Fixes to the Menu; additionally, changed the accepted format for samples.
Also made it hide rows that are all zeroes by default, as per the
blueprint.
2011-12-20 12:53:35 -03:00
Daniel Nichter
5d2e60791c Don't add ORDER BY to nibble SQL by default. 2011-12-19 14:17:11 -07:00
Daniel Nichter
0056014339 Let desc sentence be terminated by period of question mark. 2011-12-19 12:55:14 -07:00
Daniel Nichter
9baea8b7b6 Convert parse_option to sh, use Perl instead of awk, implement --help. 2011-12-19 12:51:47 -07:00
Daniel Nichter
3266e0aeca Don't use OPT_TMPDIR in tmpdir.sh. Define EXT_ARGV in parse_options.sh. 2011-12-19 11:29:21 -07:00
Daniel Nichter
bb315948cd Parse disk space using df -P -k. 2011-12-19 10:22:42 -07:00
Brian Fraser
8da8d1ff61 Diskstats.pm: Wrong math for millisecond to second.
Sorry about that. Mind bug on my side.
2011-12-16 13:55:31 -03:00
Brian Fraser
13c9c5b0bb Added the actual pt-diskstats tool.
Missing a doc overhaul and tests, but this deals with most of the
feature upgrades in the blueprint.

The shell version of pt-diskstats is now in bin has pt-diskstats-shell,
in case that's needed.
2011-12-16 13:40:22 -03:00
Brian Fraser
7b12dbec64 Work in progress v3: Working interactive mode, initial documentation.
With this most of the interactive mode should be working.

pt_diskstats.pm has the documentation and can be used for testing,
which should be in the next commit.

This commit also includes the revamped command line options.
2011-12-15 20:26:55 -03:00
Daniel Nichter
a172a3f2a7 Return 0 only if no --help, --verion, or opt errors. 2011-12-15 12:12:18 -07:00
Daniel Nichter
f3ac1b20c2 Add usage_or_errors() to parse_options.sh. 2011-12-15 12:01:22 -07:00
Daniel Nichter
92c8635c4a Fix and test safeguards.sh. Implement disk space+margin check. 2011-12-14 16:12:43 -07:00
Brian Fraser
0fd09e8f6e Work in progress v2: Redesign pt-diskstats in Perl. 2011-12-13 14:53:05 -03:00
Brian Fraser
43b29d6374 Work in progress: Redesign pt-diskstats in Perl.
Mostly bits and pieces at the moments. ReadKeyMini is a portable-ish
Term::ReadKey. Used here by DiskstatsMenu, which is currently only
for show.

Diskstats has most of the logic of the old pt-diskstats, with parts
now implemented by the DiskstatsGroupBy* classes; The latter subclass
the former.

As mentioned at the start, this is a work in progress. In addition to to
not having all the parts attached, also missing are the data-gathering mode,
the command-line argument parsing, and a large amount of tests.
2011-12-08 19:26:04 -03:00
Daniel Nichter
90fbfaf41f Don't quote $EXT_ARGV so multiple opts work. 2011-12-08 14:25:35 -07:00
Daniel Nichter
36e88c8e40 Fix typo. 2011-12-08 13:49:44 -07:00
Daniel Nichter
9ec71db008 Collect INFORMATION_SCHEMA.INNODB_LOCK_WAITS data. 2011-12-08 13:33:50 -07:00
Daniel Nichter
1c495936c8 Get Open_tables if <= 1000. 2011-12-08 12:05:20 -07:00
Daniel Nichter
0cfef9134c Collect proclist in loop. 2011-12-08 11:45:16 -07:00
Daniel Nichter
876e3533d0 Use LC_ALL=C to fix broken awk on some systems. 2011-12-07 11:58:33 -07:00
Daniel Nichter
c486bf8461 Remove ON_EXIT. 2011-12-07 10:48:47 -07:00
Daniel Nichter
578896c217 Add daemon.sh. 2011-12-07 10:37:10 -07:00
Daniel Nichter
f624220b40 Fix typo. 2011-12-06 13:36:45 -07:00
Daniel Nichter
f6306c9ec0 Test collect.sh. Use --run-time instead of --interval for collect loop. Fix and require per-test test names in util/test-bash-functions. Fix OPT_ERR in parse_options.sh. 2011-12-06 13:23:47 -07:00
Daniel Nichter
c804079c0d Add Bash libs collect.sh (pt-collect internals), safeguards.sh, and alt_cmds.sh. 2011-12-05 13:48:54 -07:00
Daniel Nichter
6764f4cd06 Close awk fhs to avoid 'too many open files' error. 2011-12-02 14:43:43 -07:00
Daniel Nichter
75d2c99d45 Parse option specs, allow negating with --no-, add more tests. 2011-12-02 11:31:31 -07:00
Daniel Nichter
173085e823 Rename tmpdir funcs. Include pid in tmpdir name. 2011-11-28 11:16:23 -07:00
Daniel Nichter
06b99e987c Don't checksum 1=1 on master if table on slave is too large. 2011-11-17 13:15:26 -07:00
Daniel Nichter
7b8736c1f5 Use SELECT * instead of SELECT COUNT(*) to avoid 'Select tables optimized away'. Make _get_row_estimate() "public". 2011-11-17 12:15:21 -07:00
Daniel Nichter
ff78656859 Fix various resume issues. 2011-11-17 11:20:00 -07:00
Daniel Nichter
42bd00c4d6 Handle resume in OobNibbleIterator. 2011-11-16 11:10:34 -07:00
Daniel Nichter
619cda713f Handle resume in NibbleIterator. 2011-11-15 11:55:07 -07:00
Daniel Nichter
fbb80008de Add OobNibbleIterator.pm. 2011-11-14 17:49:48 -07:00
Daniel Nichter
2bf6365189 Save first lower boundary. 2011-11-14 17:49:42 -07:00
Daniel Nichter
2f9ab4081a Fix prepared report for statements without corresponding prep or exec. 2011-11-08 12:53:50 -07:00
Daniel Nichter
5465634885 Fix --resume --ignore-tables. 2011-11-08 10:20:59 -07:00
Daniel Nichter
a807f56ab5 Add newline to --max-load progress message. 2011-11-07 10:33:21 -07:00
Daniel Nichter
2e72da5717 Use new style Retry in CopyRowsInsertSelect.pm. 2011-11-02 10:05:48 -06:00
Daniel Nichter
348fe17038 Use new style Retry in TableSyncer.pm. 2011-11-02 09:54:29 -06:00
Daniel Nichter
53605aa45e Use Threads_running=25 as default --max-load. Allow = or : as var-val separator. 2011-11-01 12:13:02 -06:00
Daniel Nichter
8cb5f6b600 Add default OPT_ERR and fix default OPT_TMPDIR. 2011-10-31 11:25:56 -06:00
Daniel Nichter
f2b644ba72 More parse_options tests. Make --opt yes have value "yes" instead of "1". Change ok() to cmd_ok() in test-bash-functions. Mimic Perl modulue headers in Bash libs so update-modules will work with the latter. 2011-10-28 11:08:59 -06:00