We’ve just released the Skylight Agent 2.0 Beta and we’re excited to have you give it a try! The most significant changes are a completely rewritten SQL Lexer and removal of support for unsupported versions of Ruby, Rails, and other libraries. Read on to learn more or just go ahead and give it a try now.
Rewritten SQL Lexer
The Agent now supports a brand-new pure-Rust SQL lexer. For you, this means we can parse more types of queries successfully. If you had problems with queries that would only show up as “SQL” in the Event Sequence, you may see some improvements. For us, this means better maintenance and a higher likelihood that we’ll be able to support your interesting queries in the future!
The improvements were made possible by switching to lalrpop, a parser generator framework for Rust. Previously, we had been using Ragel compiled to C which was wrapped in Rust. While very fast, Ragel had a difficult syntax which made it hard for us to make changes. Furthermore, due to the way Ragel’s code generation works, code size began to grow exponentially as we added more types of syntax to our lexer. Thankfully, lalrpop solves both of these problems for us!
Dropped Support for Old Ruby, Rails, etc.
We also decided that 2.0 was a good time to drop support for old libraries that are no longer supported by their maintainers. This means that versions of Ruby prior to 2.2, Rails prior to 4.2, and other libraries considered EOL by their maintainers are no longer tested or expected to work. If you’re stuck on an older version, our 1.x agent will continue to work for the time being, but we really recommend that you try to upgrade those dependencies!
If, for some reason, you decided to read this even though you aren’t a Skylight user, you should become one! If you are already using Skylight, consider referring a friend to try out the latest goodness, and get a $50 Skylight credit for both of you!