606 karma · joined May 25, 2013
With OverOps, you go deep on Java, with every variable value, overlaid on the code across the call stack. Without looking at / relying on logs.
There's a short video here (http://www.overops.com/) and you can see some more samples after you sign up.
It gets all the required information (source, stack and variable state), through a native JVM agent that transmits everything directly to the tool.
There are a bit more details about the design on our blog: http://blog.takipi.com/java-bullshifier-generate-massive-ran...
And the full source code is available on Github: https://github.com/takipi/java-bullshifier
Basically, the tool is built with Groovy (many projects use it as a scripting language for Java), and there are 4 sections to each randomly generated class:
1. Variable definition, with random types, random names, and values.
2. A section that throws exceptions, or prints to the log, according to the config settings for the rate of events. This also includes a “suicide” function that stops the execution of the program.
3. Calls the next method.
4. Random code that never runs.
There are some advanced config settings described in the Github README.md
Whenever an exception or a logged error / warning happens in production, it shows you the complete source code leading to it, and the full variable state across the entire call stack.
Using Java Bullshifier, we're able to generate random applications with call stacks that can go thousands of frames deep and other quirky behaviors. This helps us make sure the overhead is unnoticed, even in the most extreme cases.
Would be happy to answer any questions.
Sumo Logic, Graylog, Loggly, PaperTrail, Logentries, Stackify: http://blog.takipi.com/how-to-choose-the-right-log-managemen...
ELK vs Splunk: http://blog.takipi.com/splunk-vs-elk-the-log-management-tool...
Hosted ELK tools: http://blog.takipi.com/hosted-elasticsearch-the-future-of-yo...
We're actually building (and using) a log alternative called OverOps (https://www.overops.com), it's a native JVM agent that adds links to each log warning / error / exception that lead to the actual variable state and code that caused them, across the entire call stack. Disclaimer: I work there, would be happy to answer any question.
And went live this weekend. Surprised it didn't make any headlines.
Some more posts worth checking out in the JVM domain:
http://highscalability.com/blog/2015/1/7/the-ultimate-guide-...
http://www.infoq.com/articles/Advanced-Java-Debugging-Techni...
(Disclaimer: I'm from Takipi)