RuntimeTools / appmetrics

Node Application Metrics provides a foundational infrastructure for collecting resource and performance monitoring data for Node.js-based applications.
https://developer.ibm.com/open/node-application-metrics/
Apache License 2.0
977 stars 127 forks source link

Event: 'request' does not provide enough information for performance isolation. #513

Open qiyaod opened 6 years ago

qiyaod commented 6 years ago

Now the APM Node.js data collector use the Event: 'request' to generate the method trace of the request. Now the Event: 'request' only can get the data of export functions (method) and supported events e.g. http, socketio etc. But this does not help to identify the performance bottleneck.

Please see the attached picture, with the current data it can not determine where is the performance problem.

qiyaod commented 6 years ago

nodejsdcmethodtrace

qiyaod commented 6 years ago

The overall login request takes 48ms, because the Event: 'request' only can get the data of export functions (method), which total is 14ms, a small part of the overall time spent.

This is just an example, the real case may not just 48ms and 14ms. With this data the user has no idea where to find the performance problem code, if there are lot of code before, between and after these 2 methods, how to find the problem areas quickly?