Let's explore the strengths and weaknesses of Rails and Hanami. | Continue reading
Let's see how Erlang's scheduler works internally and dissect some of its key components. | Continue reading
You can now use AppSignal to proactively monitor your Apollo Gateway services. | Continue reading
Grape is a popular Ruby framework for building RESTful APIs. Let's explore the basics of Grape exception handling, including customizing exceptions. | Continue reading
In the second and final part of this series, we'll apply performance hooks to a real-world scenario. | Continue reading
We'll explore the ins and outs of rate limiting and see why it's needed for your Node.js application. | Continue reading
Let's learn how to handle background jobs in Elixir with Flume. | Continue reading
Level up your Python monitoring insights with AppSignal's custom metrics. | Continue reading
We'll make use of AppSignal to track errors in FastAPI. | Continue reading
Let's build a Lambda function, an AWS Gateway API, and an S3 bucket to upload CSV files. | Continue reading
Let's explore Strong Migrations, a gem that can help you maintain good practices with your database migrations in Ruby on Rails. | Continue reading
Let's explore how you can upload from Phoenix LiveView directly to Amazon S3. | Continue reading
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
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
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
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
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
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
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
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
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
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
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
Let's dive into the ins and outs of idempotency, and create an idempotent API in Node.js using Redis. | Continue reading
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
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
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
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
We'll find out how to test a Django application with both unittest and pytest. | Continue reading
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
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
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
In the fifth part of this series, we'll use LiteCache to speed up our Rails app. | Continue reading
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
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
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
It's time for our yearly rundown of our top 5 best-performing Elixir posts. | Continue reading
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
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
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
Leverage AppSignal and Vector to get even deeper, high-impact performance insights. | Continue reading
Let's run through the benefits of server-side rendering and set it up with Next.js, React, and TypeScript. | Continue reading
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
Let's build a simple Flask app that is primed and ready to deploy to Heroku. | Continue reading
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
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
Let's discover how to identify and fix the root causes of your Node.js performance issues. | Continue reading
We will cover some best practices and common ways of handling money in your Rails app with Money-Rails. | Continue reading