Error tracking & performance insights for Ruby apps

Would you recommend this product?
1 Review5.0/5
@roy What's the history behind AppSignal? I know there are a couple of similar services out there: Sentry, Rollbar, Airbrake, ... What makes AppSignal different?
@ayrton TL;DR; AppSignal wants to offer the features like those from e.g. New Relic that you actually need to do your daily job, with a focus on actionable insights (and without per host pricing or annoying sales). The longer explanation: AppSignal is different in that it aims to offer a consolidated platform for exceptions, performance insights, custom metrics and hardware metrics. All of this presented in a clear UI that focuses on communicating what you need to know to get a job done (fixing an error, improving the performance of a page, check the custom graph for "cups of coffee had today"). We believe not having to switch between separate tools for errors and performance enables you to see the big picture, and often exceptions, performance issues and hardware issues are related too. Except for New Relic, pretty much all other services focus on errors (Sentry, Rollbar, Bugsnag, Airbrake, etc) or performance (Skylight). No service seems to tie them together, plus enable you to add custom metrics that could influence both. AppSignal's pricing is different too: it's based on the total number of requests processed for all apps and environments of an organization, as opposed to NR's per host pricing (which is kinda painful running an auto-scaling service oriented, containerized architecture...). And as for our history: AppSignal was initially developed as a side project at the Ruby consultancy I co-founded early 2005 (Rails 0.12 in production, fun times). For a time, there was only New Relic –which in my opinion isn't great at exceptions– followed by ExceptionNotifier, Hoptoad/Airbrake, and other services filling that void. But for long, no one seemed to get into the performance game and take a stab at something more focused on UI, UX and making it easier to get the job done. When we did, lots of people loved it and within a year we could pivot from consulting to focusing on AppSignal full time (now with a team of six). In the 15 minutes that it took me to write this, we processed over 10M requests in real-time. That's where we're at now, and I hope that's a satisfying answer to your questions. Happy to dive in deeper if there's something else you'd like to know!
Upvote (15)Share
@roy @ayrton I literally LOL'd at "Rails 0.12 in production, fun times" 😀
We've only been on Product Hunt for 6 hours and things are already going through the roof. As a thank you, we added coupon "producthunt" which is good for 10% off for 12 months (the first month is always free). Any questions (like how we got our name and .com)? Let me know :-)
@roy how'd you get your name and .com?
@joshschoen That took longer than I expected 😉 I don't think I ever told how I thought of the name, and I'm not even sure the rest of the company knows! So, it's late 2012 and I was "the name guy" at the consultancy where AppSignal was born (you know, the one that comes up with some great ideas, figures out all the .com's have been squatted, and then sits in a corner to quietly sob) and I took it upon myself to come up with a name for our new side project. We wanted something that explained what we did, had a .com we could register or buy and didn't require guessing the pronunciation. Through the power of association I started thinking of "in popular culture, how do we indicate that help is needed?" While building a list of names, I thought of Batman, who is summoned by the "bat signal", a beam of light with a bat shape in it that lights up the sky. So, bat signal... app signal! Though we can make a big deal out of it and pretend we made this huge list of names, narrowed it down to a shortlist of five followed by focus group testing... it literally boiled down to me pondering for no more than 15 minutes. Alright, so how about the .com? was registered, and it had been for a long time. As far as I can tell, it was first registered late 2004, released a few times, registered by a few domain squatters, and one of the latter currently owned it. While taking a second look at its whois record, I noticed that said squatter hadn't renewed the domain name 89 days and 14 hours prior. That's when it went into its 90 day quarantine period, and I found out about it 10 hours before it would be unregistered again! We didn't want to take any chances, so we signed up for a service that hammers "the system" directly when a domain name comes out of quarantine. That way we wouldn't have to stay up all night to manually fill out a form as quickly as we could, not knowing if someone else was doing the same. It wasn't free though... said service charged us a hefty $50 service fee and a $19 one year registration fee. The next morning I woke up to an email that we secured this 8 year old domain name for just $69, on the same day we came up with the name. We took it as an omen and named our service AppSignal. Serendipity, anyone? 🙌🏻
@roy haha, cool story– thanks! And congrats; it is a great domain indeed :)
@roy I had one follow up question, how do you go about emails? With alternative solutions I have experience with, they just send an email per occurred exception, which can easily get way too noisy.
@ayrton Agreed, that's why right now we have three settings: send an email every occurrence, the first time after a deploy, or never at all ("Email" can also be Slack notification, PagerDuty alert, etc). You can set your desired default and change it for every exception or performance issue individually. Right now we're working on a secret project, but I'm sure I can share it in this secure space. It's called "Hector" internally, and it's going to be a smart way to detect if something is out of the ordinary. This enables you to say "notify me on Slack for every occurrence, but wake me up through PagerDuty if the error rate for this action is > 1%". And that's only the beginning... PS: "On every occurrence" has a cool-down period of 5 minutes nowadays, which means an email/alert every 5 minutes even if it occurs 10 times per second. We changed this after an exception indeed happened 10 times per second for a customer, and we dossed Gmail 😳
I've been using AppSignal for a little while now and I cannot imagine working without it. Their support is awesome, the interface is super clean and it was so easy to get it up and running.
@zenricus Thanks Henry! All of our customers are the best, but you are the bestest 😍 I'm really tempted to send you more stroopwafels right now 😉
What's the difference between AppSignal and Skylight for example?
@sebastianalmnes Hi Sebastian! In short: feature set and pricing. Where Skylight offers only specific performance insights for Ruby apps, AppSignal also covers exceptions, custom metrics, hardware metrics and then some. Skylight hasn't announced plans to branch out as far as I know, while we're actively working on a complete Elixir integration for instance (Phoenix support is in alpha right now). Many of our customers have a broader stack than just Ruby, and we believe that having one platform to track requests through your stack is important. Aren't there any reasons to stay with Skylight then? Sure there are. If you're only looking for performance insights, there's no need to spend your days on a platform with features you wouldn't use, like exception tracking. Skylight has a free tier which we don't have, which could be a consideration for your side projects. They visualize some data in a different way than we do; sometimes by choice because we feel the different way works better, and sometimes because we haven't gotten around to improving a feature based on customer feedback (which is an ongoing effort). As for pricing, Skylight is one of the few competitors that also uses a request based pricing model, though at a slightly different level. E.g. 3M monthly requests are 18% more affordable at AppSignal, from 25M requests onwards that's going to be around 27%. I don't know anything about their high volume pricing, but I think the gap is going to get bigger once request counts increase.