Analysis updated 2026-07-03
Stream a running application's JSON log output into angle-grinder and get a live count of errors grouped by endpoint as they happen.
Analyze a large historical log file to find the 95th-percentile response time per service, grouped into one-minute intervals.
Filter a logfmt log to lines containing a specific error string and count how many unique user IDs triggered it.
Replace a slow grep and awk pipeline with a single agrind query to extract and summarize structured fields from millions of log lines in seconds.
| rcoh/angle-grinder | rustaudio/cpal | findomain/findomain | |
|---|---|---|---|
| Stars | 3,730 | 3,728 | 3,736 |
| Language | Rust | Rust | Rust |
| Setup difficulty | easy | moderate | moderate |
| Complexity | 2/5 | 3/5 | 3/5 |
| Audience | ops devops | developer | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Install via Homebrew, Cargo, or a pre-compiled binary, no external service or config file needed.
angle-grinder is a command-line tool for analyzing log files without needing to set up a dedicated logging service. If you have log files sitting on a server or streaming in from a process and you want to count things, find patterns, calculate averages, or sort by a field, angle-grinder lets you do that interactively in your terminal with results that update as data flows in. The tool works by running queries against log lines. A query is a short expression that filters lines first, then applies a series of operations to transform and summarize the matching data. For example, a query can parse JSON-formatted log lines, group them by a field like log level, and count how many entries fall into each group. It also handles logfmt (a format used by Heroku and Splunk), plain text patterns, and comma-separated values. The aggregation options include count, sum, average, minimum, maximum, percentile, distinct count, and sort. These can be combined with time-based grouping, so you can see how a metric changes over time by slicing results into fixed intervals. Filters support wildcards and boolean logic, letting you narrow down to lines containing a particular string or matching several conditions at once. angle-grinder is designed to be fast. The README notes it can process over one million log lines per second for simple queries and up to five million for the most straightforward cases. This makes it practical for working with large log files where opening them in a text editor would be impractical. The tool is written in Rust and available through Homebrew on macOS, package managers on Linux and FreeBSD, and as a pre-compiled binary. It can also be installed via Cargo, Rust's package manager. The command is called agrind and supports a self-update flag to stay current without reinstalling.
A fast command-line tool for querying and summarizing log files in real time, filter, group, count, and calculate percentiles on JSON, logfmt, or plain text logs at over a million lines per second.
Mainly Rust. The stack also includes Rust.
Open-source, check the repository for the specific license, but freely available for personal and commercial use.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Verify against the repo before relying on details.