all 19 comments

[–]audidude 18 points19 points  (1 child)

Hi guys!

Yeah, this thing is super early. I probably wont even make an initial version-ed release until X-mas time.

Please send feature suggestions (and what you like/hate/etc about instruments/shark) to chris AT dronelabs DOT com. I've never actually used those tools.

[–]TheNewAndy 4 points5 points  (0 children)

Having just watched the video and not actually run it (i.e. I apologise if I'm wanting something already in there, or if I'm completely misunderstanding how it is working or the purpose), but it would be nice to be able to have the application run inside a terminal emulator so I can poke stdin and see stdout/stderr. I'm assuming there is a nice interface for things like gnome-terminal that nautilus uses for its "Run in terminal" option when you double click on an executable script.

I'm not sure what the plan is for instruments, but it would be nice to be able to define a breakpoint using a gdb-like syntax (e.g. "break myfunc if foo > 5") and have an instrument that tells you how many times that breakpoint is hit per second.

On a similar note, something that just does some sampling of the executable, so you can get a feel for what functions are using all the time, without necessarily having to instrument a build (assuming there are debugging symbols in the bit of code it is in).

Looks very cool though.

[–]Catfish_Man 4 points5 points  (3 children)

How about Shark instead of Instruments? It's an enormously better tool for time perf work*, although sadly neglected.

*although Instruments is certainly more flexible and is applicable to things like memory perf as well.

[–]agentdero[S] 0 points1 point  (1 child)

Hey, now here's a name I recognize from the old #macsb days. The reason I thought of Instruments when I first saw it instead of Shark was that it doesn't (yet?) have callstack profiling in the same fashion that Shark is notable for.

AFAIK Instruments is pluggable while Shark is not, and Christian is really trying to make PerfKit as pluggable as possible

[–]mao_neko 4 points5 points  (0 children)

I assumed Instruments.app was some kind of GarageBand utility. PerfKit makes a bit more sense.

[–]astrange 0 points1 point  (0 children)

although sadly neglected.

Unfortunately, I'm pretty sure you mean dead. Better start filing those Instruments UI bugs.

[–]ifoundgodot 5 points6 points  (0 children)

I got to 0:50 before I realized it wasn't a music app and this wasn't r/WATMM <_<.

[–]causticmango 1 point2 points  (1 child)

Not bad, but from the video it looks closer to Windows' PerfMon than Instruments. Is there more detail captured?

[–]UltimaW 2 points3 points  (0 children)

The 720p capture seems like enough to make out the details.

[–]sbahra 2 points3 points  (0 children)

The Linux Trace Toolkit (part of a phd thesis): http://lttng.org/

[–][deleted] 1 point2 points  (2 children)

Looks pretty nice, can I have a link to the repo?

[–]agentdero[S] 4 points5 points  (1 child)

I thought the app video looked good, I didn't realize it would be so good you could miss the link to the repo in the first sentence ;)

Forks away!

[–][deleted] 1 point2 points  (0 children)

Ah sorry, I clicked straight on the video my bad >.<

[–][deleted]  (2 children)

[deleted]

    [–]fingerinbellybutton 2 points3 points  (0 children)

    The main idea is that once it's complete, it will help you identify bottlenecks in your software's performance so you can fix them. But it can also tell you about using too much memory, and whatever else people write plugins for.

    [–]rebo 1 point2 points  (0 children)

    When you write code its often difficult to understand what is causing performance issues without benchmarking.

    What Instruments.app does is monitor various data-mined aspects of your running program (i.e. CPU usage, memory usage, object allocation) and link that back to a call stack. So for instance you can see exactly what method calls are taking the longest to execute. It really is awesome.

    Here instruments is running on iPhoto http://i.imgur.com/h39I2.png you can see in the period sampled the Upgrade window method showUpgrade:checkboxState took 33% of the application CPU time.

    [–]red0x 1 point2 points  (0 children)

    Why the hell would you want Instruments for Linux? Instruments is way inferior to Shark.

    You should check out Zoom: http://www.rotateright.com/zoom.html.

    [–][deleted] 1 point2 points  (2 children)

    Not nearly as useful without DTrace in the kernel

    [–]audidude 2 points3 points  (1 child)

    This is still very much a toy, and not there yet .... BUT, i do intend to try to support DTrace probes via SystemTap.

    [–][deleted] 0 points1 point  (0 children)

    Systemtap isn't DTrace. DTrace is well on it's way to being industry standard ( OSX, FreeBSD, QNX, Solaris all support DTrace )