dm-2 26522d20fd PT-2080 Add JSON logging to pt-kill (#543)
* Add JSON output support to pt-kill

Introduces new flags `--log-json` and `--log-json-fields` to control JSON output:
- `--log-json`: when combined with `--print`, outputs kill information in JSON format instead of plain text, with the same fields as the `kill_log` table when using `--log-dsn`
- `--log-json-fields`: when combined with `--log-json`, adds user-defined key-value pairs to the JSON document that is output (such as cluster name or hostname); parameter value is in the format of `key1:value1,key2:value2`

* Convert --log-json to write to file, remove dependency on --print, update docs

The `--log-json` parameter now takes a file path value, and writes JSON output to this file.

The `--print` parameter is now independent and does not need to be specified to use `--log-json`.

Docs updated for clarity.

* Add chksm to JSON output, make JSON key names consistent

- Adds chksm outout to JSON output to make it easier to group similar queries
- Moves chksm code so that it is always executed, is accessible within the `log-json` scope, and isn't duplicated
- Change JSON key names to consistently use uppercase letters at start of words, change `ts` to `Timestamp`

* Update docs to match changed field names

* Rename JSON parameter, output to STDOUT, fix tests, add test for --json, bug fix for --query-id

- `--json` parameter must now be used in conjunction with `--print`; JSON output replaces normal `--print` output when `--json` is also specified
- `--json` output is now sent to STDOUT instead of a specified file, as its new behaviour is to change the output format of `--print` instead of logging to a file
- Renamed `--log-json` and `--log-json-fields` parameters to `--json` and `--json-fields` to better represent their new behaviour
- Refactored checksum code to prevent test failures when `$query->{'Info'}` is empty
- Added test for `--json` and `--json-fields` parameters
- Fixed bug where specifying `--query-id` would cause errors when `$query->{'Info'}` is empty

* Fix typo: Unkown -> Unknown
2022-09-27 23:41:17 +03:00
2022-08-18 15:56:48 +05:30
2022-07-11 10:29:37 -03:00
2022-08-24 11:08:30 +02:00
2020-02-19 22:20:39 +03:00
2022-07-11 10:29:37 -03:00
2022-01-03 15:02:23 +03:00
2021-12-27 11:41:37 +02:00
2022-07-11 10:29:37 -03:00
2017-02-10 13:58:13 -08:00
2022-07-11 10:29:37 -03:00
2022-07-11 10:29:37 -03:00
2017-12-20 14:05:12 +00:00
2020-04-01 15:39:16 -03:00
2020-03-30 10:42:00 -03:00

Percona Toolkit

CLA assistant

Percona Toolkit is a collection of advanced command-line tools used by Percona support staff to perform a variety of MySQL and system tasks that are too difficult or complex to perform manually.

These tools are ideal alternatives to private or "one-off" scripts because they are professionally developed, formally tested, and fully documented. They are also fully self-contained, so installation is quick and easy and no libraries are installed.

Percona Toolkit is developed and supported by Percona Inc. For more information and other free, open-source software developed by Percona, visit http://www.percona.com/software/.

Installing

To install all tools, run:

perl Makefile.PL
make
make test
make install

You probably need to be root to make install. On most systems, the tools are installed in /usr/local/bin. See the INSTALL file for more information.

Documentation

Run man percona-toolkit to see a list of installed tools, then man tool to read the embedded documentation for a specific tool. You can also read the documentation online at http://www.percona.com/software/percona-toolkit/.

Description
Percona Toolkit: a collection of advanced open source command-line tools.
Readme 120 MiB
Languages
Perl 85%
Shell 7.3%
Go 5.8%
JavaScript 0.7%
CSS 0.5%
Other 0.5%