Your wishes are being granted. Search is now available for all AppSignal customers. 🎉
You can now quickly find specific samples inside of AppSignal. This is especially useful when searching for an error/slow request for a particular customer in a specific revision or request ID. You can access the search in AppSignal from any screen in an application. It’s located in the dark top bar. Let’s take a look at the new search in action:
The Developer Is In the Details
Our main sample storage is on MongoDB. Sadly, MongoDB isn’t great with full-text search needed for certain fields. It also lacks performance when performing (wildcard) matches on words. This is why we built this feature from scratch on top of a new ElasticSearch cluster. This allowed us to think about the details that developers appreciate. We’ve made our search easy to use, powerful and versatile. Here's how:
Indexing Lots of Data
We’re indexing lots of data by default (see the list below). Note that you can add custom tags, such as a customer_id, for additional data to search through.
- Action name
- Error name
- Error message
- Request ID
- Your custom tags
Scoping & Filtering Results
If you know from a customer report where and when an error happened, you can use the filter to scope down the results. Filter by which application, namespace and timeframe you want to see results, and you'll find that needle in a haystack with ease.
To help you learn the search syntax, we’ve added a filter dropdown. This button assists you by prefilling the search bar with the correct search syntax. Oh, and of course you can combine queries to filter down results even more.
Performance, URLs and Ghost Queries
- The search should be performant, even for large datasets. Speaking of performance, we’re obviously monitoring the speed of your searches with AppSignal ;-)
- Every search query has a URL. This makes it possible for you to share it with colleagues or bookmark it for future use. We use it ourselves to link to a search query from our admin panel with the customer_id prefilled.
- Implementing a new search cluster when you’re processing 100 billion requests a month isn’t easy. We used a technique called “ghost queries” to test the performance at scale. A blog post about this technique will follow soon!
You Found the Sample, Now Find the Cause
Once you've found an individual sample that you want to debug, you can start looking for the root cause. Our error and performance reports offer debugging data like the backtrace, tags, error message (for errors) and event timeline (for performance issues). You'll also get context for that sample by showing you server information (like CPU, Disk and network), and what other issues occured in that timeframe (errors, performance, anomalies). We pull in as much related data as possible to give you a complete picture of what went wrong.
Monitoring Can Be Easier
AppSignal provides easy to use monitoring for your apps so you can make them fast and stable. We want to help you make your day as a developer easier: Search should help you dive into the details of issues much faster than before. The next time the bits hit the fan, we hope you’ve saved some valuable time (and frustration).
If you're not using AppSignal yet, please give it a try — our trial is free for 30 days and you'll have it set up in minutes. Thousands of teams and companies tried it and trust us to monitor their Ruby, Elixir, and Node.js apps.