Live data from Hacker News

All my favorite tracing tools

thume.ca

21–30 of 42 posts

Re: All my favorite tracing tools

#21

If you work on Windows applications, check out Event Tracing for Windows (ETW). The best place to start is Bruce Dawson’s blog: https://randomascii.wordpress.com/2015/09/24/etw-central/

In my opinion, the best way to interact with ETW is through DTrace. Microsoft’s GUIs like WPA-Xperf are so buggy and unreliable that using them feels utterly futile. DTrace on Windows on the other hand is very usable.

Re: All my favorite tracing tools

#22

Earlier quoted context omitted.

I don’t think so. The ability to keep drilling down deeper and deeper and the amazing sort and grouping functionality make it supremely useful. The other tool I didn’t mention is WinDbg. In my opinion, it’s the greatest debugger on any platform.

Finally found it: https://caseymuratori.com/blog_0025

Ah, I see. When you said developer usability I was thinking of the Windows Performance Analyzer UI, not the Windows Events API.

That’s a great blog post. Thanks for sharing it.

Re: All my favorite tracing tools

#23
post #2

A pretty good overview of open source solutions in the space. Missing out on one of the most useful areas for tracing which is time travel debugging. There are a number of interesting solutions there taking advantage of hardware trace, instrumentation, and deterministic replay. Even better when you get full visualization integration so you can do something like zoom in from a multiple minute trace onto a suspicious 2…

Is there a time traveling debugging solution for Java?

Re: All my favorite tracing tools

#24
post #2

A pretty good overview of open source solutions in the space. Missing out on one of the most useful areas for tracing which is time travel debugging. There are a number of interesting solutions there taking advantage of hardware trace, instrumentation, and deterministic replay. Even better when you get full visualization integration so you can do something like zoom in from a multiple minute trace onto a suspicious 2…

how long can you time-travel?

is this something like https://www.reddit.com/r/ruby/comments/15o9hc1/timetraveling... ?

Re: All my favorite tracing tools

#25

The author mentions dtrace in passing. If you're into "load bearing rants", check out bcantrill's recent rant on bpftrace silently losing events and why dtrace won't do that.

What kind of events were being lost, and under what conditions? I'd like to see if it can be fixed.

Re: All my favorite tracing tools

#26
post #2

A pretty good overview of open source solutions in the space. Missing out on one of the most useful areas for tracing which is time travel debugging. There are a number of interesting solutions there taking advantage of hardware trace, instrumentation, and deterministic replay. Even better when you get full visualization integration so you can do something like zoom in from a multiple minute trace onto a suspicious 2…

Is there a time traveling debugging solution for Java?

Not that I am aware of. They phase in and out of existence every so often because developing the technology is expensive and requires constant maintenance, but nobody wants to pay for tools so they never catch on with enough resources to stay maintained.

Re: All my favorite tracing tools

#27
post #2

A pretty good overview of open source solutions in the space. Missing out on one of the most useful areas for tracing which is time travel debugging. There are a number of interesting solutions there taking advantage of hardware trace, instrumentation, and deterministic replay. Even better when you get full visualization integration so you can do something like zoom in from a multiple minute trace onto a suspicious 2…

Is there a time traveling debugging solution for Java?

I think undo have one: https://undo.io/products/java

Re: All my favorite tracing tools

#28
post #26

Earlier quoted context omitted.

Is there a time traveling debugging solution for Java?

Not that I am aware of. They phase in and out of existence every so often because developing the technology is expensive and requires constant maintenance, but nobody wants to pay for tools so they never catch on with enough resources to stay maintained.

As byefruit says above - we (undo.io) sell a Java Time Travel Debugger.

If anybody wants to try it, they should get in touch with us.

Our Java tech is based on an underlying record/replay engine that works at the level of machine instructions / syscalls to record the entire process. On top of that we've added the necessary cleverness to show what that means at Java level (so normal source-level debugging works).

That's different to e.g. Chronon, which I think was a pure Java solution: https://blog.jetbrains.com/idea/2014/03/try-chronon-debugger... It had some flexibility (e.g. only record certain classes) but at the cost of quite considerable slowdown and very large storage requirements.

Re: All my favorite tracing tools

#29
post #2

A pretty good overview of open source solutions in the space. Missing out on one of the most useful areas for tracing which is time travel debugging. There are a number of interesting solutions there taking advantage of hardware trace, instrumentation, and deterministic replay. Even better when you get full visualization integration so you can do something like zoom in from a multiple minute trace onto a suspicious 2…

how long can you time-travel? is this something like https://www.reddit.com/r/ruby/comments/15o9hc1/timetraveling... ?

Conceptually similar in that you can decide after-the-fact what state you want to see.

But Time Travel Debugging applies that to everything in the program, not just log statements - all function calls, variables, memory locations, etc can be reconstructed after the fact without having to log them explicitly.

Re: All my favorite tracing tools

#30
post #26

Earlier quoted context omitted.

Not that I am aware of. They phase in and out of existence every so often because developing the technology is expensive and requires constant maintenance, but nobody wants to pay for tools so they never catch on with enough resources to stay maintained.

As byefruit says above - we (undo.io) sell a Java Time Travel Debugger. If anybody wants to try it, they should get in touch with us. Our Java tech is based on an underlying record/replay engine that works at the level of machine instructions / syscalls to record the entire process. On top of that we've added the necessary cleverness to show what that means at Java level (so normal source-level debugging works). That…

Ah, did not realize you all at Undo did a Java implementation as well. I knew about Chronon which was probably the most well-known Java solution (as much as that means) during that spate of new time travel debuggers at the time, but when I looked it up again for my comment it appeared to be defunct after being largely unmaintained for years.
Post reply on HN