# 22. Utilities

AMPS provides several utilities that are not essential to message processing, but can be helpful in troubleshooting or tuning an AMPS instance. Some of the most commonly-used utilities are listed below. Each of the following utilities is covered in greater detail in the AMPS Utilities Guide:

- `amps_upgrade` : upgrades data files for existing AMPS instances to the current release of AMPS. This is not necessary for upgrading from versions of AMPS running 5.0.0.0 or later releases to upgrade to this version of AMPS. The utility is provided for compatibility with earlier versions of AMPS.
- `spark` : a command-line client provided by AMPS. It is a useful tool for diagnostics, such as checking the contents of a SOW topic. The `spark` client can also be used for simple scripting to run queries, place subscriptions, and publish data.
- `ampserr` : used to expand and examine error messages that may be observed in the logs. This utility allows a user to input a specific error code, or a class of error codes, examine the error message in more detail, and where applicable, view known solutions to similar issues.
- `amps-grep` : provides the ability to easily search AMPS error logs for literal terms or matches for regular expressions. This utility is aware of the structure of AMPS log messages, and returns the full content of the matching log message rather than just the line that matches.
- `amps_queue_ack_dump` : used to inspect the contents of the file that is used to quickly locate the head of a queue when AMPS restarts.
- `amps_sqlite3` : provides a more convenient interface for querying AMPS statistics databases.
- `amps_sqlite3_report` : provides a way to extract a subset of statistics, based on a date, from AMPS statistics databases.
- `amps_sow_dump` : used to inspect the contents of a SOW topic store.
- `amps_journal_dump` : used to examine the contents of an AMPS journal file during debugging and program tuning.
- `amps_file` : used for identifying the filetype and version of files that AMPS persists (for example, `AMPS sow 6.0` for a SOW that uses version 6 of the SOW file format).
- `amps-report-minidump` : used to submit minidump files for analysis by a member of the 60East Technologies team.