Open davidmarkclements opened 8 years ago
should this be in core or as an extension?
Love the idea, does it need to be in fuge at all? I could see a full blown toolkit in it's own right here. Especially around having it run analysis and diagnostics as part of the post portem. Who says it shpuld only be when it crashes. I'd love to postmortem in the context of speed improvements and perf hotspots
@mcdonnelldean funny you should say that - as @mcollina and myself will be running a workshop where we'll be covering exactly that the day after Nodeday in Amsterdam on the 11th of Feb
:)
whatever we do here - it needs to have a level of compatibility/integration with the fuge workflow. needs more thought
@davidmarkclements I think a nice tie in would be, "Should fuge have a plugin system"
@mcdonnelldean I think it's even more valuable when we enter the field of predictive analysis...we could collect enough data to process and predict if some code might end up in a crash of the app. Post-mortem is always, like you described, a side effect of some malfunctioning while we should think in how to make it more proactive process. Does it make sense to you guys?
@davidmarkclements The challenge is how to use these tools in the complete lifecycle of the application's development, form bootstrapping to running it a scale in production.
http://npmjs.com/autopsy http://npmjs.com/nodux
Nodux can be used to generate linux core files on an OS X machine
Postmortem debugging is an interesting scenario, because it can involve the entire tool chain (fuge -> oast -> substrate -> fuge) - e.g. we develop in fuge, build with oast, deploy with substrate, a process crashes, we get a core file, and we use fuge to inspect it via autopsy.
So, I see four integration pieces:
1) integrate autopsy with fuge:
postmortem <service that died>
2) some sort of deployment environment tunnel from fuge:postmortem <currently deployed remote service that died>
3) generate core files with fuge:<service> abort
,<service> abort-on-crash
- this is where nodux comes in for OS X, when these commands are run, it may askRestart service in Linux container (Y/n)?
4) enable core file dumps (by default) with substrate