The Diagnose: How Support Works at AppSignal

Adam Adam Yeats, Milica Maksimović on

Setting up AppSignal isn’t as complex as rocket science. Developer experience is really important to us, as AppSignal started as a way to scratch our itch. We also put a lot of effort in providing you with a first-class developer support. In fact, our developers are the ones answering all of your your technical questions.

This is why we’ve added a diagnose tool to our Node.js integration. In cases when things don’t “just work”, as they should out of the box, this tool will enable you to find your way around or send our support all the info needed to sort things out.

Support at AppSignal 🤝

We take support requests very seriously and since all of our users are developers, all the technical questions are answered by our team of developers. We’ve recently added Shairyar to our team as another support engineer in order to make sure you always get the treatment you deserve.

We’ve already written a bit about how our team shares the responsibility for all the incoming support requests. The gist of it is — we won’t waste your time by putting you on a line with an account manager or a bot who will forward you some generic links to docs. We always have an engineer on the line, or as we prefer to say “shibboleet by defaut”.

Shiboleet by default

xkcd is a source of inspiration for AppSignal 😀

What is Diagnose?

Setting up AppSignal for the first time is also the time when most people reach out to our support. By default, with AppSignal most things work out of the box. However, there are a lot of ways to set up an app, and with some cool yet funny setups, things break and bits hit the fan.

When this happens, you can reach out to our support team to see what you can do. Or, if you’re the type of person who likes to figure things on their own, this tool will help you find the root of the problem.

Diagnose generates a report which points to the root of the problem, making it easier to change the app’s configuration and get AppSignal running again.

How to Use Diagnose?

Inside your project, after you have installed the @appsignal/nodejs module, you can run the following script:

npx appsignal-diagnose

Behind the scenes, the script will collect some useful information about your environment. Once this information is collected, it is written out to the console.

It’s worth noting that as you would normally use either environment variables or an options object passed to the Appsignal constructor in your code (or a combination of the two), we can only look for your configuration in the environment variables.

At the very least, the APPSIGNAL_PUSH_API_KEY environment variable must be set before the diagnose command can be run. If this isn’t set in your environment already, you can also set it at runtime:

APPSIGNAL_PUSH_API_KEY="<PUSH API KEY HERE>" npx appsignal-diagnose

Once we’ve received the diagnose report, you’ll see a diagnose report URL:

Diagnose report URL

Once you have that, you can give it to our support team, who can take a look at your report and help you debug the issue. Optionally, you can download and use this report to figure out (on your own) which parts of the environment settings are causing you trouble. Whatever you prefer 😊

Game On!

In the coming weeks, we’ll add more improvements to our Node.js integration, and we’ve already automated a lot of things for you, so you can focus on what matters the most - your app. 🏎

Did you know that AppSignal is free for open source projects? If you have one, or know someone who might love having a powerful APM by their side, let them know!

For commercial projects, we have a 30 day free trial and a box of stroopwafels for everyone who gives us a shot! Once you have everything set up and you’re pushing data to AppSignal, email us, and the 🍪 will be on their way.

10 latest articles

Go back
Ruby magic icon

Subscribe to

Ruby Magic

Magicians never share their secrets. But we do. Sign up for our Ruby Magic email series and receive deep insights about garbage collection, memory allocation, concurrency and much more.

We'd like to set cookies, read why.