Archive for the ‘DTrace’ Category
Virtualization Performance: Zones, KVM, Xen
At Joyent we run a high-performance public cloud based on two different virtualization technologies: Zones and KVM. We have historically run Xen as well, but have phased it out for KVM on SmartOS. My job is to make things go fast, which often means using DTrace to analyze the kernel, applications, and those virtualization technologies. [...]
In: Cloud, DTrace, KVM, performance, xen, zones
Surge 2012: Real-time in the real world
In September, I attended and spoke at the Surge’12 conference in Baltimore. I highly recommend it for anyone interested in performance. The theme with most talks was problems encountered at scale – and as is often the case – you can learn more from failure than success. Bryan and I gave a talk titled “Real-time [...]
In: DTrace, performance, slides, video
DTracing in Anger
My Macbook has becomeso sluggish that it feels like I’m typing ove a 9600 baud modem aagn. Or 2400. It’s alo droping keystokes – which is irritatng as hll – so please forgive theapparent tyos and mistakes. It comes and goes each minute, so thiswhole post isn’t too bad. Usually I cn see what’s wrng [...]
In: DTrace, macosx, performance
illumos hackathon 2012: user-land types for DTrace
At the illumos hackathon last week, Robert Mustacchi and I prototyped better support for manipulating user-land structures. As anyone who’s used it knows, DTrace is currently very kernel-centric — this both reflects the reality of how operating systems and DTrace are constructed, and the origins of DTrace itself in the Solaris Kernel Group. Discussions at [...]
In: DTrace, hackathon, illumos, pid, user-land
DTrace Training
I’ve been developing a 2 day DTrace training course, which I’ll deliver in San Francisco on September 6th this year. The course materials include a copy of the DTrace book, written by myself and Jim Mauro. This course focuses on how to use DTrace: In particular, how to analyze performance issues and troubleshoot mysterious errors. [...]
In: DTrace, Training
10 Performance Wins
I work on weird and challenging performance issues in the cloud, often deep inside the operating system kernel. These have made for some interesting blog posts in the past, but there’s a lot more I don’t have time to share in that much detail. Here, I’ve summarized ten recent issues that myself and the other [...]
In: DTrace, performance, wins
My New DTrace Favorite
The mantra as we initially developed DTrace was to make impossible things possible, not easy things easier. Since codifying that, the tendency toward the latter in developer tools has been apparent. Our focus on the former however has left certain usability burrs that stymie newbies, and annoy vets. Much of the DTrace development of late [...]
NodeConf slides
NodeConf was a great success this year. Thanks to @mikeal for organizing and everyone who spoke and attended. The slides from my talk on DTrace, Node.js, and Flame Graphs are here.
dtrace.conf 2012 videos
Last month was dtrace.conf 2012, the 2nd DTrace unconference. This is a meetup of DTrace practitioners and developers, where we discuss the latest uses, developments and future directions of the technology. It was great to see old friends of DTrace, and to put new faces to names. See the video list for the sessions, which, [...]
In: DTrace, video, visualizations
Profiling Node.js
(For returning readers, this is basically a “tl;dr” version of my previous post on Node.js performance. The post below also appears on the Node.js blog.) It’s incredibly easy to visualize where your Node program spends its time using DTrace and node-stackvis (a Node port of Brendan Gregg’s FlameGraph tool): Run your Node.js program as usual. [...]

