16 Commits

Author SHA1 Message Date
Daniel Nichter
feab2f0925 s/Percona Inc/Percona Ireland Ltd/g 2013-01-02 17:19:16 -07:00
Brian Fraser
c08c0c6a7a Fix for 1035311: pt-diskstats shows wrong device name 2012-08-10 15:36:34 -03: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
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
7c4c186978 Change how Diskstats waits for its first handful of samples.
This fixes two bugs -- One a rounding error, one a desyncronization
between the main program and the data gathering daemon.

Additionally, it changes how the daemon prints the very first
sample. Before it would unconditionally wait until the time was
%$sample-time, which meant that in a worst case scenario,
a user could be left waiting for a while before seeing a line
of output.
This commit changes that first wait to only sleep if less
than 20% away from %$sample-time.
2012-02-01 12:14:09 -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
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
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
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