dtrace(1)
dtrace(1) - Linux manual sida
NAMN
dtrace - DTrace-kompatibelt verktyg för generering av statiska sonder för användarapplikationer.
SYNOPSIS
<syntaxhighlight lang="bash"> dtrace -s fil [ALTERNATIV] </syntaxhighlight>
BESKRIVNING
Kommandot dtrace konverterar sonderingsbeskrivningar definierade i fil.d till en sondhuvudfil via alternativet -h eller en sondbeskrivningsfil via alternativet -G.
ALTERNATIV
- -h - Generera en systemtap-huvudfil.
- -G - Generera en systemtap-sonddefinitionsobjektfil.
- -o fil - Namnet på utdatafilen. Om alternativet -G anges kommer utdatafilen att heta fil.o; om alternativet -h anges kommer utdatafilen att heta fil.h.
- -C - Kör C-preprocessorn (cpp) på indatafilen om alternativet -h anges.
- -I fil - Ange denna inkluderingsväg till cpp om alternativet -C används.
- -k - Behåll temporära filer, t.ex. C-källkod för alternativet -G.
EXEMPEL
Systemtap är källkodskompatibelt med DTrace-stöd för användarapplikationers statiska sonder. Givet en fil test.d med innehållet: <syntaxhighlight lang="c"> provider sdt_probes {
probe test_0 (int type); probe test_1 (struct astruct node);
}; struct astruct {int a; int b;}; </syntaxhighlight>
Då kommer kommandot: <syntaxhighlight lang="bash"> dtrace -s test.d -G </syntaxhighlight> att skapa sonden test.o, och kommandot: <syntaxhighlight lang="bash"> dtrace -s test.d -h </syntaxhighlight> att skapa sondhuvudfilen test.h.
Applikationen kan sedan använda de genererade makrona så här: <syntaxhighlight lang="c">
- include "test.h"
... struct astruct s; ... SDT_PROBES_TEST_0(value); ... if (SDT_PROBES_TEST_1_ENABLED())
SDT_PROBES_TEST_1(expensive_function(s));
</syntaxhighlight>
SEMAFORER
Semaforer är flaggvariabler som används av sonder som ett sätt att undvika potentiellt kostsamma beräkningar för att förbereda argument för sonder som kanske inte ens är aktiva. De sätts och rensas automatiskt av SystemTap när ett relevant skript körs, så argumentförberedelseskostnaden betalas endast när det är nödvändigt.
Dessa semaforvariabler definieras i test.o, som därför måste länkas till en applikation.
Om semaforvariabler inte behövs, inkludera <sys/sdt.h> innan test.h: <syntaxhighlight lang="c">
- include <sys/sdt.h>
- include "test.h"
... struct astruct s; ... SDT_PROBES_TEST_0(value); ... if (SDT_PROBES_TEST_1_ENABLED())
SDT_PROBES_TEST_1(cheap_function(s));
</syntaxhighlight>
I detta läge är ENABLED()-testet alltid satt till 1.
SE ÄVEN
BUGGAR
Använd Bugzilla-länken på projektets webbplats eller vår e-postlista.
- http://sourceware.org/systemtap/
- <systemtap@sourceware.org>
- error::reporting(7stap)
- https://sourceware.org/systemtap/wiki/HowToReportBugs
COLOPHON
Denna sida är en del av systemtap-projektet (ett verktyg för spårning och analys av levande system). Information om projektet finns på [1].
Om du upptäcker fel i denna man-sida, rapportera det via e-post till systemtap@sourceware.org.
Sidslut
Orginalhemsidan på Engelska :https://man7.org/linux/man-pages/man1/dtrace.1.html
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till PC Service som har sponsrat Linux.se med webbhotell.