Application trace monitoring

ServicePilot apptrace-appservice-nodejs

What is Node.js AppTrace monitoring?

Node.js is an asynchronous event-driven JavaScript runtime designed to build scalable network applications. Node.js applications are often built on a base of Node Package Manager (npm) packages sourced from its online repository. ServicePilot provides a production application monitoring package, Appservice NodeJs, which aims at being the first step to any application improvement and operational performance reporting.

Node.js has its own best practices and tools for assessing performance while in a development phase, but unlike development, Node.js production application monitoring differs. Doing code level profiling has an inevitable cost and performance tradeoff. Plus, production engineers do not always understand the intrecacies of each production application with a dedicated development team on demand, which is why ServicePilot application instrumentation simplifies the instrumentation of Node.js apps with a few simple steps.

ServicePilot standard Node.js production application monitoring is the monitoring of real user experience, every single business transaction, and application usage metrics, regardless of the application code.

In order to provide a real full-stack performance visibility over your Node.js application, several packages can be added to fill in application topology maps, testing or application dependencies monitoring: Web Servers, Node.js monitoring, Databases, logs, HTTP(S) web tests and scenario and more.

Node.js Application Trace monitoring

This package monitors HTTP(S) transaction traces from Node.js applications.

This package uses a ServicePilot Agent in combination with the dd-trace Node.js package to instrument Node.js applications to automatically collect their web transactions statistics.

This gathers summarized statistics (min,max,avg...) per Node.js application such as:

  • Requests per minute
  • Sum of transactions by HTTP return codes and methods
  • Number of transactions in each response time range
  • Established vs. Timed-out transactions

In order to provide deep Node.js application insights, details collected per transaction include:

  • Host and web page path
  • Server and client IP
  • Real User Response time
  • HTTP Return code and method
  • Client country and geolocation for public IPs