Those of you running Sendmail on Solaris 10 (or later) might be interested in some work that I''m doing to add DTrace instrumentation to Sendmail. The work''s got to the point where it''s starting to produce instrumentation data. The whole thing is being written up at http://jc.ngo.org.uk/blog/. If you just want to dive in and see some figures then the four most recent posts are a good place to start. http://jc.ngo.org.uk/blog/2006/08/04/day-26-of-60-instrumenting-sendmail-queue-file-creation-pt-1/ http://jc.ngo.org.uk/blog/2006/08/05/day-27-of-60-instrumenting-sendmail-queue-file-creation-pt-2/ http://jc.ngo.org.uk/blog/2006/08/05/day-27-of-60-instrumenting-sendmail-queue-file-creation-pt-3/ http://jc.ngo.org.uk/blog/2006/08/06/day-28-of-60-instrumenting-sendmail-queue-file-creation-pt-4/ You can see the code changes that I''ve made to Sendmail at: http://jc.ngo.org.uk/svnweb/jc/log/nik/sendmail/branches/8.13.7.2-dtrace/ Test results, DTrace scripts, and other bits and pieces are at: http://jc.ngo.org.uk/svnweb/jc/browse/nik/dtrace4sendmail/trunk/ Hope that''s useful. N
Adam Leventhal wrote:> Great job! I''ve been following your blog for the past few weeks and your > progress has been very interesting to me. Will this be integrated into > sendmail at some point?I hope so. Eric Allman and Claus Assman are aware that I''m doing the work, and patches that I''ve submitted to Sendmail in the past have been accepted. > If you run into any issues with USDT or if there> are any features that would make your life easier, please let us know.Will do. At the moment the work''s a little simple -- it was a pleasant surprise to discover that the probes that I''ve added so far aren''t technically necessary, as they map to the entry/exit points of existing Sendmail functions, so I could have used the PID provider[1]. I plan on doing more with the is_enabled probes in the near future though. N [1] Although that would have been complicated by trying to follow children created by fork(). Being able to find all Sendmail''s running in a zone with ''sendmail*:::'' is very useful.