Commit Graph

36 Commits

Author SHA1 Message Date
Daniel Nichter
feab2f0925 s/Percona Inc/Percona Ireland Ltd/g 2013-01-02 17:19:16 -07:00
Daniel Nichter
5a77e8c09c Fix scrolling header for --group-by=all. 2012-05-10 14:06:52 -07:00
Brian Fraser fraserb@gmail.com
a252f5b7f8 Change a _d() introduced in previous commits to possily avoid crashes 2012-03-06 14:04:47 -03:00
Brian Fraser fraserb@gmail.com
06f1b7319e Fix for 928226: https://bugs.launchpad.net/percona-toolkit/+bug/928226 2012-03-02 11:05:33 -08:00
Brian Fraser
27323776a8 Applied Baron's patch, which changes how qtime and stime are calculated.
Also includes a second attempt at fixing the $Diskstats::printed_lines bug,
and fixed how the timestamp is chosen if --show-timestamps is in effect.
2012-02-03 14:00:40 -03:00
Brian Fraser
0a25bd038b Merge with Baron's branch, and changes as per the new spec/docs. 2012-02-03 12:11:14 -03:00
Brian Fraser
d11856d48f Moved the calculation of {read,write}_ios_sec around a bit and marked it as TODO 2012-02-02 19:38:03 -03:00
Brian Fraser
2f3f75965a Fixed a 'Use of uninitialized value' error in Diskstats->print_deltas()
It's not clear to me how this can even happen, as the variable is
package-scoped and set during compilation, but this should fix it.
2012-02-02 11:14:20 -03:00
Brian Fraser
b0f7bc4fc6 Tweaks requested by Baron, plus fixes.
Tweaks:
* --headers command line option, which can be used to
        enable/disable the automatic headers, and the
        automatic empty lines between samples.
* --show-timestamps, which changes the #ts line with
        a timestamp in the HH:MM:SS format.
* Always use ReadKeyMini, even when we have Term::ReadKey.
        In the latter case, use the Term::ReadKey functions,
        but if they fail, try again with our own versions.

Fix:
Looks like I forgot to actually enable the "save the current, first
and last" samples. This is now on. It should mean faster and better
output when changing --group-by modes.
2012-02-01 19:12:03 -03:00
Brian Fraser
3de8aa530b More fixes as per Baron's review. 2012-01-31 22:44:00 -03:00
Brian Fraser
73c1e466d7 Several fixes & changes:
* qtime and stime computed correctly
* Interactive mode and changing groups doesn't fail
* Interactive mode no longer uses a file to gather samples.
2012-01-30 17:44:18 -03:00
Brian Fraser
ad552756b2 Automatic headers & improvements. 2012-01-18 19:01:19 -03:00
Brian Fraser
05fec15473 Fixes as per Baron's review. 2012-01-17 11:40:01 -03:00
Brian Fraser
d01d838b64 Several changes as per Baron & Daniel's mails.
Most importantly, it replaces --zero-rows with --show-inactive, and
changes the default logic used to decide when to print a device.
2012-01-16 09:37:53 -03:00
Daniel Nichter
87d12c9802 Don't warn about invalid lines, just debug them. Anchor TS pattern. Unset --sample-time unless --group-by sample. 2012-01-12 14:26:31 -07:00
Daniel Nichter
9404ff84ef Rewrite pt-diskstats.t but all tests need to be fixed. Update modules in pt-diskstats, use PTDEBUG, check regex opts. Remove output_fh from Diskstats. Fix DiskstatsMenu header so update-modules can see it. 2012-01-12 12:06:50 -07:00
Daniel Nichter
8d70a272fe Simplify parse_diskstats_line() and _calc_delta_for(). Use UPPERCASE for constants. Don't save unused values in dev stats array. Use actual values from an OptionParser/pt-diskstats. 2012-01-12 10:09:40 -07:00
Brian Fraser
3165b3c0f8 Slew of changes from Daniel's review. 2012-01-12 10:37:49 -03:00
Brian Fraser
6d47e958c7 Change ->filter_zeroed_rows into ->zero_rows. 2012-01-10 16:28:32 -03:00
Brian Fraser
f173069109 Stop using /(?=)/ since /.+/ is good enough.
Originally, DiskstatsMenu differentiated between an empty pattern
entered by the user (which in the shell version meant "match all")
and any other valid pattern by replacing it with /(?=)/.

However, Diskstats now carries the original string, inside the
OptionParser object, so the above was redundant.
2012-01-10 16:10:50 -03:00
Brian Fraser
eaae370f81 Removed the handling of the partition format.
/proc/diskstats actually has two formats, one for devices, one for
partitions. The latter wasn't handled by the original pt-diskstats,
but one of the previous commits introducing some minimal handling
for that. This commit removes that, since the partition format
doesn't have enough information to be useful.
2012-01-10 14:28:24 -03:00
Brian Fraser
13210d1978 Explicit setter for filename. 2012-01-10 14:16:44 -03:00
Brian Fraser
5ad1bc4fbb Explicit setter for device_regex and column_regex. 2012-01-10 14:14:32 -03:00
Brian Fraser
93279a03da Explicit setter for out_fh. 2012-01-10 14:05:02 -03:00
Brian Fraser
ae76c73395 Explicit setter for interactive. 2012-01-10 14:01:11 -03:00
Brian Fraser
79bdf3f1d3 Explicit setter for sample_time 2012-01-10 13:52:43 -03:00
Brian Fraser
187d921069 Explicit setter for filter_zeroed_rows 2012-01-10 13:46:05 -03:00
Brian Fraser
25909caa4e Explicit setters for (curr|prev|first)_ts. 2012-01-10 13:40:51 -03:00
Brian Fraser
b4289010b1 Several fixes. --save-samples and --help should work now. 2012-01-10 10:47:50 -03:00
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
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
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
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