High cardinality on APM spans

Kibana version: 8.5.1

Elasticsearch version: 8.5.1

APM Server version: 7.*

APM Agent language and version: Node js 20

Browser version: Chrome

Original install method (e.g. download page, yum, deb, from source, etc.) and version: Helm

Fresh install or upgraded from other version? Fresh

Is there anything special in your setup? For example, are you using the Logstash or Kafka outputs? Are you using a load balancer in front of the APM Servers? Have you changed index pattern, generated custom templates, changed agent configuration etc.

Yes

I am getting very high cardinality on the span names.

for example, If I have a route called /drugs/:drug-slug in that case I am getting span names of all the complete URLs like

drugs/123
drugs/3fsfdsf
drugs/dfdagxvvwe
drugs/daexxd

I am using 3rd party vendor to collect the APM data traces.

And each of these spans , show the latency and requests of each URL and not cummulative of the /drugs which is causing my collector to go down. Also I can see that because of this issue , the load on my system is increasing.

Hi @Rajat_Gupta1

If you want these spans to have the same name you can use filters to modify spans before being sent and change its data.

And each of these spans , show the latency and requests of each URL and not cummulative of the /drugs which is causing my collector to go down.

I think I did not understand completely. Do you expect the agent to aggregate the data for all the requests in /drugs/:drug-slug path and send this summary to your 3rd party collector?

Cheers

Hi David, So basically let's consider a route defined in my Nodejs application

/drugs/:drug_id

and another route
/location/:location_id

When a user clicks on the drugs button, the code , sends an api call to backend service, with let's say an example id of "paracetamol_123" and "ibuprufin_637", so the spans should be created under

/drugs
not under

/drugs/paracetamol_123
/drugs/ibuprufin_637

Similarly in case of /location span it should be under /location
not

/location/delhi
/location/new_york

and so on.

@Rajat_Gupta1 Are you using a web framework such as Express or Fastify or Hapi for creating your routes? The Node.js APM agent will automatically detect the routes and create transaction (entry span) names using the route name -- e.g. GET /drigs/:drug-slug rather than the raw URL GET /drugs/123. That is typically how the cardinality issue is managed.

It isn't clear to me from what you said if you are even using our Node.js APM agent (elastic-apm-node). Can you perhaps show some example code from your app and give us an idea of what packages are involved? Thanks.

Hi @trentm

Yes We are using express framework for creating routes.

We have built a debug app to do the same.

var express = require('express');
var router = express.Router();

/* GET otc listing. */
router.get('/', function(req, res, next) {
  res.send('respond with a resource');
});
router.get('/:id', function(req, res, next) {
    res.send("URL path:" + req.params.id);
  });
module.exports = router;
var express = require('express');
var router = express.Router();

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express Based Debug App' });
});

module.exports = router;

these are sample routes.

For idea to get what packages are involved

{
  "name": "express-basic-app",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www"
  },
  "dependencies": {
    "cookie-parser": "~1.4.4",
    "debug": "~2.6.9",
    "elastic-apm-node": "^3.11.0",
    "express": "~4.16.1",
    "http-errors": "~1.6.3",
    "jade": "~1.11.0",
    "morgan": "~1.9.1"
  }
}

@Rajat_Gupta1 Here is an "express-basic-app", working from the example code you provided in your last comment. When using the latest Node.js APM agent 3.x version -- elastic-apm-node@3.50.0 -- I get the expected behaviour: the transaction names use the route name GET /a/:id.

% pwd
/Users/trentm/tmp/express-basic-app

% tree --gitignore
.
├── bin
│   └── www
├── lib
│   ├── a.js
│   └── home.js
├── package.json
└── views
    └── index.jade

package.json

{
  "name": "express-basic-app",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www"
  },
  "dependencies": {
    "cookie-parser": "~1.4.4",
    "debug": "~2.6.9",
    "elastic-apm-node": "^3.11.0",
    "express": "~4.16.1",
    "http-errors": "~1.6.3",
    "jade": "~1.11.0",
    "morgan": "~1.9.1"
  }
}

bin/www

#!/usr/bin/env node

// Start APM before any other imports.
var apm = require('elastic-apm-node').start({
    // TODO: configure serverUrl and secretToken here
});

var express = require('express');
var home = require('../lib/home');
var a = require('../lib/a');

var app = express();
app.set('views', './views');
app.set('view engine', 'jade');
app.use('/', home);
app.use('/a', a);
app.listen(3000, () => {
    console.log('listening');
});

lib/home.js

var express = require('express');
var router = express.Router();

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express Based Debug App' });
});

module.exports = router;

lib/a.js

var express = require('express');
var router = express.Router();

/* GET otc listing. */
router.get('/', function(req, res, next) {
  res.send('respond with a resource');
});
router.get('/:id', function(req, res, next) {
  res.send("URL path:" + req.params.id);
});
module.exports = router;

views/index.jade

html
  head
    title= title
  body
    h1= message

I run the service:

% npm start

> express-basic-app@0.0.0 start
> node ./bin/www

{"log.level":"info","@timestamp":"2023-10-30T17:13:48.899Z","log.logger":"elastic-apm-node","ecs.version":"1.6.0","agentVersion":"3.50.0","env":{"pid":97382,"proctitle":"node","os":"darwin 22.6.0","arch":"x64","host":"pink.local","timezone":"UTC-0700","runtime":"Node.js v16.20.2"},"config":{"serviceName":{"source":"default","value":"express-basic-app","commonName":"service_name"},"serviceVersion":{"source":"default","value":"0.0.0","commonName":"service_version"},"serverUrl":{"source":"default","value":"http://127.0.0.1:8200/","commonName":"server_url"},"logLevel":{"source":"default","value":"info","commonName":"log_level"}},"activationMethod":"require","message":"Elastic APM Node.js Agent v3.50.0"}
listening

Then I made a number of requests to it:

curl -i localhost:3000/ >/dev/null
curl -i localhost:3000/a >/dev/null
curl -i localhost:3000/a/id1 >/dev/null
curl -i localhost:3000/a/id2 >/dev/null
curl -i localhost:3000/a/id3 >/dev/null
curl -i localhost:3000/a/id4 >/dev/null

The resultant APM trace data sent are (summarized to a text view):

trace 093976
`- transaction 70df92 "GET /" (152.242ms, GET http://localhost:3000/ -> 200)
    `- span 458794 "jade" (16.007ms, jade, sync)
    `- span a854d8 "jade" (0.193ms, jade, sync)
trace 3a0af4
`- transaction ba3d9d "GET /a" (1.056ms, GET http://localhost:3000/a -> 200)
trace 4855c4
`- transaction 582384 "GET /a/:id" (1.129ms, GET http://localhost:3000/a/id1 -> 200)
trace 501697
`- transaction dac748 "GET /a/:id" (0.916ms, GET http://localhost:3000/a/id2 -> 200)
trace 9bb357
`- transaction 0ac03a "GET /a/:id" (0.962ms, GET http://localhost:3000/a/id3 -> 200)
trace 24da37
`- transaction 195275 "GET /a/:id" (0.729ms, GET http://localhost:3000/a/id4 -> 200)

In the Kibana APM app it looks like this:

Are you able to see how your running example differs from mine?
What version of elastic-apm-node are you using? There was a fix for Express routing in v3.36.0.

If you are unable to spot a different, turning on debug logging -- logLevel: 'debug' -- running the example with some test requests and then showing us the debug log output from the APM agent could help us figure out what is happening.

Hi @trentm

The App you sent behaves as expected.

The elastic-apm-node being used is 3.5.0.

When I am running the sample app I have created, I am getting disrupted behaviour.

If you can send me your email ID , I can send you my code base.

1. nvm use 20.4.0 // for setting node js version to 20.4.0 if multiple node versions are present on the system
2. npm i // for package installation
3. npm start // for starting express server


For auto-hitting the server with dynamic urls 100 times run the following file:
node autohitscript.js

Inside config.json you can change server url to point to your elastic index.

Here are logs that are printed by my app with debug mode on as you requested.

{"metadata":{"service":{"name":"pwa-mock-app-node-server","environment":"debug","runtime":{"name":"node","version":"20.4.0"},"language":{"name":"javascript"},"agent":{"name":"nodejs","version":"3.50.0","activation_method":"require"},"version":"0.0.0"},"process":{"pid":83844,"ppid":83829,"title":"node","argv":["/Users/vaibhav/.nvm/versions/node/v20.4.0/bin/node","/Users/vaibhav/Documents/Projects/express-basic-app/bin/www"]},"system":{"architecture":"arm64","platform":"darwin","detected_hostname":"1mp-lptp-2056.local"}}}
{"metricset":{"samples":{"system.cpu.total.norm.pct":{"value":0.41666666666666663},"system.memory.total":{"value":8589934592},"system.memory.actual.free":{"value":104218624},"system.process.cpu.total.norm.pct":{"value":0.1205121919535993},"system.process.cpu.system.norm.pct":{"value":0.02301240621022126},"system.process.cpu.user.norm.pct":{"value":0.09749978574337805},"system.process.memory.rss.bytes":{"value":73482240},"nodejs.handles.active":{"value":8},"nodejs.requests.active":{"value":4},"nodejs.eventloop.delay.avg.ms":{"value":0},"nodejs.memory.heap.allocated.bytes":{"value":33046528},"nodejs.memory.heap.used.bytes":{"value":13214968},"nodejs.memory.external.bytes":{"value":2767342},"nodejs.memory.arrayBuffers.bytes":{"value":41203}},"timestamp":1698740915439000,"tags":{"hostname":"1MP-LPTP-2056.local","env":"debug"}}}
{"metadata":{"service":{"name":"pwa-mock-app-node-server","environment":"debug","runtime":{"name":"node","version":"20.4.0"},"language":{"name":"javascript"},"agent":{"name":"nodejs","version":"3.50.0"},"version":"0.0.0"},"process":{"pid":83844,"ppid":83829,"title":"node","argv":["/Users/vaibhav/.nvm/versions/node/v20.4.0/bin/node","/Users/vaibhav/Documents/Projects/express-basic-app/bin/www"]},"system":{"architecture":"arm64","platform":"darwin","detected_hostname":"1mp-lptp-2056.local"}}}
{"metricset":{"samples":{"system.cpu.total.norm.pct":{"value":0.47597666904452185},"system.memory.total":{"value":8589934592},"system.memory.actual.free":{"value":91717632},"system.process.cpu.total.norm.pct":{"value":0.0014097251113220832},"system.process.cpu.system.norm.pct":{"value":0.00037214531878799394},"system.process.cpu.user.norm.pct":{"value":0.0010375797925340892},"system.process.memory.rss.bytes":{"value":31293440},"nodejs.handles.active":{"value":4},"nodejs.requests.active":{"value":0},"nodejs.eventloop.delay.avg.ms":{"value":0.9913794323432352},"nodejs.memory.heap.allocated.bytes":{"value":16531456},"nodejs.memory.heap.used.bytes":{"value":13696944},"nodejs.memory.external.bytes":{"value":2314723},"nodejs.memory.arrayBuffers.bytes":{"value":74101}},"timestamp":1698740945424000,"tags":{"hostname":"1MP-LPTP-2056.local","env":"debug"}}}
{"metadata":{"service":{"name":"pwa-mock-app-node-server","environment":"debug","runtime":{"name":"node","version":"20.4.0"},"language":{"name":"javascript"},"agent":{"name":"nodejs","version":"3.50.0"},"version":"0.0.0"},"process":{"pid":83844,"ppid":83829,"title":"node","argv":["/Users/vaibhav/.nvm/versions/node/v20.4.0/bin/node","/Users/vaibhav/Documents/Projects/express-basic-app/bin/www"]},"system":{"architecture":"arm64","platform":"darwin","detected_hostname":"1mp-lptp-2056.local"}}}
{"transaction":{"name":"GET /otc/wGBG","type":"request","result":"HTTP 2xx","id":"d339930a0706f7eb","trace_id":"fb588f55a887ad2958d1be174dddfadc","duration":11.113,"timestamp":1698740958153234,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/otc/wGBG","protocol":"http:","hostname":"localhost","port":"3000","pathname":"/otc/wGBG","full":"http://localhost:3000/otc/wGBG"},"headers":{"accept":"application/json, text/plain, */*","user-agent":"axios/1.6.0","accept-encoding":"gzip, compress, deflate, br","host":"localhost:3000","connection":"keep-alive"},"socket":{"remote_address":"::1"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"13","etag":"W/\"d-q/JzqNzhxXFIPHlLUDCyW00T+ag\"","date":"Tue, 31 Oct 2023 08:29:18 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":0},"outcome":"success","sample_rate":0.99}}
{"transaction":{"name":"GET /otc/DVnQ","type":"request","result":"HTTP 2xx","id":"92748ebcf44aadeb","trace_id":"dcd031d81c7a9d55175d6168747061aa","duration":1.692,"timestamp":1698740958170002,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/otc/DVnQ","protocol":"http:","hostname":"localhost","port":"3000","pathname":"/otc/DVnQ","full":"http://localhost:3000/otc/DVnQ"},"headers":{"accept":"application/json, text/plain, */*","user-agent":"axios/1.6.0","accept-encoding":"gzip, compress, deflate, br","host":"localhost:3000","connection":"keep-alive"},"socket":{"remote_address":"::1"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"13","etag":"W/\"d-OjIsVnK3VSfgVL7n3bajvChusuk\"","date":"Tue, 31 Oct 2023 08:29:18 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":0},"outcome":"success","sample_rate":0.99}}
{"transaction":{"name":"GET /otc/K4G1","type":"request","result":"HTTP 2xx","id":"f0cab17396bf17e9","trace_id":"6416b40d04a404a0bf676e558ece86c2","duration":10.359,"timestamp":1698740958173002,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/otc/K4G1","protocol":"http:","hostname":"localhost","port":"3000","pathname":"/otc/K4G1","full":"http://localhost:3000/otc/K4G1"},"headers":{"accept":"application/json, text/plain, */*","user-agent":"axios/1.6.0","accept-encoding":"gzip, compress, deflate, br","host":"localhost:3000","connection":"keep-alive"},"socket":{"remote_address":"::1"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"13","etag":"W/\"d-AzFgR71bYJeUVRM406BTsk+X8Eg\"","date":"Tue, 31 Oct 2023 08:29:18 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":0},"outcome":"success","sample_rate":0.99}}
{"transaction":{"name":"GET /otc/otXV","type":"request","result":"HTTP 2xx","id":"f01eb1c3606d85a7","trace_id":"33a5f7c2d461e8d439cd2fd578e7124d","duration":1.258,"timestamp":1698740958187004,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/otc/otXV","protocol":"http:","hostname":"localhost","port":"3000","pathname":"/otc/otXV","full":"http://localhost:3000/otc/otXV"},"headers":{"accept":"application/json, text/plain, */*","user-agent":"axios/1.6.0","accept-encoding":"gzip, compress, deflate, br","host":"localhost:3000","connection":"keep-alive"},"socket":{"remote_address":"::1"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"13","etag":"W/\"d-/6Bg4k5ZSfuQQ/Tx5gIvdfN9PF4\"","date":"Tue, 31 Oct 2023 08:29:18 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":0},"outcome":"success","sample_rate":0.99}}
{"transaction":{"name":"GET /otc/36Fr","type":"request","result":"HTTP 2xx","id":"d90e5d9b22a3d522","trace_id":"a387a993ddb697a92e862d5bb2cd06a4","duration":1.55,"timestamp":1698740958192002,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/otc/36Fr","protocol":"http:","hostname":"localhost","port":"3000","pathname":"/otc/36Fr","full":"http://localhost:3000/otc/36Fr"},"headers":{"accept":"application/json, text/plain, */*","user-agent":"axios/1.6.0","accept-encoding":"gzip, compress, deflate, br","host":"localhost:3000","connection":"keep-alive"},"socket":{"remote_address":"::1"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"13","etag":"W/\"d-M4PwBErj53znSskVwg8igCqiTQU\"","date":"Tue, 31 Oct 2023 08:29:18 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":0},"outcome":"success","sample_rate":0.99}}
{"transaction":{"name":"GET /otc/vZ5m","type":"request","result":"HTTP 2xx","id":"ce1f90239a6cff96","trace_id":"0de10bcdd76e4d86782f7fbad13a1860","duration":1.118,"timestamp":1698740958196002,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/otc/vZ5m","protocol":"http:","hostname":"localhost","port":"3000","pathname":"/otc/vZ5m","full":"http://localhost:3000/otc/vZ5m"},"headers":{"accept":"application/json, text/plain, */*","user-agent":"axios/1.6.0","accept-encoding":"gzip, compress, deflate, br","host":"localhost:3000","connection":"keep-alive"},"socket":{"remote_address":"::1"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"13","etag":"W/\"d-V9Ch1Pjgjp4jOh6Ooiv8GGbjJOA\"","date":"Tue, 31 Oct 2023 08:29:18 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":0},"outcome":"success","sample_rate":0.99}}
{"transaction":{"name":"GET /otc/CiBw","type":"request","result":"HTTP 2xx","id":"1839a1b2c3da256e","trace_id":"1a141695664638f58d2ee9d10530ad8a","duration":1.225,"timestamp":1698740958203007,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/otc/CiBw","protocol":"http:","hostname":"localhost","port":"3000","pathname":"/otc/CiBw","full":"http://localhost:3000/otc/CiBw"},"headers":{"accept":"application/json, text/plain, */*","user-agent":"axios/1.6.0","accept-encoding":"gzip, compress, deflate, br","host":"localhost:3000","connection":"keep-alive"},"socket":{"remote_address":"::1"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"13","etag":"W/\"d-l+APnQjPDCx86vOgTCQQi3dy6kk\"","date":"Tue, 31 Oct 2023 08:29:18 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":0},"outcome":"success","sample_rate":0.99}}
{"transaction":{"name":"GET /otc/KGLo","type":"request","result":"HTTP 2xx","id":"9e8df05afac319be","trace_id":"87d2f93c31499b502fced0f79dc8fb12","duration":0.61,"timestamp":1698740958206003,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/otc/KGLo","protocol":"http:","hostname":"localhost","port":"3000","pathname":"/otc/KGLo","full":"http://localhost:3000/otc/KGLo"},"headers":{"accept":"application/json, text/plain, */*","user-agent":"axios/1.6.0","accept-encoding":"gzip, compress, deflate, br","host":"localhost:3000","connection":"keep-alive"},"socket":{"remote_address":"::1"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"13","etag":"W/\"d-9EJYav0Hx0tfBhUwtZsgsU/YhX4\"","date":"Tue, 31 Oct 2023 08:29:18 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":0},"outcome":"success","sample_rate":0.99}}
{"transaction":{"name":"GET /otc/uWKx","type":"request","result":"HTTP 2xx","id":"e2270115714060e9","trace_id":"e02a42a856950a9980e5a48d63d4adce","duration":1.017,"timestamp":1698740958208002,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/otc/uWKx","protocol":"http:","hostname":"localhost","port":"3000","pathname":"/otc/uWKx","full":"http://localhost:3000/otc/uWKx"},"headers":{"accept":"application/json, text/plain, */*","user-agent":"axios/1.6.0","accept-encoding":"gzip, compress, deflate, br","host":"localhost:3000","connection":"keep-alive"},"socket":{"remote_address":"::1"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"13","etag":"W/\"d-WOy4+pdJmTXtaAGzuK7kybDFm9Q\"","date":"Tue, 31 Oct 2023 08:29:18 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":0},"outcome":"success","sample_rate":0.99}}
{"transaction":{"name":"GET /otc/7uE1","type":"request","result":"HTTP 2xx","id":"bb3e288d83211138","trace_id":"60db8149d4a941a183d3293efcda0fef","duration":0.876,"timestamp":1698740958210002,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/otc/7uE1","protocol":"http:","hostname":"localhost","port":"3000","pathname":"/otc/7uE1","full":"http://localhost:3000/otc/7uE1"},"headers":{"accept":"application/json, text/plain, */*","user-agent":"axios/1.6.0","accept-encoding":"gzip, compress, deflate, br","host":"localhost:3000","connection":"keep-alive"},"socket":{"remote_address":"::1"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"13","etag":"W/\"d-ZvSLm8fArsSwP+oloeVoerC0knc\"","date":"Tue, 31 Oct 2023 08:29:18 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":0},"outcome":"success","sample_rate":0.99}}
{"transaction":{"name":"GET /otc/CF95","type":"request","result":"HTTP 2xx","id":"161a705ef6751fff","trace_id":"321b628aa30551ce2c7d8f71bf89320e","duration":0.692,"timestamp":1698740958211001,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/otc/CF95","protocol":"http:","hostname":"localhost","port":"3000","pathname":"/otc/CF95","full":"http://localhost:3000/otc/CF95"},"headers":{"accept":"application/json, text/plain, */*","user-agent":"axios/1.6.0","accept-encoding":"gzip, compress, deflate, br","host":"localhost:3000","connection":"keep-alive"},"socket":{"remote_address":"::1"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"13","etag":"W/\"d-H1xzKGla2beERuB/yEj3+5fbdCQ\"","date":"Tue, 31 Oct 2023 08:29:18 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":0},"outcome":"success","sample_rate":0.99}}
{"transaction":{"name":"GET /otc/q0Qs","type":"request","result":"HTTP 2xx","id":"ec9c130dc9ec239e","trace_id":"b70bb16f17671fd492243e505ffb1916","duration":7.085,"timestamp":1698740958213002,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/otc/q0Qs","protocol":"http:","hostname":"localhost","port":"3000","pathname":"/otc/q0Qs","full":"http://localhost:3000/otc/q0Qs"},"headers":{"accept":"application/json, text/plain, */*","user-agent":"axios/1.6.0","accept-encoding":"gzip, compress, deflate, br","host":"localhost:3000","connection":"keep-alive"},"socket":{"remote_address":"::1"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"13","etag":"W/\"d-CLofzWqhTK5TLjfvmYe3KhjWKwI\"","date":"Tue, 31 Oct 2023 08:29:18 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":0},"outcome":"success","sample_rate":0.99}}
{"transaction":{"name":"GET /otc/6ttN","type":"request","result":"HTTP 2xx","id":"d64b09facdc62ceb","trace_id":"fff87227839b617c1fac04d2adefa481","duration":0.842,"timestamp":1698740958222001,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/otc/6ttN","protocol":"http:","hostname":"localhost","port":"3000","pathname":"/otc/6ttN","full":"http://localhost:3000/otc/6ttN"},"headers":{"accept":"application/json, text/plain, */*","user-agent":"axios/1.6.0","accept-encoding":"gzip, compress, deflate, br","host":"localhost:3000","connection":"keep-alive"},"socket":{"remote_address":"::1"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"13","etag":"W/\"d-j5QvEgFo3IS+ls5GXn2XnG/tdDc\"","date":"Tue, 31 Oct 2023 08:29:18 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":0},"outcome":"success","sample_rate":0.99}}
{"transaction":{"name":"GET /otc/8Tuv","type":"request","result":"HTTP 2xx","id":"d614fde4eb19162a","trace_id":"1a33a10b30a7271080d01224ced190be","duration":0.684,"timestamp":1698740958224001,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/otc/8Tuv","protocol":"http:","hostname":"localhost","port":"3000","pathname":"/otc/8Tuv","full":"http://localhost:3000/otc/8Tuv"},"headers":{"accept":"application/json, text/plain, */*","user-agent":"axios/1.6.0","accept-encoding":"gzip, compress, deflate, br","host":"localhost:3000","connection":"keep-alive"},"socket":{"remote_address":"::1"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"13","etag":"W/\"d-G+uBH8h86WSRKeJ0ao8ALUddBLw\"","date":"Tue, 31 Oct 2023 08:29:18 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":0},"outcome":"success","sample_rate":0.99}}
{"transaction":{"name":"GET /otc/JPsv","type":"request","result":"HTTP 2xx","id":"0fde406435625d56","trace_id":"8babf37529b034d149476bc8ea7de643","duration":0.854,"timestamp":1698740958225001,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/otc/JPsv","protocol":"http:","hostname":"localhost","port":"3000","pathname":"/otc/JPsv","full":"http://localhost:3000/otc/JPsv"},"headers":{"accept":"application/json, text/plain, */*","user-agent":"axios/1.6.0","accept-encoding":"gzip, compress, deflate, br","host":"localhost:3000","connection":"keep-alive"},"socket":{"remote_address":"::1"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"13","etag":"W/\"d-2a0QcuzsjfiQgOkSm7Pd89PWrSY\"","date":"Tue, 31 Oct 2023 08:29:18 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":0},"outcome":"success","sample_rate":0.99}}
{"transaction":{"name":"GET /otc/laVh","type":"request","result":"HTTP 2xx","id":"b061b272658d76db","trace_id":"f28db3a51b105c5f786e72b54b10b2e8","duration":0.621,"timestamp":1698740958227001,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/otc/laVh","protocol":"http:","hostname":"localhost","port":"3000","pathname":"/otc/laVh","full":"http://localhost:3000/otc/laVh"},"headers":{"accept":"application/json, text/plain, */*","user-agent":"axios/1.6.0","accept-encoding":"gzip, compress, deflate, br","host":"localhost:3000","connection":"keep-alive"},"socket":{"remote_address":"::1"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"13","etag":"W/\"d-NsUtzHYuHeKd9ewM3zcwv3Obfq0\"","date":"Tue, 31 Oct 2023 08:29:18 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":0},"outcome":"success","sample_rate":0.99}}
{"transaction":{"name":"GET /otc/IA0F","type":"request","result":"HTTP 2xx","id":"e85f207852f24ab4","trace_id":"230e142d7b9c4c9d5e7d06589034d678","duration":0.728,"timestamp":1698740958228001,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/otc/IA0F","protocol":"http:","hostname":"localhost","port":"3000","pathname":"/otc/IA0F","full":"http://localhost:3000/otc/IA0F"},"headers":{"accept":"application/json, text/plain, */*","user-agent":"axios/1.6.0","accept-encoding":"gzip, compress, deflate, br","host":"localhost:3000","connection":"keep-alive"},"socket":{"remote_address":"::1"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"13","etag":"W/\"d-vasBX6TJObVNkBa4ICxSUdBdYTc\"","date":"Tue, 31 Oct 2023 08:29:18 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":0},"outcome":"success","sample_rate":0.99}}
{"transaction":{"name":"GET /otc/zXAo","type":"request","result":"HTTP 2xx","id":"a4e595ade0db69df","trace_id":"ae99b2593e4664b43460d21bf21cb311","duration":7.609,"timestamp":1698740958230001,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/otc/zXAo","protocol":"http:","hostname":"localhost","port":"3000","pathname":"/otc/zXAo","full":"http://localhost:3000/otc/zXAo"},"headers":{"accept":"application/json, text/plain, */*","user-agent":"axios/1.6.0","accept-encoding":"gzip, compress, deflate, br","host":"localhost:3000","connection":"keep-alive"},"socket":{"remote_address":"::1"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"13","etag":"W/\"d-0H874P/1pX3sJF8bXLnptj2DJcc\"","date":"Tue, 31 Oct 2023 08:29:18 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":0},"outcome":"success","sample_rate":0.99}}
{"transaction":{"name":"GET /otc/Rcdu","type":"request","result":"HTTP 2xx","id":"92fdf545eb597e9c","trace_id":"1d5051bd6e7812f2d55f1a313b93e6d7","duration":0.531,"timestamp":1698740958238001,"sampled":true,"context":{"user":{},"tags":{},"custom":{},"service":{},"cloud":{},"message":{},"request":{"http_version":"1.1","method":"GET","url":{"raw":"/otc/Rcdu","protocol":"http:","hostname":"localhost","port":"3000","pathname":"/otc/Rcdu","full":"http://localhost:3000/otc/Rcdu"},"headers":{"accept":"application/json, text/plain, */*","user-agent":"axios/1.6.0","accept-encoding":"gzip, compress, deflate, br","host":"localhost:3000","connection":"keep-alive"},"socket":{"remote_address":"::1"}},"response":{"status_code":200,"headers":{"x-powered-by":"Express","content-type":"text/html; charset=utf-8","content-length":"13","etag":"W/\"d-3UiSFzU7glbfhNoms/0TSF8DaGo\"","date":"Tue, 31 Oct 2023 08:29:18 GMT","connection":"keep-alive","keep-alive":"timeout=5"}}},"span_count":{"started":0},"outcome":"success","sample_rate":0.99}}
{"transaction":{"name":"GET /otc/WNAM","type":"request","result":"HTTP 

I am not sure what's happening wrong in my app. It's a simple app which is executing a few end points.

I know it might be a bit hectic , but can you please have a look and see if there is something wrong with my configurations,.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.