{"action":"created","issue":{"url":"https://api.github.com/repos/nodejs/diagnostics/issues/95","repository_url":"https://api.github.com/repos/nodejs/diagnostics","labels_url":"https://api.github.com/repos/nodejs/diagnostics/issues/95/labels{/name}","comments_url":"https://api.github.com/repos/nodejs/diagnostics/issues/95/comments","events_url":"https://api.github.com/repos/nodejs/diagnostics/issues/95/events","html_url":"https://github.com/nodejs/diagnostics/issues/95","id":226289345,"number":95,"title":"Node.js Collaboration Summit diagnostics discussion minutes","user":{"login":"watson","id":10602,"avatar_url":"https://avatars0.githubusercontent.com/u/10602?v=3","gravatar_id":"","url":"https://api.github.com/users/watson","html_url":"https://github.com/watson","followers_url":"https://api.github.com/users/watson/followers","following_url":"https://api.github.com/users/watson/following{/other_user}","gists_url":"https://api.github.com/users/watson/gists{/gist_id}","starred_url":"https://api.github.com/users/watson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/watson/subscriptions","organizations_url":"https://api.github.com/users/watson/orgs","repos_url":"https://api.github.com/users/watson/repos","events_url":"https://api.github.com/users/watson/events{/privacy}","received_events_url":"https://api.github.com/users/watson/received_events","type":"User","site_admin":false},"labels":[{"id":533644096,"url":"https://api.github.com/repos/nodejs/diagnostics/labels/diag-agenda","name":"diag-agenda","color":"5319e7","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2017-05-04T13:56:56Z","updated_at":"2017-05-09T13:17:15Z","closed_at":null,"body":"These are my raw notes taken at the Node.js Collaboration Summit in Berlin. Sorry for the mess 😅. I'll update when new stuff comes up. Feel free to add stuff I missed 😃\r\n\r\n## Day 1: 2017-05-04\r\n\r\n**Problem:** How do we make it easier for APM vendors to instrument node-core and userland modules without having to monkey-patch everything (even after AsyncHooks lands)?\r\n\r\n**Suggestion:** We need to make it easier for module owners to know how to structure and build their modules so they are easier to instrument. We can make a guide on https://nodejs.org/en/docs/guides/ that specifies how module owners should make their modules easy to instrument.\r\n\r\nTopic ideas:\r\n\r\n- How to use the AsyncHooks Embedder API\r\n- How to send detailed tracing events to APM vendors using some API\r\n\r\nOther notes:\r\n\r\n- This should be a living document\r\n- Discussion on this could be had on a PR that’s opened to the nodejs.org website creating this guide\r\n\r\n**Problem:** Can we standardise the way tracing information is sent from an instrumented module (called module-x below) to an APM agent?\r\n\r\n**Suggestions:**\r\n\r\n- Maybe we can use the V8 trace events API\r\n    - Pros: No need for module-x to know about the APM agents\r\n    - Cons:\r\n        - Currently no way to bind the trace event to the current context\r\n        - Might be expensive to cross the barrier into C-land\r\n        - Might not be detailed enough\r\n        - Overhead of running in production?\r\n- Alternatively invent a new API in JavaScript land\r\n    - This could either be in Node core or a userland module\r\n    - If it’s a userland module, then module-x needs to detect if it’s present before it can send events to it. The APM agents need to do the same.\r\n        - What if there’s multiple versions of this module installed?\r\n    - Research if other languages have something similar\r\n"},"comment":{"url":"https://api.github.com/repos/nodejs/diagnostics/issues/comments/300159759","html_url":"https://github.com/nodejs/diagnostics/issues/95#issuecomment-300159759","issue_url":"https://api.github.com/repos/nodejs/diagnostics/issues/95","id":300159759,"user":{"login":"danielkhan","id":2722161,"avatar_url":"https://avatars2.githubusercontent.com/u/2722161?v=3","gravatar_id":"","url":"https://api.github.com/users/danielkhan","html_url":"https://github.com/danielkhan","followers_url":"https://api.github.com/users/danielkhan/followers","following_url":"https://api.github.com/users/danielkhan/following{/other_user}","gists_url":"https://api.github.com/users/danielkhan/gists{/gist_id}","starred_url":"https://api.github.com/users/danielkhan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielkhan/subscriptions","organizations_url":"https://api.github.com/users/danielkhan/orgs","repos_url":"https://api.github.com/users/danielkhan/repos","events_url":"https://api.github.com/users/danielkhan/events{/privacy}","received_events_url":"https://api.github.com/users/danielkhan/received_events","type":"User","site_admin":false},"created_at":"2017-05-09T13:17:14Z","updated_at":"2017-05-09T13:17:14Z","body":"It was daniel khan, dynatrace :)\r\n\r\nI would prefer more of a standard over a blog. It can live under /guides on the Node.js website. I could think of a blog post that describes the problems APM vendors are facing today, though. This would give us something to pass on to customers to baseline their expectations when it comes to Node monitoring. I could sketch something out for you to review, ok?"}}
{"actor":{"display_login":"danielkhan"}}