Re: Converting int to a string in DTrace
- Reply: Mateusz Piotrowski : "Re: Converting int to a string in DTrace"
- In reply to: Mateusz Piotrowski : "Converting int to a string in DTrace"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 30 Aug 2022 15:58:26 UTC
Hi Mateusz: I believe that lltostr might be what you're looking for? this->unit_number = args[1]->unit_number >= 0 ? lltostr(args[1]->unit_number) : ""; -- Domagoj On 8/30/2022 4:49 PM, Mateusz Piotrowski wrote: > Hello everyone, > > Is it possible to convert an int to a string in DTrace? > > E.g., I'd like the following script to work (it's an example from > dtrace_io(4), but with device unit number added): > > #!/usr/sbin/dtrace -s > > #pragma D option quiet > > io:::start > { > this->unit_number = args[1]->unit_number >= 0 ? > (string)args[1]->unit_number : ""; > @[args[1]->device_name, this->unit_number, execname, pid] > = sum(args[0]->bio_bcount); > } > > END > { > printf("%10s%-3s %20s %10s %15s\n", "DEVICE", "", "APP", > "PID", "BYTES"); > printa("%10s%-3s %20s %10d %15@d\n", @); > } > > > (Of course, the `(string)` cast does not work here because it's just > not how DTrace works.) > > Best, > Mateusz