dtrace(1): Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '== 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 === *...')
 
Ingen redigeringssammanfattning
Rad 1: Rad 1:
== dtrace(1) - Linux manual sida ==
== NAMN ==
'''dtrace''' - Dtrace-kompatibelt verktyg för generering av statiska sonddefinitioner för användarapplikationer.


=== NAMN ===
== SYNOPSIS ==
dtrace - DTrace-kompatibelt verktyg för generering av statiska sonder för användarapplikationer.
<code>dtrace -s</code> ''fil'' [<code>OPTIONER</code>]


=== SYNOPSIS ===
== BESKRIVNING ==
<syntaxhighlight lang="bash">
Kommandot '''dtrace''' konverterar sondbeskrivningar definierade i ''fil.d'' till en sondheaderfil via alternativet <code>-h</code> eller en sonddeskriptionsfil via alternativet <code>-G</code>.
dtrace -s fil [ALTERNATIV]
</syntaxhighlight>


=== BESKRIVNING ===
== OPTIONER ==
Kommandot '''dtrace''' konverterar sonderingsbeskrivningar definierade i '''fil.d''' till en sondhuvudfil via alternativet '''-h''' eller en sondbeskrivningsfil via alternativet '''-G'''.
* <code>-h</code> genererar en systemtap-headerfil.
* <code>-G</code> genererar en systemtap-sondbeskrivningsobjektfil.
* <code>-o</code> ''fil''
* Anger namnet på utdatafilen. Om <code>-G</code> ges skapas ''fil.o''; om <code>-h</code> ges skapas ''fil.h''.
* <code>-C</code> kör cpp-preprocessorn på indatafilen när <code>-h</code> används.
* <code>-I</code> ''fil''
Anger sökvägen till inkluderingsfiler för cpp när <code>-C</code> används.
* <code>-k</code> behåller temporära filer, exempelvis C-källkod för <code>-G</code>.


=== ALTERNATIV ===
== EXEMPEL ==
* '''-h'''  - Generera en systemtap-huvudfil.
Systemtap är källkodskompatibelt med Dtrace-stöd för statiska sonder i användarapplikationer. Givet en fil ''test.d'' innehållande:
* '''-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 ===
provider sdt_probes
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">
  probe test_0 (int typ);
provider sdt_probes {
  probe test_1 (struct astruct nod);
  probe test_0 (int type);
};
  probe test_1 (struct astruct node);
struct astruct {int a; int b;};
};
struct astruct {int a; int b;};
</syntaxhighlight>


kommer kommandot:
skapar kommandot <code>dtrace -s test.d -G</code> sonddefinitionen ''test.o'' och kommandot <code>dtrace -s test.d -h</code> skapar sondheadern ''test.h''. Därefter kan applikationen använda de genererade makrona så här:
<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:
#include "test.h"
<syntaxhighlight lang="c">
...
#include "test.h"
struct astruct s;
...
...
struct astruct s;
SDT_PROBES_TEST_0(varde);
...
...
SDT_PROBES_TEST_0(value);
if (SDT_PROBES_TEST_1_ENABLED())
...
    SDT_PROBES_TEST_1(dyr_funktion(s));
if (SDT_PROBES_TEST_1_ENABLED())
    SDT_PROBES_TEST_1(expensive_function(s));
</syntaxhighlight>


=== SEMAFORER ===
== 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.
Semaforer är flaggvariabler som används av sonder för att undvika onödig processorkostnad vid beredning av argument till sonder som kanske inte ens är aktiva. De sätts och rensas automatiskt av systemtap när ett relevant skript körs, så att argumenthanteringskostnaden bara uppstår när det är nödvändigt. Dessa semaforvariabler definieras i ''test.o''-objektfilen, vilken därför måste länkas in i applikationen.


Dessa semaforvariabler definieras i '''test.o''', som därför måste länkas till en applikation.
I vissa fall behövs inte semaforvariabler. Genom att utesluta dem kan byggprocessen förenklas, genom att slippa inkludera ''test.o''. För att skippa beroendet av semaforvariabler, inkludera <code>&lt;sys/sdt.h&gt;</code> i applikationen innan ''test.h'':


Om semaforvariabler inte behövs, inkludera '''<sys/sdt.h>''' innan '''test.h''':
#include &lt;sys/sdt.h&gt;
<syntaxhighlight lang="c">
#include "test.h"
#include <sys/sdt.h>
...
#include "test.h"
struct astruct s;
...
...
struct astruct s;
SDT_PROBES_TEST_0(varde);
...
...
SDT_PROBES_TEST_0(value);
if (SDT_PROBES_TEST_1_ENABLED())
...
    SDT_PROBES_TEST_1(billig_funktion(s));
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'''.
I detta läge är ENABLED()-testet alltid satt till 1.


=== SE ÄVEN ===
== SE ÄVEN ==
* [[stap(1)]]
* [[stap(1)]]
* [[stappaths(7)]]
* [[stappaths(7)]]


=== BUGGAR ===
== BUGGAR ==
Använd Bugzilla-länken på projektets webbplats eller vår e-postlista.
Använd Bugzilla-länken på projektets webbplats eller vår e-postlista för felrapporter:
* [http://sourceware.org/systemtap/ http://sourceware.org/systemtap/]
* [http://sourceware.org/systemtap/ SystemTap hemsida]
* <systemtap@sourceware.org>
* [mailto:systemtap@sourceware.org systemtap@sourceware.org]
* [[error::reporting(7stap)]]
* [https://sourceware.org/systemtap/wiki/HowToReportBugs 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å [https://sourceware.org/systemtap/].
 
Om du upptäcker fel i denna man-sida, rapportera det via e-post till systemtap@sourceware.org.


== COLOFON ==
Denna sida är en del av ''systemtap''-projektet (ett verktyg för spårning och live-systemanalys). Mer information finns på [https://sourceware.org/systemtap/]. Felrapporter skickas till systemtap@sourceware.org. Sidan hämtades från projektets uppströms-Git-repo ⟨git://sourceware.org/git/systemtap.git⟩ den 2 februari 2025.





Versionen från 11 mars 2025 kl. 08.06

NAMN

dtrace - Dtrace-kompatibelt verktyg för generering av statiska sonddefinitioner för användarapplikationer.

SYNOPSIS

dtrace -s fil [OPTIONER]

BESKRIVNING

Kommandot dtrace konverterar sondbeskrivningar definierade i fil.d till en sondheaderfil via alternativet -h eller en sonddeskriptionsfil via alternativet -G.

OPTIONER

  • -h genererar en systemtap-headerfil.
  • -G genererar en systemtap-sondbeskrivningsobjektfil.
  • -o fil
  • Anger namnet på utdatafilen. Om -G ges skapas fil.o; om -h ges skapas fil.h.
  • -C kör cpp-preprocessorn på indatafilen när -h används.
  • -I fil

Anger sökvägen till inkluderingsfiler för cpp när -C används.

  • -k behåller temporära filer, exempelvis C-källkod för -G.

EXEMPEL

Systemtap är källkodskompatibelt med Dtrace-stöd för statiska sonder i användarapplikationer. Givet en fil test.d innehållande:

provider sdt_probes
{
  probe test_0 (int typ);
  probe test_1 (struct astruct nod);
};
struct astruct {int a; int b;};

Då skapar kommandot dtrace -s test.d -G sonddefinitionen test.o och kommandot dtrace -s test.d -h skapar sondheadern test.h. Därefter kan applikationen använda de genererade makrona så här:

#include "test.h"
...
struct astruct s;
...
SDT_PROBES_TEST_0(varde);
...
if (SDT_PROBES_TEST_1_ENABLED())
    SDT_PROBES_TEST_1(dyr_funktion(s));

SEMAFORER

Semaforer är flaggvariabler som används av sonder för att undvika onödig processorkostnad vid beredning av argument till sonder som kanske inte ens är aktiva. De sätts och rensas automatiskt av systemtap när ett relevant skript körs, så att argumenthanteringskostnaden bara uppstår när det är nödvändigt. Dessa semaforvariabler definieras i test.o-objektfilen, vilken därför måste länkas in i applikationen.

I vissa fall behövs inte semaforvariabler. Genom att utesluta dem kan byggprocessen förenklas, genom att slippa inkludera test.o. För att skippa beroendet av semaforvariabler, inkludera <sys/sdt.h> i applikationen innan test.h:

#include <sys/sdt.h>
#include "test.h"
...
struct astruct s;
...
SDT_PROBES_TEST_0(varde);
...
if (SDT_PROBES_TEST_1_ENABLED())
   SDT_PROBES_TEST_1(billig_funktion(s));

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 för felrapporter:

COLOFON

Denna sida är en del av systemtap-projektet (ett verktyg för spårning och live-systemanalys). Mer information finns på [1]. Felrapporter skickas till systemtap@sourceware.org. Sidan hämtades från projektets uppströms-Git-repo ⟨git://sourceware.org/git/systemtap.git⟩ den 2 februari 2025.


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.