AppSignal

Amsterdam, Netherlands
2013
Nov 29, 2022   |  By Marcos Ramos
Welcome to part one of this two-part series on debugging in Elixir and Erlang. In this post, we'll use several different tools and techniques to debug Elixir code. First, we'll get to know the demo project I created to showcase certain tools: dist_messenger. It's an Elixir project of a distributed messaging system that can be used directly on IEx. It allows users in different nodes to send and receive messages to each other.
Nov 23, 2022   |  By Julian Rubisch
Notifications are a typical cross-cutting concern shared by many web applications. The Noticed gem makes developing notifications fantastically easy by providing a database-backed model and pluggable delivery methods for your Ruby on Rails application. It comes with built-in support for mailers, websockets, and a couple of other delivery methods. We'll also examine the merits of using the CableReady gem for triggering system notifications in your Ruby on Rails application. Let's get into it!
Nov 23, 2022   |  By Nate Anderson
Architecting a maintainable, readable, and reliable codebase is important not only for the people who will work on the code after you, but also for your own sanity. I’ve worked on dozens of production Node.js backend services and will share my experience of architecture pitfalls to avoid when building yours.
Nov 16, 2022   |  By Kayode Oluwasegun
As unpleasant as they are, errors are crucial to software development. When developing an application, we usually don't have full control over the parties interacting with a program and its hosts (including operating system versions, processors, and network speed). It's important you have an error reporting system to diagnose errors and make errors human-readable. In this post, we'll first look at the two common types of errors.
Nov 15, 2022   |  By David Sulc
In our last post, we wrote a basic parser for phone numbers using Elixir. It was a bit simplistic since it didn't really respect the format phone numbers are expected to have, but it was a great start. We'll now improve the parser to ensure we only accept phone numbers that fit the spec and make our return type an instance of structured data. Let's dive straight in!
Nov 15, 2022   |  By Camilo Reyes
The Node.js team recently announced the release of version 19. This has the following features: In this article, we will explore the major highlights of this release. We recommend downloading the latest Node.js 19 release to follow along. To verify your version of node: Let's get started!
Nov 9, 2022   |  By Sapan Diwakar
Today we will dive into some strategies you can use to scale Ruby on Rails applications to a huge user base. One obvious way of scaling applications is to throw more money at them. And it works amazingly well — add a few more servers, upgrade your database server, and voila, a lot of the performance issues just go poof! But it is often also possible to scale applications without adding more servers. That's what we will discuss today. Let's get going!
Nov 9, 2022   |  By Geshan Manandhar
The easiest way to understand asynchronous code is to realize that the code does not execute sequentially. This can be difficult to comprehend in JavaScript, especially if you come from a programming language that's synchronous or sequential by default, like PHP. In this post, you will learn how to write async (also known as 'non-sequential') code in JavaScript efficiently. You'll learn the basics of using callbacks, promises, and the modern async/await style. Let's get started!
Nov 2, 2022   |  By Nikola Đuza
Version 13 of Next.js, a well-established React framework from the Vercel company, was released last week. The announcement was made at the Next.js Conf and took the community by storm. Developers worldwide spread the news about the features and goodies announced live on October 25th. Now, as the dust slowly settles, we can go through what's new in Next.js 13.
Nov 1, 2022   |  By Sophie DeBenedetto
In this post, we'll use two of Elixir's most powerful features - pattern matching and recursion - to sanitize a string by removing invalid Unicode "Specials" characters. Let's dive straight in!

Made for teams that want to build high quality Ruby and Elixir applications, AppSignal offers amazing insights into errors and performance issues, plus host monitoring and an easy to use custom metrics platform.

AppSignal supports the Elixir language with an Elixir package. The package supports pure Elixir applications and frameworks including Phoenix, Plug & Erlang.

AppSignal supports the Ruby language with a Ruby gem. The gem supports many frameworks and gems including Capistrano, DataMapper, Delayed Job, Grape, MongoDB, Padrino, Rack, Rake, Resque, Ruby on Rails, Sequel, Shoryuken, Sidekiq, Sinatra & Webmachine.

AppSignal now supports Node.js! The package supports pure JavaScript applications and TypeScript applications, and can auto-instrument various frameworks and packages with optional plugins.

AppSignal also has amazing support for catching errors from Front-end JavaScript applications and sending them to AppSignal, including the React, Vue, Angular, Ember, Preact & Stimulus frameworks.

Packed with features:

  • Alerts in your tools: AppSignal integrates with Slack, Flowdock, HipChat, OpsGenie and more.
  • Control your notifications: AppSignal notifies you exactly when you want to. Get the first exceptions per deploy, all of them of never. Set thresholds for performance notifications.
  • Amazing support: We don't do "first line" and "second line" support: you get to speak with a developer, immediately.
  • Send to issue trackers: A single click creates an issue with all the necessary details in your issue tracker of choice.
  • Manage teams and users: Add users to teams and give them access to specific or all, existing and/or new applications you monitor.
  • Focus on design: Developer tools do not need to be complicated and ugly. Our interface is kept clean and easy to use.

Catch errors, track performance, monitor hosts, detect anomalies — all in one tool.