{"_id":"57a9e902b75c0e2000828b52","category":{"_id":"56a3e78a94ec0a0d00b39fed","pages":["56a3e79b5e57f20d000eae83","56a3e7c2545bc50d000e3abf","56a3e7da5fb2530d00421b5a","56a9fee32bb3910d000ee9ba","56aa2f502bb3910d000eea00","56aa38f6befafb1900044ccf","56aa38fa2bb3910d000eea0e"],"project":"56a1f77442dfda0d00046285","version":"56a1f77542dfda0d00046288","__v":7,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-01-23T20:50:18.363Z","from_sync":false,"order":0,"slug":"nodejs","title":"Node.js Monitoring"},"project":"56a1f77442dfda0d00046285","user":"56c1a92d075f5d0d00d67dd8","parentDoc":null,"version":{"_id":"56a1f77542dfda0d00046288","__v":9,"project":"56a1f77442dfda0d00046285","createdAt":"2016-01-22T09:33:41.397Z","releaseDate":"2016-01-22T09:33:41.397Z","categories":["56a1f77542dfda0d00046289","56a1fdf442dfda0d00046294","56a2079f0067c00d00a2f955","56a20bdf8b2e6f0d0018ea84","56a3e78a94ec0a0d00b39fed","56af19929d32e30d0006d2ce","5721f4e9dcfa860e005bef98","574e870be892bf0e004fde0d","5832fdcdb32d820f0072e12f"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"__v":1,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-08-09T14:30:26.089Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":3,"body":"Our agent is the component that's running on your servers and reporting data to the Trace by RisingStack servers. \n\nTo get it up and running in your app, check out our documentation on [how to get started](doc:getting-started).\n\n## What data does Trace by RisingStack collect from your app? \n[block:callout]\n{\n  \"type\": \"info\",\n  \"body\": \"We categorised the data based on sensitivity, with high meaning the data is confidential and low meaning it is, or could be public without any consequences.\",\n  \"title\": \"Data sensitivity\"\n}\n[/block]\n### System resources information\n\nThis resource information is read on startup and sent with the first request to Trace by RisingStack servers.\n\n- machine processor architecture name, make, model, clock speed (LOW)\n- operating system name, release, version (LOW)\n- computer / domain / node name (LOW)\n- cgroups configuration (LOW)\n- runtime environment (LOW)\n- path to node executable (can be full path) (LOW)\n- node executable version (LOW)\n- process id (LOW)\n- Cloud Foundry related configuration (LOW)\n  - [VCAP_APPLICATION, VCAP_SERVICES](https://docs.run.pivotal.io/devguide/deploy-apps/environment-variable.html)\n- list of installed package dependencies (LOW)\n\n### Stack traces\n\nUpon an uncaught exception crash, we're able to collect information and send them to our servers for later analyzation.\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Opting-out from stack trace collection\",\n  \"body\": \"To opt-out from stack trace collection, you can set the `TRACE_DISABLE_STACK_TRACE` environment variable to `true`, or set the `disableStackTrace` to `true` in your `trace.config.js`.\"\n}\n[/block]\n- full stack trace on node process crash (HIGH)\n\n### Memory information\n\nThe agent will create a memory heapdump if requested, this will create a snapshot of the currently running program's heap data which is everything that the program has loaded in memory.\n\n- contents of the full V8 heap (HIGH)\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Opting-out from memory heapdumps\",\n  \"body\": \"Memory heapdumps are not collected automatically - they will be captured only if you explicitly do so.\"\n}\n[/block]\n### CPU information\n\nCPU profiles are similar to memory heapdumps in a way that they are only created when a user requests it.\n\n- all invoked function names and their containing file paths (MEDIUM)\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Opting-out from CPU profiles\",\n  \"body\": \"CPU profiles are not collected automatically - they will be captured only if you explicitly do so.\"\n}\n[/block]\n### Network, databases\n\nWhen sending an HTTP request the agent extracts some information from the outgoing requests\n\n- contacted HTTP hosts' IP address or domain name (LOW)\n- contacted MongoDB, Redis, PG, MySQL hosts (LOW)\n\n### MongoDB\n- collection name (LOW)\n- operation name (LOW)\n\n### MySQL, PG\n- the first word of the SQL statement (LOW)\n\n### Redis\n- operation name (LOW)\n\n### How data is sent\n[block:callout]\n{\n  \"type\": \"success\",\n  \"body\": \"All data is sent over HTTPS.\",\n  \"title\": \"HTTPS\"\n}\n[/block]\nAll data is sent automatically, every 3 minutes, except CPU-profiles and memory-heapdumps, which are sent on demand wh​en requested on the Trace by RisingStack UI.\n\nIf you would like to know what metrics do you have access to within the app, check out our [metrics documentation](doc:metrics)","excerpt":"The heart of our system.","slug":"nodejs-agent","type":"basic","title":"Agent"}

Agent

The heart of our system.

Our agent is the component that's running on your servers and reporting data to the Trace by RisingStack servers. To get it up and running in your app, check out our documentation on [how to get started](doc:getting-started). ## What data does Trace by RisingStack collect from your app? [block:callout] { "type": "info", "body": "We categorised the data based on sensitivity, with high meaning the data is confidential and low meaning it is, or could be public without any consequences.", "title": "Data sensitivity" } [/block] ### System resources information This resource information is read on startup and sent with the first request to Trace by RisingStack servers. - machine processor architecture name, make, model, clock speed (LOW) - operating system name, release, version (LOW) - computer / domain / node name (LOW) - cgroups configuration (LOW) - runtime environment (LOW) - path to node executable (can be full path) (LOW) - node executable version (LOW) - process id (LOW) - Cloud Foundry related configuration (LOW) - [VCAP_APPLICATION, VCAP_SERVICES](https://docs.run.pivotal.io/devguide/deploy-apps/environment-variable.html) - list of installed package dependencies (LOW) ### Stack traces Upon an uncaught exception crash, we're able to collect information and send them to our servers for later analyzation. [block:callout] { "type": "info", "title": "Opting-out from stack trace collection", "body": "To opt-out from stack trace collection, you can set the `TRACE_DISABLE_STACK_TRACE` environment variable to `true`, or set the `disableStackTrace` to `true` in your `trace.config.js`." } [/block] - full stack trace on node process crash (HIGH) ### Memory information The agent will create a memory heapdump if requested, this will create a snapshot of the currently running program's heap data which is everything that the program has loaded in memory. - contents of the full V8 heap (HIGH) [block:callout] { "type": "info", "title": "Opting-out from memory heapdumps", "body": "Memory heapdumps are not collected automatically - they will be captured only if you explicitly do so." } [/block] ### CPU information CPU profiles are similar to memory heapdumps in a way that they are only created when a user requests it. - all invoked function names and their containing file paths (MEDIUM) [block:callout] { "type": "info", "title": "Opting-out from CPU profiles", "body": "CPU profiles are not collected automatically - they will be captured only if you explicitly do so." } [/block] ### Network, databases When sending an HTTP request the agent extracts some information from the outgoing requests - contacted HTTP hosts' IP address or domain name (LOW) - contacted MongoDB, Redis, PG, MySQL hosts (LOW) ### MongoDB - collection name (LOW) - operation name (LOW) ### MySQL, PG - the first word of the SQL statement (LOW) ### Redis - operation name (LOW) ### How data is sent [block:callout] { "type": "success", "body": "All data is sent over HTTPS.", "title": "HTTPS" } [/block] All data is sent automatically, every 3 minutes, except CPU-profiles and memory-heapdumps, which are sent on demand wh​en requested on the Trace by RisingStack UI. If you would like to know what metrics do you have access to within the app, check out our [metrics documentation](doc:metrics)