News for hackers. Stuff that matters.

tkfx

Re:Show HN: Java Bullshifier on Tuesday November 22, 2016 @06:47PM (#13018707)
joda-time + java.util.delorean
Re:Show HN: Java Bullshifier on Tuesday November 22, 2016 @06:39PM (#13018657)
Java is alive and kicking. It's the most popular programming language in the world. As such, it also attracts most of the fire. We hope to see more colorful projects like these go open source. Thanks for the comment! :)
Re:Show HN: Java Bullshifier on Tuesday November 22, 2016 @06:31PM (#13018613)
Sentry doesn't give you the local variable state at the moment of error. Only environment related data. We use it as well, but only for JS frontend. It's more of an error tracker, rather than a root cause analysis tool. The benefit is that it's wider and doesn't only focus on Java, but you'll still need to spend time going through logs to actually troubleshoot those errors and understand what was wrong with the state that caused them.

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.

Re:Show HN: Java Bullshifier on Tuesday November 22, 2016 @04:56PM (#13018029)
I think the tool that we're building (http://www.overops.com) could be something that might help with the log data overload. It basically gives you everything you need to troubleshoot an error - without relying on log files, while deduping recurrences of the same event.

It gets all the required information (source, stack and variable state), through a native JVM agent that transmits everything directly to the tool.

Re:Show HN: Java Bullshifier on Tuesday November 22, 2016 @04:41PM (#13017923)
Heh, this might actually be useful for v2.0 :)
Re:Show HN: Java Bullshifier on Tuesday November 22, 2016 @04:41PM (#13017915)
Cool, sounds similar to the site on the other comment here: http://projects.haykranen.nl/java/
Re:Show HN: Java Bullshifier on Tuesday November 22, 2016 @04:21PM (#13017780)
Working on it as we speak ;)
Re:Show HN: Java Bullshifier on Tuesday November 22, 2016 @04:19PM (#13017760)
Hey, at the moment we're only interested in JVM languages, so Java was the best fit for this project. We'll be adding .NET support for OverOps in the future so that might be something we'll be looking at for Bullshifier as well.

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

Re:Show HN: Java Bullshifier on Tuesday November 22, 2016 @03:48PM (#13017511)
It's not only that. OverOps also shows the variable state and source code of every stack frame. It's like using a debugger in production.
Re:Show HN: Java Bullshifier on Tuesday November 22, 2016 @03:27PM (#13017363)
We've actually thought of using a random pool of Star Wars related names, will have to wait for the next version. Pull requests are welcome though :P
Re:Show HN: Java Bullshifier on Tuesday November 22, 2016 @03:18PM (#13017283)
Hi, Alex from OverOps here. We've created the "Bullshifier" internally to stress test edge cases with our own monitoring tool (http://www.overops.com).

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.

Older »