GoFast Enterprise: MySQL Slow Query Analysis

GoFast Enterprise provides the analysis of MySQL slow query logs. It processes the records into an analytical DuckDB database and allows multi-dimensional queries over them. It removes the problem of rescanning a growing log file for every question.
Because it is built in Go, the ingest is very fast. It runs as a single executable, with no dependencies, and inside Docker. It keeps a hash of the records it has carried across and does not allow duplicates to form.

Get in touch
$ gofast-cli parse --slow-log-dir /var/log/mysql
Entries parsed: 120000 Duration: 934.941ms
$ gofast-cli digest --order-by Query_time:sum --limit 5
1 DD5DDC161E059439 22207.87s 25.1% 29791 SELECT shop.customers
2 43D468CC71E94B23 22101.79s 25.0% 30049 SELECT shop.order_items
$ gofast-cli digest --filter "db = shop" --filter "query_time > 2"
1 DD5DDC161E059439 3522.78s 35.2% 864 SELECT shop.customers
$ gofast-cli digest --group-by tables --limit 2 --json | jq -c
{"id":"shop.customers","calls":29791}
$ gofast-cli query "SELECT db, COUNT(*) AS calls FROM slow_logs GROUP BY db"
1: [shop 89892]
2: [billing 30108]

GoFast Enterprise ingests logs with Go and queries them on DuckDB

As the slow query log grows, every question waits for the file to be scanned again. GoFast Enterprise processes the log once. Every question after that is answered on DuckDB.

Fast ingest

Parsing and ingest are written in Go. Logs of hundreds of thousands of lines are processed in a single pass.

Simple installation

It runs as a single executable on Linux and macOS. It needs neither Perl nor CPAN and asks for no additional setup. It is installed into customer infrastructure and also runs inside a Docker container.

High analytical performance with DuckDB

DuckDB's analytical capabilities make fast analysis of large volumes of records possible. Percentile values are calculated exactly. The store is queried multi-dimensionally with SQL directly.

Web-based user interface

The logs of more than one server are followed on a single dashboard. Breakdowns by user, server, database and table are examined on graphs. The team uses the same data from a browser, without reaching the command line.

An analytical store answers every question without a rescan

During parsing, the fingerprint of each query is extracted and the events are written to DuckDB. A hash of the records carried across is kept, and duplicates are cleared at the end of every ingest. As the file grows, only new events are added. Report time depends on the scope of the question, not on the size of the log.

Questions the ready-made reports do not answer can be put to the store directly in SQL. Queries touching a particular table, the requests of a particular user, or the course of a single query fingerprint over time are all taken that way. The store is also served over a read-only REST API, where an API key is mandatory for access. The parsing layer is published as the MIT licensed open source gofast-cli, and the tool can be viewed on GitHub .

The web interface gives the team visual analytics

The web interface shows the logs of more than one MySQL server on a single dashboard. The dashboard uses the same store as the command line. Records are examined broken down by user, server, database and table. The course of a query fingerprint over time is followed on a graph. Daily and weekly views allow periods to be compared. Team members examine the same data from a browser, without reaching the command line.

GoFast Enterprise web interface: the query time distribution of one fingerprint over time

GoFast Enterprise web interface: filters for user, database, server, table and date range

gofast-mcp opens the analysis to AI agents

GoFast Enterprise comes with gofast-mcp. gofast-mcp is a Model Context Protocol (MCP) server. AI agents put questions to the store with ready-made tools. The tools list the worst queries, rank them by impact weight, and show table contention. They extract predicate patterns for indexing. They compare an incident window with the baseline and single out a sudden slowdown. The agent’s SQL access is read-only.

Note: the report format and the option names are compatible with pt-query-digest.

The same store serves everything from an incident to a routine review

The users are the DBAs and application teams responsible for production MySQL systems. In each of the situations below the question changes; the store does not.

Incident response

During a slowdown, which query, since when, and on which table it concentrated are asked one after another. The incident window is compared with its own baseline, and a sudden slowdown is singled out.

Routine performance review

Weekly or monthly reports list the queries with the highest total time. An AI agent extracts predicate patterns for indexing. Because the report arrives in the same shape every period, periods can be compared with each other.

Before and after a change

The periods before and after a version upgrade, an index addition or an application release are reported from a single store with a date range. The log is not parsed again.

Multi-server environments

The logs of more than one MySQL server are followed on a single dashboard. Team members without command line access examine the same data from a browser, and AI agents ask questions through gofast-mcp.

The command line, the REST API and gofast-mcp share the same store

Every capability of the command line tool is preserved in GoFast Enterprise. The web interface and the gofast-mcp server come with the licence.

Command line tool

Parsing, reporting and direct SQL run from the command line. Reports can also be taken as JSON.

Read-only REST API

It offers read-only access. An API key is mandatory.

gofast-mcp server

A Model Context Protocol (MCP) server that gives AI agents ready-made analysis tools. SQL access is read-only.

Let's do the installation and the analysis together with your team

We carry out the installation, the slow query log settings and the first analysis together with your team. The scope of the licence is agreed in the first conversation. The lasting performance work continues under our MySQL support and consulting service.

Arrange a conversation