While JS is old, node.js, which spans many projects on GitHub, is a relatively new architecture, which has only gained traction in the last couple of years. This stands in comparison to Java, which has a much higher degree of consolidation due to its maturity as a server-side language (this is also true to an extend with Ruby).
I understand what you're saying, but I think the OP meant how often do you deploy on average. That is, take all the deployments you mentioned, regardless of the reason they happened, and average out.
Takipi lets you attach your own source code to the project, so you will see your original source code when viewing exceptions and other events, instead of decompiled Java.
Support for prettier stack traces is in the planning.
Hi Steve. These are some valid points you're making. We are currently considering an on-premises solution for precisely this situation you are describing.
Takipi's agent records information which is relevant to the issues which are detected (exceptions, latency problems, custom conditions set by the developer).
The data and source code are then encrypted with your secret 256-bit AES key and stored by Takipi. This data is in turn decrypted in your browser and viewed by you at app.takipi.com.
When you install Takipi, you are asked to enter your top packages (e.g. "com.mycompany;org.foobar.common"). Code outside of the filter will not be shown to you when viewing stack traces.
In addition, if, for an example, an exception is thrown by Spring AND caught by Spring, you will not receive an event for that case.
Takipi may be installed locally; the same installation process will work.
However, it does not provide live debugging like in your IDE, but rather a post-event drill-down (a "time travelling debugger"), as it is designed for testing/staging/deployment environments.
The moment you sign-up for Takipi a secret AES-256 key is generated for you (and never stored by Takipi in any way or form, and you manually enter it on your machine when installing the agent). This key is used to encrypt every piece of application data which leaves the machine. The source code is also encrypted similarly. The source code and the data are only decrypted in your browser when viewing the details of the event.