Another addition to DTrace was the integration of a SCSI provider allowing you to trace SCSI commands on your system. It's a quite powerful feature allowing you to get in-depth insight what's going on on the storage side of your system. I really suggest to read through the documentation.

However what's not really highlighted in the "What's new" documentation for Solaris 11.4 is the availability of a new script called scsitrace in Oracle Solaris 11.4. This script uses the new functionality in order give you this kind of deep insight without having to write a script for DTrace on your own.

root@batou:/# /usr/dtrace/DTT/scsitrace -v
Press Control C to exit
00039.958182402 0x2a write(10) -> ahci0 dev:0:0 path: timeout:60  zpool-rpool(5)  cdb:0x2a0001ffbcd800000200 id:ffffa100336f860000000184a7f53340
00039.958208406 0x2a write(10) -> ahci0 dev:0:0 path: timeout:60  zpool-rpool(5)  cdb:0x2a0001ffbed800000200 id:ffffa100336fe08000000184a7f59980
00039.958221834 0x2a write(10) <- ahci0 dev:0:0 path: tran:1(ACCEPT) reason:0(completed) status:0(GOOD) sense:0x0/0x0/0x0 resid:0x0 latency:40(40+18446744073709551)us cdb:0x2a0001ffbcd800000200 id:ffffa100336f860000000184a7f53340
00039.958222081 0x2a write(10) <- ahci0 dev:0:0 path: tran:1(ACCEPT) reason:0(completed) status:0(GOOD) sense:0x0/0x0/0x0 resid:0x0 latency:14(14+18446744073709551)us cdb:0x2a0001ffbed800000200 id:ffffa100336fe08000000184a7f59980
00039.958627013 0x35 synchronize_cache -> ahci0 dev:0:0 path: timeout:60  sched(0)  cdb:0x35000000000000000000 id:ffffa100336fe08000000184a7fbf9cd
00039.959734004 0x35 synchronize_cache <- ahci0 dev:0:0 path: tran:1(ACCEPT) reason:0(completed) status:0(GOOD) sense:0x0/0x0/0x0 resid:0x0 latency:1104(1104+18446744073709551)us cdb:0x35000000000000000000 id:ffffa100336fe08000000184a7fbf9cd

This script would have been really handy recently when i had to diagnose a performance problem at a customer. I got the data differently, but it would have been much easier with the script. However the system was still running 11.3.

1 Comment

Linear

  • Pablo  
    Does not do something similar to scsi.d we had before?.

    I usually run it in io domains to diagnose if performance problems was from hba port to storage cabinet or inside the system itself as a complement to service time metrics in vmstat.

Add Comment

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA