Scale customer reach and grow sales with AskHandle chatbot

How to Fix Missing Spans and Transactions in Elastic APM Node.js Agent?

When working with Elastic APM Node.js agent, developers often notice that some spans or transactions fail to show up in the Kibana APM interface. This issue can be frustrating, especially when trying to monitor application performance effectively. Let's look at the common causes and solutions to fix missing spans and transactions.

image-1
Written by
Published onDecember 7, 2024
RSS Feed for BlogRSS Blog

How to Fix Missing Spans and Transactions in Elastic APM Node.js Agent?

When working with Elastic APM Node.js agent, developers often notice that some spans or transactions fail to show up in the Kibana APM interface. This issue can be frustrating, especially when trying to monitor application performance effectively. Let's look at the common causes and solutions to fix missing spans and transactions.

Common Causes

Missing spans and transactions usually stem from several key factors. The most frequent cause is incorrect configuration of the APM agent. When the agent isn't properly set up, it might fail to capture and report certain operations. Another typical cause involves asynchronous operations that aren't properly tracked or instrumented.

Configuration Verification

First, check if your APM agent configuration includes all required parameters. Here's a basic configuration example:

Javascript

Make sure you set the correct serverUrl pointing to your APM server. The serviceName should be unique and meaningful for your application. Setting active: true ensures the agent is running.

Handling Async Operations

Asynchronous operations need special attention. The APM agent might lose context if async operations aren't properly managed. Use the built-in utilities to maintain context:

Javascript

Custom Transaction Management

Sometimes you need to create custom transactions for better visibility. Here's how to manage custom transactions:

Javascript

Troubleshooting Steps

  1. Check APM Server Connection First, verify that your application can connect to the APM server. Look for connection errors in your application logs. Make sure firewalls or network policies aren't blocking the connection.

  2. Enable Debug Mode Turn on debug logging to see detailed information about what the agent is doing:

Javascript
  1. Verify Sampling Rate The sampling rate affects how many transactions are recorded. Check if your sampling rate is set too low:
Javascript

Best Practices

To ensure reliable span and transaction capturing, follow these practices:

  • Always end your spans and transactions explicitly
  • Use try-finally blocks to guarantee proper cleanup
  • Keep your APM agent version updated
  • Monitor your APM server health
  • Set appropriate buffer sizes for high-traffic applications

Additional Configuration Options

Fine-tune your APM agent with these settings for better visibility:

Javascript

These settings help capture more detailed information about your application's behavior and errors.

Performance Impact

While the APM agent is designed to have minimal impact, be mindful of extensive instrumentation in performance-critical paths. Use the transactionMaxSpans option to limit the number of spans per transaction if needed:

Javascript

This helps prevent memory issues while maintaining meaningful monitoring data.

The key to resolving missing spans and transactions lies in proper configuration, careful handling of async operations, and following established best practices. Regular monitoring and adjustment of these settings will

Create your own AI agent

Launch your first AI agent to support your customers in just 20 minutes

Featured posts

Subscribe to our newsletter

Add this AI to your customer support

Add AI an agent to your customer support team today. Easy to set up, you can seamlessly add AI into your support process and start seeing results immediately