Using OpenTelementry to trace a SaaS application

Brad Beighton
8 min readAug 28, 2023

I just want to start off this article by saying, that I didn’t plan to write about this topic. I assumed adding tracing into an Application would be simple enough that it wouldn’t need a full article. Especially if you read guides that essentially say “Just install the package, write some code and it’ll work”. Well, it didn’t. You’re wrong, and from reading GitHub issues (one of which was raised by me), it's clear that it's not that simple and a few people have issues with little to no resolution. I was able to trace most things in my application such as gRPC calls, and HTTP calls, but some key areas that are key to really highlight issues in the application weren’t tracing, those being MongoDB (Mongoose) and Redis (IORedis).

Thankfully I did manage to get tracing working for these areas and all areas of my stack for that matter, and I will explain how below.

A developer researching tracing — Generated by AI

But first

What is tracing? Tracing is important for any application, understanding what is happening, what's performing well, and what’s performing poorly, what is or isn’t working, and how the different areas of the application are communicating.

In most cases, tracing is only normally implemented when things aren’t going well. Completely understandable, as taking time out of new feature development to implement something…

--

--

Brad Beighton

I am a Solution Architect for a global workplace management SaaS product. I craft innovative solutions that enhance productivity and user experiences.