pragmatist
Patrick Joyce

May 18, 2007

DTrace on Rails BoF

Just got back from the a birds of a feather session about “DTrace” and the work that Joyent has done to instrument Ruby and Rails. I’d read about DTrace, but listening to the guy who used it to knock 80% off of Twitter’s CPU usage is pretty cool. Afterwards I got a chance to talk (and by talk I mean stand next to and listen because I don’t have anything to add) one of the guys from Joyent, some of the developers from Kongregate talk about XMPP. The guy from Joyent talked about watching the TCP window shrink via DTrace while a Ruby XMPP thread was blocked. I’m botching the retelling of the story now, but it was incredibly impressive that you could watch the internals of the TCP protocol at work.

I just can’t describe how unbelievably cool DTrace is. You can time all your rails function calls, then all the system calls they kick out to the db, then all the internal calls in the db and all the way back up. With this level of instrumentation you can pinpoint exactly where your bottleneck is.

DTrace is going to be in Leapord along with a really sweet GUI called Xray. I just hope I have an app someday where I’ll have enough load that I need it.

More Articles on Software & Product Development

Agile With a Lowercase “a”
”Agile“ is an adjective. It is not a noun. It isn’t something you do, it is something you are.
How Do You End Up With A Great Product A Year From Now?
Nail the next two weeks. 26 times in a row.
Build it Twice
Resist the urge to abstract until you've learned what is general to a class of problems and what is specific to each problem.