Six months ago I attempted to get OpenTelemetry (OTEL) metrics working in JavaScript, and after a couple of days of getting absolutely no-where, I gave up. But here I am, back for more punishment... but this time I found success! In this article I demonstrate how to instrument a Node.js application for traces using OpenTelemetry and to export the resulting spans to Jaeger. For simplicity, I'm going to export directly to Jaeger (not via the OpenTelemetry Collector).
Node.js logging is an important part of supporting the complete application life cycle. From creation to debugging to planning new features, logs support us all the way. By analyzing the data in the logs, we can glean insights, resolve bugs much quicker, and detect problems early and as they happen. In this post, we will talk about the who, what, when, where, how, and why of Node.js logging. Later in this post, the “how” section will give insights into using code.
Production bugs slow down velocity and often affect the complete trajectory of your release roadmap. It helps if you have a robust error tracking setup to rely on. In this article, we'll look at how to make tracking errors in your Node.js application more convenient, automated, and safe. Let's begin!
In this age of complex software systems, code instrumentation patterns define specific approaches to debugging various anomalies in business logic. These approaches offer more options beyond the built-in debuggers to improve developer productivity, ultimately creating a positive impact on the software’s commercial performance. In this post, let’s examine the various code instrumentation patterns for Node.js.
Fastify is a cutting-edge web framework for Node.js that offers exceptional speed and efficiency. With its extensible plugin system, support for asynchronous programming, and focus on minimalism, it is an ideal choice for backend developers developing Node.js applications. But even the most performant web applications can encounter issues that are difficult to debug without the proper tools in place. We will explore how to use AppSignal for a Fastify application.
Change is the only constant in software, and few languages change like JavaScript. In just the last few years, we've had the rise of TypeScript and React, dozens of new frameworks, and Node.js has brought us over to the server-side. Google's V8, which powers Node.js, is one of the fastest JavaScript engines in existence. In simple benchmarks, well-optimized JS executed by V8 often performs almost at the same speeds as famously fast languages like C++. And yet, Node applications often seem to be pretty sluggish. This post aims to guide you through the process of measuring and improving Node.js performance.