How to analyze Node.JS running processes on Azure Web APP
Node.JS Parser for Node.JS 0.10.32 32bit is included in Azure Web App Diagnostic Service now.
If you have Node.JS 0.10.32 32bit running, and want to quick analyze its running status, open https://<appname>.scm.azurewebsites.net/support
Click the Analyze menu, click Diagnostics, and then click Diagnose Now:
The parser is developed to analyze Node.JS slow performance issue or understand process running status at given time. It works as analyzing Node.exe directly and generating diagnostic report for it. Currently it supports the default Node.JS version on Azure Web APP (0.10.32 X86) with multiple instances.
After report generated, download the report zip file and unzip it.
Note: To analyze other Node.JS versions which are not supported in DaaS yet, please check: https://blog.freistli.com/2016/03/09/node-js-diagnoser-site-extension-for-azure-web-app-is-ready/
There is is a HTML report. To quick go through the report, click the report link in the index page index.xhtml:
Then in the detailed report page, click the Menu items on left pane
The report information includes:
Node.exe Process Summary
On the Process section, you can hover mouse cursor around counters, it can give more explanations in tooltip
Threads Running Time
This lists all thread running time in User Mode
Running HTTP Request
If the main thread runs a HTTP Request, it will dump out URL and Query information.
Native C/C++ and JS Stack Traces on Threads
Active Handles in Async Queue
This section gives latest 100 active handles and wrapped objects info:
Click the hyperlink of the object address, it displays the Object properties:
This part provides a flat memory usage summary from different memory category: