Should You Use Ruby on Rails or Hanami?

Let's explore the strengths and weaknesses of Rails and Hanami. | Continue reading


@blog.appsignal.com | 4 days ago

Deep Diving Into the Erlang Scheduler

Let's see how Erlang's scheduler works internally and dissect some of its key components. | Continue reading


@blog.appsignal.com | 5 days ago

Introducing Support for Apollo Gateway

You can now use AppSignal to proactively monitor your Apollo Gateway services. | Continue reading


@blog.appsignal.com | 10 days ago

Handling Exceptions in Grape for Ruby

Grape is a popular Ruby framework for building RESTful APIs. Let's explore the basics of Grape exception handling, including customizing exceptions. | Continue reading


@blog.appsignal.com | 11 days ago

Measuring Node.js Performance in Production with Performance Hooks

In the second and final part of this series, we'll apply performance hooks to a real-world scenario. | Continue reading


@blog.appsignal.com | 11 days ago

How to Implement Rate Limiting in Express for Node.js

We'll explore the ins and outs of rate limiting and see why it's needed for your Node.js application. | Continue reading


@blog.appsignal.com | 25 days ago

How to Use Flume in your Elixir Application

Let's learn how to handle background jobs in Elixir with Flume. | Continue reading


@blog.appsignal.com | 26 days ago

Tracking Custom Metrics in Python with AppSignal

Level up your Python monitoring insights with AppSignal's custom metrics. | Continue reading


@blog.appsignal.com | 1 month ago

Track Errors in FastAPI for Python with AppSignal

We'll make use of AppSignal to track errors in FastAPI. | Continue reading


@blog.appsignal.com | 1 month ago

Building Serverless Apps with the AWS CDK Using TypeScript

Let's build a Lambda function, an AWS Gateway API, and an S3 bucket to upload CSV files. | Continue reading


@blog.appsignal.com | 1 month ago

Good Database Migration Practices for Your Ruby on Rails App using Strong Migrations

Let's explore Strong Migrations, a gem that can help you maintain good practices with your database migrations in Ruby on Rails. | Continue reading


@blog.appsignal.com | 1 month ago

Direct File Uploads to Amazon S3 with Phoenix LiveView

Let's explore how you can upload from Phoenix LiveView directly to Amazon S3. | Continue reading


@blog.appsignal.com | 1 month ago

AppSignal's 2024 Ruby Event Sponsorships

At AppSignal, we've always been heavily invested in the developer community, especially the Ruby scene, since most of the team comes from a Ruby or Rails background. It was great meeting so many of you at Rails World 2023. While we can't personally attend every conference … | Continue reading


@blog.appsignal.com | 1 month ago

Node.js Performance APIs: An Introduction

Node.js offers a rich set of performance data through its APIs, similar to how modern web browsers expose performance metrics for webpages. With tools like the Performance Measurement API and the perf_hooks module in Node.js, you can gain insights into your application's perf … | Continue reading


@blog.appsignal.com | 1 month ago

Turbo Streaming Modals in Ruby on Rails

In part one of this series, we used Hotwire's Stimulus and Turbo Frames to present modals in Rails. Now, we'll dive into another method we can use to present modals: Turbo Streams. What Are Turbo Streams in Ruby on Rails? Turbo Streams is a subset of Turbo. It allows us t … | Continue reading


@blog.appsignal.com | 1 month ago

Two-Factor Authentication Enforcement Now Available On All AppSignal Plans

We recently announced AppSignal Business Add-Ons, our alternative to pricy enterprise plans. The add-ons offered HIPAA BAA, Long-Term Log Storage, and Two-Factor Authentication Enforcement for an additional fee. However, after listening to feedback from our customers, we decided … | Continue reading


@blog.appsignal.com | 1 month ago

Active Record or Sequel: Which Best Fits The Needs of Your Ruby App?

When it comes to choosing an object-relational mapping (ORM) library for your Ruby application, Active Record is usually the favorite choice. It's an easy-to-use ORM library that allows for lots of data wrangling without resorting to SQL. All the same, you might wonder: "Is A … | Continue reading


@blog.appsignal.com | 1 month ago

Powerful Caching in Elixir with Cachex

Developers often initially look to the Elixir language and stack because it's known for being able to handle massive amounts of concurrent requests and scale easily. This makes Elixir a great choice for building highly performant applications. However, sometimes operations ar … | Continue reading


@blog.appsignal.com | 1 month ago

Top 8 Recent V8 in Node Updates

V8 is the most popular JavaScript engine on the planet, supporting technologies such as Chrome and Node.js. The pace of V8's development is impressive, with multiple code commits a day and major releases roughly every month. Keeping up with updates isn't easy, but you' … | Continue reading


@blog.appsignal.com | 2 months ago

Track Errors in Your Python Django Application with AppSignal

In this post, we will specifically look at using AppSignal to track errors in a Django application. We'll first create a Django project, install AppSignal, introduce some faulty code, and then use the AppSignal Errors dashboard to debug and resolve errors. Let's get start … | Continue reading


@blog.appsignal.com | 2 months ago

Hotwire Modals in Ruby on Rails with Stimulus and Turbo Frames

Modals are widely used on the web, but they are rarely built with accessibility in mind. When a modal is displayed, the background is dimmed visually but it's still visible to screen readers and keyboard-only users. In this post, the first of a two-part series, we'll look … | Continue reading


@blog.appsignal.com | 2 months ago

Creating Custom Exceptions in Elixir

Exceptions and exception handling are widely accepted concepts in most modern programming languages. Even though they're not as prevalent in Elixir as in object-oriented languages, it's still important to learn about them. In this article, we will closely examine exceptio … | Continue reading


@blog.appsignal.com | 2 months ago

Full-Text Search for Ruby on Rails with Litesearch

In this post, we'll turn to the last piece of the puzzle in LiteStack: Litesearch. As an example, we will equip a prompts index page with a search bar to query a database for certain prompts. We will generate a couple of fake records to test our search functionality against. … | Continue reading


@blog.appsignal.com | 2 months ago

Build an Idempotent API in Node.js with Redis

Let's dive into the ins and outs of idempotency, and create an idempotent API in Node.js using Redis. | Continue reading


@blog.appsignal.com | 2 months ago

Introducing AppSignal Business Add-Ons

Introducing the alternative to expensive all-encompassing Enterprise Plans: AppSignal Business Add-ons. With our Business Add-Ons, you only need to pay for the features that matter to you, giving you the additional features your organization needs with the same freedom and flexib … | Continue reading


@blog.appsignal.com | 2 months ago

A Deep Dive Into RSpec Tests in Ruby on Rails

In our last post, we looked at the basics of RSpec and explored how well it works with Behavior Driven Development in Ruby. Now, we will look at specific types of RSpec tests for different parts of a Ruby on Rails application. Let's dive straight in! Unit, Controller, and Int … | Continue reading


@blog.appsignal.com | 2 months ago

How to Build a Memory-efficient Elixir App with Streams

We have all encountered collections of data at some point when working on Elixir applications. These collections are very handy for storing, retrieving, and manipulating data using different data structures, making them very efficient in managing clean code. In this article, we&# … | Continue reading


@blog.appsignal.com | 2 months ago

Throttling a Kafka Queue in Node.js

Coming from an HTTP-only background, message queues look very fascinating. Unlike HTTP, you can just push events to the queue and move on. After all, they're a big part of what makes async communication possible between microservices. In this article, we'll take a look at … | Continue reading


@blog.appsignal.com | 2 months ago

An Introduction to Testing with Django for Python

We'll find out how to test a Django application with both unittest and pytest. | Continue reading


@blog.appsignal.com | 2 months ago

Behaviour Driven Development in Ruby with RSpec

RSpec is a library for writing and running tests in Ruby applications. As its landing page states, RSpec is: "Behaviour Driven Development for Ruby. Making TDD productive and fun". We will return to that last part later. This post, the first of a two-part series, will focus on in … | Continue reading


@blog.appsignal.com | 3 months ago

Build A Simple Tracing System in Elixir

In this post, the first of a two-part series, we'll cover how Elixir applications can be traced using OpenTelemetry and how macros can make this process super easy and streamlined. First, we'll talk about tracing and OpenTelemetry in Elixir. Then we'll improve our cus … | Continue reading


@blog.appsignal.com | 3 months ago

Dealing with CPU-bound Tasks in Node.js

Welcome to part two of our series on profiling and optimizing CPU-bound tasks in Node.js! In the first installment, we discussed the complexities of handling CPU-bound tasks in Node.js, shedding light on their impact on runtime performance and exploring various profiling techniqu … | Continue reading


@blog.appsignal.com | 3 months ago

Speed Up Your Ruby on Rails Application with LiteCache

In the fifth part of this series, we'll use LiteCache to speed up our Rails app. | Continue reading


@blog.appsignal.com | 3 months ago

Keep your Ruby Code Maintainable with Draper

Design patterns can help to simplify your codebase so you don't need to reinvent the wheel. In this post, we'll go into how to use Draper. But first, we will start with an overview of the decorator pattern and how to use it with Ruby's standard library. Let's get … | Continue reading


@blog.appsignal.com | 3 months ago

AppSignal’s Top 5 JavaScript Posts in 2023

As the year draws to an end, we are excited to share our top five most-read JavaScript articles in 2023! Top 5 JavaScript Posts in 2023 Multithreading with Worker Threads in Node.js Dive into multithreading and how to use worker threads in Node. Getting Started with Fastify for N … | Continue reading


@blog.appsignal.com | 4 months ago

AppSignal’s Top 5 Ruby Posts in 2023

As the year draws to an end, we're excited to share our top five most-read Ruby articles of 2023! Top 5 Ruby Blog Posts in 2023 Making the Most of Your Logs in Rails It's easy to get going with logging with Rails, but not so easy to master it. Discover how you can get th … | Continue reading


@blog.appsignal.com | 4 months ago

AppSignal’s Top 5 Elixir Posts in 2023

It's time for our yearly rundown of our top 5 best-performing Elixir posts. | Continue reading


@blog.appsignal.com | 4 months ago

What's New in Elixir 1.16

The Elixir 1.16 release candidate is out now, and it comes with some compelling improvements to diagnostics, documentation, and a few other enhancements that make Elixir an even better choice for developers. We'll dive into some of these changes and highlight Elixir's con … | Continue reading


@blog.appsignal.com | 4 months ago

Connecting React.js and StimulusJS with JavaScript Events

We recently added a "Getting started" page to the AppSignal, which shows new users a page filled with recommended steps to help them get the most out of their AppSignal experience. Some users enjoy having a helping hand when getting started with AppSignal, others prefer exploring … | Continue reading


@blog.appsignal.com | 4 months ago

Stream Updates to Your Users with LiteCable for Ruby on Rails

So far in this series, we have been exploring the capabilities of SQLite for classic HTTP request/response type usage. In this post, we will push the boundary further by also using SQLite as a Pub/Sub adapter for ActionCable, i.e., WebSockets. This is no small feat: WebSocket ada … | Continue reading


@blog.appsignal.com | 4 months ago

AppSignal Expands Monitoring Capabilities with Vector

Leverage AppSignal and Vector to get even deeper, high-impact performance insights. | Continue reading


@blog.appsignal.com | 4 months ago

Server-side Rendering with Next.js, React, and TypeScript

Let's run through the benefits of server-side rendering and set it up with Next.js, React, and TypeScript. | Continue reading


@blog.appsignal.com | 4 months ago

How to Use Shoulda Matchers with RSpec for Ruby on Rails

When writing tests in Rails, you should avoid repetition and have the right amount of tests to satisfy your use case. This article will introduce you to shoulda-matchers with RSpec for testing functionality in Rails. At the end of the post, you should feel confident about using s … | Continue reading


@blog.appsignal.com | 4 months ago

How to Deploy a Python Flask app with Heroku

Let's build a simple Flask app that is primed and ready to deploy to Heroku. | Continue reading


@blog.appsignal.com | 4 months ago

Advanced Multi-tenancy for Elixir Applications Using Ecto

Welcome to part two of this series. In the previous tutorial, we learned about multi-tenancy, including different multi-tenancy implementation strategies. We also started building a multi-tenant Phoenix link shortening app and added basic user authentication. In this final part o … | Continue reading


@blog.appsignal.com | 4 months ago

Monitor Solid Cache in Rails with AppSignal

AppSignal now supports Solid Cache, giving you the same deep cache performance insights you'd get from other Rails cache stores. In this blog post, we'll give you a quick tour of Solid Cache, and how you can benefit from monitoring your app's cache with AppSignal. Wha … | Continue reading


@blog.appsignal.com | 5 months ago

An Introduction to Profiling in Node.js

Let's discover how to identify and fix the root causes of your Node.js performance issues. | Continue reading


@blog.appsignal.com | 5 months ago

Keep Your Ruby Code Maintainable with Money-Rails

We will cover some best practices and common ways of handling money in your Rails app with Money-Rails. | Continue reading


@blog.appsignal.com | 5 months ago