Angle Grinder Versions Save

Slice and dice logs on the command line

v0.19.2

10 months ago

v0.19.1

10 months ago

What's Changed

Full Changelog: https://github.com/rcoh/angle-grinder/compare/v0.19.0...v0.19.1

v0.19.0

11 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/rcoh/angle-grinder/compare/v0.18.0...v0.19.0

v0.18.0

2 years ago

What's new

Tons of new features, all from @tstack:

Full Changelog: https://github.com/rcoh/angle-grinder/compare/v0.17.0...v0.18.0

v0.17.0

2 years ago

New this release:

  • 🐛 Fix split when used on wide unicode characters (#139)
  • 🎉 Add timeslice operator. This makes angle-grinder much more useful when working on timeseries data. (@tstack, #142)
  • Add syntax to escape field names (["field-\" name"]). This makes using angle grinder much more useful on data with spaces or other funky characters in columns. (@wfchandler, #146)
  • Use cargo diet to reduce the package size (@Byron, #143)
  • Bring dependencies up to date

Contributors:

  • @tstack
  • @Byron
  • @wfchandler

Thanks! ❤️

v0.16

3 years ago

This release primarily serves to resolve #130 to support building angle-grinder on Apple Silicon.

Additional changes:

  • Enable JSON output for aggregate data: -o=json/--output=json (#128)
  • Replace assert-rs with its successor assert_cmd to improve test performance especially on CI (#127)
  • Self-update is not a default feature anymore (#125)

v0.15-alpha1

3 years ago

Ignore, testing GH actions to generate a release

v0.15.0

3 years ago

Lots of new features:

  • Long awaited function support! You can now use a slew of functions anywhere that an expression is accepted. concat, contains, parseDate, and substring are useful for strings. Most math functions you can think of are there as well. (Huge thanks to @tstack)
  • Bug fix from v.014.0, division will now promote both values to floats (previous code used integer division in some cases). round can be used to get back the old behavior. (@rcoh)
  • Sort now accepts arbitrary expressions, eg. sort by length(message) . This is part of a larger effort to accept expressions anywhere that currently accepts a column name. One of the few remaining holdouts is the fields operator. (@rcoh)
  • count now supports an optional argument to conditionally count certain records: (@rcoh)
* | json | count(status == 200) as ok, count as all | ok / all as success_ratio

The build is running now & 0.15.0 has been pushed to crates.io -- binaries should be hot off the presses shortly.

v0.14.1

3 years ago
  • The expression is language is now much more powerful thanks to @tstack. Everywhere you can use expressions, you can now also use operators: (+, -, *, /). You can also create variables from existing variables using as
  • Assorted performance improvements, the biggest one (almost 2x!) came from switching to Jemalloc. (@rcoh)
  • parse is now slightly more flexible when...being parsed. Specifically, from can now come anywhere (@rcoh)
  • parse will consume any whitespace character when whitespace exists in the pattern. Technically a breaking change, but I don't expect this will break anything IRL. (@rcoh)

v0.13.0

4 years ago

This release adds 2 major new features:

  • Support for aliases -- predefined pipelines for specific formats like apache (@DarrenTsung) Add your own!
  • Support for structured output like JSON. The render pipeline has been refactored to enable adding more easily. These formats can be used with --output <mode>. Currently supported: json, logfmt, format=<rust fmt string> (@rcoh)

In addition:

  • Whitespace is now automatically trimmed from values. This is technically a breaking change. (@rcoh)
  • Add a basic benchmark suite to guide performance optimization. (@rcoh)

Users of v0.9.0 and later can upgrade with agrind --self-update