Archive for the ‘smartos’ Category

Understanding DTrace ustack helpers

or, everything you ever wanted to know about stack traces I promised this post over a year ago, and now that someone’s actually working on a new ustack helper, I thought it was finally time to write about what ustack helpers are, how they work, and how I went about building one for Node.js. Only [...]

Posted on November 20, 2013 at 4:50 pm by dap · Permalink · Comments Closed
In: DTrace, joyent, Node.js, smartos

Stopping a broken program in its tracks

Last week I debugged a Node issue where under some conditions, fork() failure could result in some file descriptors being closed, leading shortly to bedlam. In the best cases, the program would immediately crash, but often it would just do the wrong thing. This happens a lot, of course, and in many ways it’s worse [...]

Posted on October 14, 2013 at 7:58 am by dap · Permalink · Comments Closed
In: DTrace, smartos

The TSA Method

TSA Method in class (SmartOS) There are two basic performance analysis methodologies you can use for most performance issues. The first is the resource-oriented USE Method, which provides a checklist for identifying common bottlenecks and errors. The second is the thread-oriented TSA Method, for identifying issues causing poor thread performance. I summarized the TSA Method [...]

Posted on October 11, 2013 at 12:20 pm by Brendan Gregg · Permalink · Comments Closed
In: methodology, performance, smartos, tsamethod

Inside Manta: Distributing the Unix shell

Photo by Jackie Reid, NOAA Today, Joyent has launched Manta: our internet-facing object store with compute as a first class operation. This is the culmination of over a year’s effort on the part of the whole engineering team, and I’m personally really excited to be able to share this with the world. There’s plenty of [...]

Posted on June 25, 2013 at 6:10 am by dap · Permalink · Comments Closed
In: joyent, Node.js, smartos

Systems Performance: Enterprise and the Cloud

Systems performance analysis is an important skill for all computer users, whether you’re trying to understand why your laptop is slow, or optimizing the performance of a large-scale production environment. It is the study of both operating system (kernel) and application performance, but can also lead to more specialized performance topics, for specific languages or [...]

Posted on June 21, 2013 at 2:44 pm by Brendan Gregg · Permalink · Comments Closed
In: book, Cloud, enterprise, illumos, Linux, methodology, performance, smartos

The USE Method: SmartOS Performance Checklist

The USE Method provides a strategy for performing a complete check of system health, identifying common bottlenecks and errors. For each system resource, metrics for utilization, saturation and errors are identified and checked. Any issues discovered are then investigated using further strategies. In this post, I’ll provide an example of a USE-based metric list for [...]

Posted on December 19, 2012 at 10:23 am by Brendan Gregg · Permalink · Comments Closed
In: illumos, omnios, performance, smartos, Solaris, usemethod, zones

Debugging dynamic library dependencies on illumos

In this short follow-up to my post on illumos process tools, I’ll expand a bit on ldd and pldd, which print the dynamic linking dependencies of binaries and processes, respectively, and crle, which prints out the runtime linker configuration. These tools are available in most illumos distributions including SmartOS. Understanding builds (and broken builds in [...]

Posted on September 18, 2012 at 9:29 am by dap · Permalink · Comments Closed
In: smartos

illumos tools for observing processes

illumos, with Solaris before it, has a history of delivering rich tools for understanding the system, but discovering these tools can be difficult for new users. Sometimes, tools just have different names than people are used to. In many cases, users don’t even know such tools might exist. In this post I’ll describe some tools [...]

Posted on August 4, 2012 at 12:16 pm by dap · Permalink · Comments Closed
In: smartos

OSCON Slides

Thanks to all who attended my talk at OSCON on Node.js in production: postmortem debugging and performance analysis. Just a reminder: all of the technology I described is open source, most of it part of illumos. For more info, check out the links in slide 22. For the curious, there are also some slides on [...]

Posted on July 19, 2012 at 12:32 pm by dap · Permalink · Comments Closed
In: joyent, Node.js, smartos

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. [...]

Posted on April 25, 2012 at 10:21 am by dap · Permalink · Comments Closed
In: DTrace, joyent, Node.js, Production, smartos