Date: Tue, 30 Aug 2022 16:58:26 +0100 From: Domagoj Stolfa <domagoj.stolfa@gmail.com> To: freebsd-dtrace@freebsd.org Subject: Re: Converting int to a string in DTrace Message-ID: <cce03483-a994-777d-dae0-d28ed779aadd@gmail.com> In-Reply-To: <317C65CC-5BF0-422D-80E9-4340CD241569@FreeBSD.org> References: <317C65CC-5BF0-422D-80E9-4340CD241569@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------1viIHluN1HYGP4F0X3I01dDB Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit 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 --------------1viIHluN1HYGP4F0X3I01dDB Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <p>Hi Mateusz:</p> <p><br> </p> <p>I believe that lltostr might be what you're looking for?</p> <p><br> </p> <div class=""> <div class=""> this->unit_number = args[1]->unit_number >= 0 ? lltostr(args[1]->unit_number) : "";</div> <div class=""><br> </div> <div class=""><br> </div> <div class="">-- <br> </div> <div class="">Domagoj<br> </div> <div class=""><br> </div> </div> <div class="moz-cite-prefix">On 8/30/2022 4:49 PM, Mateusz Piotrowski wrote:<br> </div> <blockquote type="cite" cite="mid:317C65CC-5BF0-422D-80E9-4340CD241569@FreeBSD.org"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> Hello everyone, <div class=""><br class=""> </div> <div class="">Is it possible to convert an int to a string in DTrace?</div> <div class=""><br class=""> </div> <div class="">E.g., I'd like the following script to work (it's an example from dtrace_io(4), but with device unit number added):</div> <div class=""><br class=""> </div> <blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""> <div class=""> <div class="">#!/usr/sbin/dtrace -s</div> </div> <div class=""> <div class=""><br class=""> </div> </div> <div class=""> <div class="">#pragma D option quiet</div> </div> <div class=""> <div class=""><br class=""> </div> </div> <div class=""> <div class="">io:::start</div> </div> <div class=""> <div class="">{</div> </div> <div class=""> <div class=""> this->unit_number = args[1]->unit_number >= 0 ? (string)args[1]->unit_number : "";</div> </div> <div class=""> <div class=""> @[args[1]->device_name, this->unit_number, execname, pid] = sum(args[0]->bio_bcount);</div> </div> <div class=""> <div class="">}</div> </div> <div class=""> <div class=""><br class=""> </div> </div> <div class=""> <div class="">END</div> </div> <div class=""> <div class="">{</div> </div> <div class=""> <div class=""> printf("%10s%-3s %20s %10s %15s\n", "DEVICE", "", "APP", "PID", "BYTES");</div> </div> <div class=""> <div class=""> printa("%10s%-3s %20s %10d %15@d\n", @);</div> </div> <div class=""> <div class="">}</div> </div> </blockquote> <div class=""> <div class=""><br class=""> </div> </div> <div class="">(Of course, the `(string)` cast does not work here because it's just not how DTrace works.)</div> <div class=""><br class=""> </div> <div class="">Best,</div> <div class="">Mateusz</div> </blockquote> </body> </html> --------------1viIHluN1HYGP4F0X3I01dDB--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?cce03483-a994-777d-dae0-d28ed779aadd>