Friday, July 28, 2006

Happy Day for all SysAdmins


Happy SysAdmin Day !

Take a short break, get some cake and some drinks. I opened a nice 12 years old scotch whisky MacAllan bottle and some cake... even there was not enough space for 'SysAdmin' string the surprise was nice. Thanks Manta !

For all SysAdmins folks have a good day and for all of you which dont know what this day is, please have a look:

http://www.sysadminday.com/
The Song

Sunday, June 11, 2006

Educational DTraceToolkit...


I've been busy with DTrace and Solaris. In fact I was working in getting ready a DTrace presentation for
Opensolaris/DTrace community: a generic workshop about DTrace and DTraceToolkit - a simple introduction on the new dynamic tracing framework and as well a presentation of DTraceToolkit with real case examples.

You can call this the first version, many new things planned to be added here:
- DTrace/DTT for Database Administrators
- DTrace/DTT for Java Developers
- Other examples using DTT
- support for certain local groups: romanian, etc

The main point of this presentation was to bring to people's attention the toolkit: a big collection of D/sh/ksh scripts used to help you in troubleshooting and debug situations. Please feel free and reuse the presentation as you like. Im talking with Brendan to see if we can include it under the toolkit or find a better place for it.

At the moment you can download the presentation from this address

I think it is very important that people understand what new tools, mechanisms Solaris 10 is providing. Working for Sun Microsystems Finland I must ensure that our local customer base does get the real signal about DTrace and how can they use DTrace in production systems. So here comes the point of presenting DTrace and DTraceToolkit.

Even if you are a bank, a telco, a software house or maybe a game company sooner or later you will have to observer closely your business and troubleshoot it when some things might not function correctly. Or better you have to look the entire system and see the entire stack how it functions... Years ago, call this the stone age, people used to simple restart applications or simple reboot the entire system when something was not properly functioning...In present we can still see such things happening. You have a choice using Solaris/DTrace to stop doing this and start understanding what's going on...

If you are in Finland and need to meet and talk about these things don't hesitate to contact me! Otherwise drop me an email, I really much appreciate your feedback.

Cheers,
Stefan

Saturday, January 21, 2006

Testing DTraceToolkit


I have started to help Brendan to test every DTraceToolkit script and write some more documentation about DTT. Why ? Well simple put it because DTraceToolkit (call it DTT) is already a big toolkit with lots of interesting and smart scripts ready to be used within companies and businesses I would say. What I was looking for was to make sure the DTT was tested and 'certified' for a certain Solaris version release.

So, looks like Im in charge of designing some simple test procedures for DTT scripts. First of all I should be able to create an automated script which will test every DTT category and report several numbers back: time spent to execute the script, if the script was executed fine or not. Doing this we could ensure that DTT works fine on a newer version of Solaris Express or S10. In the same time I started to record all defects or RFEs related with these and document and submit to Brendan. We might need to think for a better bugtracking system...

So this way I started to write dttck - The DTraceToolkit Checker. For fun this is what dttck does at the moment:


sparvu@earth>./dttck
Check DTrace privileges - ok
Usage: dttck [options] [script...]
options:
    -A All scripts
    -a apps scripts
    -c cpu scripts
    -d disk scripts
    -e extra scripts
    -l locks scripts
    -m mem scripts
    -n net scripts
    -s system scripts
    -u user scripts
    -r regression
    -o output report
    -q quiet mode


The script can be used to select certain categories or run individual scripts. Example below how Im testing the Apps category:

sparvu@earth>./dttck -a
Check DTrace privileges - ok

Category: Apps
Scripts: all
Date: 2006-01-26 22:20:04
Number of scripts: 4
     script: httpdstat.d - ok
     script: weblatency.d - ok
     script: shellsnoop - ok
     script: nfswizard.d - ok
Elapsed time: 16 sec(s)


The entire Apps category was tested by firing each script. The checker does record the trace for every run under a report directory called something like: hostname_datetime. E.g.: earth_200601262220, where every script will record its execution trace. At the end a final report file would be compiled gathering all data:

sparvu@earth>ls
Apps.httpdstat.d.out Apps.shellsnoop.out report_earth_200601262220
Apps.nfswizard.d.out Apps.weblatency.d.out

sparvu@earth>cat report_earth_200601262220

REPORT QA DTraceToolkit

DTraceToolkit version 0.92, 12-Jan-2006
Operating System: SunOS 5.11 snv_31 i386

Category: Apps
Scripts: all
Date: 2006-01-26 22:20:04
Number of scripts: 4
     script: httpdstat.d - ok
     script: weblatency.d - ok
     script: shellsnoop - ok
     script: nfswizard.d - ok
Elapsed time: 16 sec(s)


Summary Report

Categories: 1
Failed Scripts: 0/4
Passed Scripts: 4/4
Total Elapsed time: 16 secs

Report generated by: sparvu



There are many things to fix and refine in DTT. I think that DTT is a powerful toolkit which should be used within companies. That's why Im dedicated my time testing and documenting various parts of it. There are no such toolkits under Windows, HPUX, or any other Linux based systems making Solaris a very nice platform for production and development.