8 posts tagged with "tracing"

View All Tags

Recap.Dev Now Traces Sails.js Applications

Arseny Yankovski

Arseny Yankovski

Lead Architect @ eMarketeer

We're happy to announce that one of the popular Node.js frameworks, Sails.js, gets the love it deserves from us. And it comes in the form of a hook that will automatically trace your application.

It means tracing your application with Recap.Dev requires no code changes at all. Just install the hook and point it to your Recap.Dev server. Why would you do that? Here's an article giving you five good reasons. Basically, it helps you understand your application and how much time various operations took while serving a particular request.

Click here to learn how to get started with Recap.Dev

5 Reasons to Use Recap.Dev

Arseny Yankovski

Arseny Yankovski

Lead Architect @ eMarketeer

Whatever your application stack is, you will benefit from better observability of your system. Setting up tracing is probably one of the easiest ways of doing just that. At Recap.Dev, we strive to provide an easy way to improve application stability while providing a nice experience to our actual users - engineers of all sorts.

Let me walk you through a couple of main benefits I found while using Recap.Dev. Yes, we're using it ourselves.

Tracing System as an Application Operations Log

Arseny Yankovski

Arseny Yankovski

Lead Architect @ eMarketeer

Imagine you have a big backend system. It performs a lot of operations each day. Let's face the inevitable — some of them will result in an error. Some of them you can ignore, some you'll learn about too late, and some might result in a loss of important data or system downtime.

Let's talk about different kinds of operations and errors and how a tracing system helps developers with all of them.

Recap.Dev Now Supports Tracing Vercel Functions and Netlify Functions

Arseny Yankovski

Arseny Yankovski

Lead Architect @ eMarketeer

Vercel and Netlify functions are some of the most popular solutions when it comes to the Jamstack backend.

In a survey conducted by O'Reilly in June 2019, 30% of the respondents named harder debugging, and 25% named observability to be the biggest challenges in adopting serverless technologies. In the same report, about 17% mentioned a lack of tools. It's not always easy to debug serverless applications.

If you're using Vercel or Netlify functions, it's even more challenging because there are even fewer tools available. No tracing tool supports these serverless platforms out of the box.

That's why we just released a new 1.12.0 version of the Recap.Dev JavaScript client, which exports two new wrapper functions: wrapNetlifyHandler and wrapVercelHandler. This allows tracing the Netlify Functions and the Vercel Functions serverless providers, respectively.

Function Level Tracing with TypeScript Transformer

Arseny Yankovski

Arseny Yankovski

Lead Architect @ eMarketeer

We just released a new recap.dev TypeScript transformer which will automatically wrap your functions and classes with the function-level tracing.

This provides a better alternative for the projects that are compiled with the TypeScript compiler or the ts-loader for Webpack, eliminating the need for Babel.

Check usage instructions here

Adding recap.dev to your application won't take more than 5 minutes.

Click here to learn how to get started with recap.dev

Improved NestJS Tracing with Recap.Dev

Arseny Yankovski

Arseny Yankovski

Lead Architect @ eMarketeer

We just released a new 1.9.0 version of the recap.dev JavaScript client which exports a new wrapNestJsModule function. Which when used like this:

import { NestFactory } from '@nestjs/core';
import { wrapNestJsModule } from '@recap.dev/client';
const app = await NestFactory.create(wrapNestJsModule(AppModule));

will record calls and their timings of the controllers and injectables in the NestJS module.

A recap.dev timeline with NestJS module wrapped

Debugging with Recap.Dev - a Case Study

Arseny Yankovski

Arseny Yankovski

Lead Architect @ eMarketeer

We created the recap.dev out of our need for better tracing tools. I personally use it in both personal and professional projects. Here's an example of how I used recap.dev to fix a bug in an experimental feature in one of my personal projects.

It all started when I was routinely going through error notifications recap.dev sent to my Slack.

A recap.dev error message saying the database table doesn't exists