# Monitoring Node.js Using Datadog APM

DevFeed: [Monitoring Node.js Using Datadog APM](<https://devfeed.tech/articles/monitoring-node-js-using-datadog-apm-19840.md>)

Original publisher: [Read original article](<https://tech.gc.com/monitoring-node-js-using-datadog-apm/>)

Author: GameChanger

Published: 2020-01-29T19:36:34Z

Content type: tutorial

Language: en

Sources: [GameChanger](<https://devfeed.tech/sources/gamechanger.md>)

Topics: [Application Performance Management (APM)](<https://devfeed.tech/topics/apm.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [observability](<https://devfeed.tech/topics/observability.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [API](<https://devfeed.tech/topics/api.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>), [Traces](<https://devfeed.tech/topics/traces.md>), [Logging](<https://devfeed.tech/topics/logging.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [apm](<https://devfeed.tech/tags/apm.md>), [dashboards](<https://devfeed.tech/tags/dashboards.md>), [datadog](<https://devfeed.tech/tags/datadog.md>), [logging](<https://devfeed.tech/tags/logging.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [node](<https://devfeed.tech/tags/node.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [observability](<https://devfeed.tech/tags/observability.md>), [traces](<https://devfeed.tech/tags/traces.md>)

## AI overview

This article explains how GameChanger integrated Datadog APM to diagnose performance issues in a high-volume Node.js API server. It describes APM concepts, including request-level tracing, function calls, database queries, response tracking, dashboards, logs, and infrastructure monitoring, and briefly discusses the supporting Node.js client library and open-sourced utility code.

## Source excerpt

Intro GameChanger's Team Manager is built on top of a Node.js API server. Although we've had a lot of monitoring and logging throughout it's lifetime, most of our metrics were at an aggregate level. By alerting on symptoms, it was easy to spot that something was broken, but not necessarily what or why. With the server handling over 100 million requests per day, over 1000 per second, we needed a better way to drill into what the server was doing and figure out causes. Operating at that scale meant that local testing was at best an approximation of production realities. Integrating Datadog APM (Application Performance Monitoring) has solved a lot of our observability issues. It wasn't always straightforward to work with--some of the tooling isn't obvious and the documentation is all over the place--but now that things are up and running, it'd be hard to imagine a world without it. We've also open sourced some of the APM utility code we made along the way as an NPM package. Outline What is APM? What does Datadog provide? What challenges did we face? What doesn't Datadog provide? A feature wishlist Introducing @gamechanger/datadog-apm Conclusion What is APM? APM Stands for Application Performance Monitoring. It can take different forms from one offering to another, but it generally consists of breaking down what your server is doing while accomplishing a specific unit of work. For example, if your server offers an API, the APM will keep track of when a request starts, what functions are called to handle that request, what database queries are performed, and what the response is. A representative flame chart from Datadog's APM for one API request. In Datadog's words, APM "provides you with deep insight into your application's performance - from automatically generated dashboards for monitoring key metrics, like request volume and latency, to detailed traces of individual requests - side by side with your logs and infrastructure monitoring". What does Datadog provide? In ad