Simplify pt-query-digest

Registered by Daniel Nichter on 2011-09-01

We're going to simplify pt-query-digest so it does either query log analysis with report or query review with no report.

Priorities:

1) Strip down the tool: remove the options/feature we intend to remove, etc.

2) Output in JSON. I.e. instead of printing a human-readable report, write the raw values to a file (or print to STDOUT?) in JSON.

(Don't need this I think: 3) Test that collect-and-report cycles run for --run-time even when there's no new data in the log. I.e. we want "pqd --interval 5m --run-time 8h slow.log" to run for 8 hours, reporting every 5 minutes even if during those 8 hours slow.log doesn't have new data. This means the tool will have to quasi-resume, i.e. save offset in slow.log, wait, re-open, seek to that offset, try to read again.)

3) --resume

4) Simplify the query review feature.

5) Refactor/rewrite EventAggregator so it doesn't use magical evaled subs after N many queries _if this doesn't hurt performance_.

6) Simplify pipeline if possible.

JSON format
==========

- Format: http://goo.gl/JkGHP

- sprintf values to avoid "sum": 9.1e-05

- No empty attribs like,

  "InnoDB_queue_wait": {
        "min": null,
        "max": null,
        "median": 0,
        "stddev": 0,
        "pct_95": 0
    },

if none of the events had InnoDB_queue_wait, then don't include it.

Blueprint information

Status:
Complete
Approver:
Daniel Nichter
Priority:
Essential
Drafter:
None
Direction:
Approved
Assignee:
Brian Fraser
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
milestone icon 2.2.1
Started by
Daniel Nichter
Completed by
Daniel Nichter

Whiteboard

Remove these options and all their related code, report output, etc.:

1. --apdex-threshold

DOne, updating samples & tests

2. --daemonize

This might be useful for pt-agent, so it'll stay for now.

3. --execute

Done.

4. -execute-throttle

Done.

5. --log

See --daemonize

6. --mirror

Done.

7. --report-all

In progress.

8. --table-access

Done.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.