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 === *...')
 
 
(3 mellanliggande sidversioner av samma användare visas inte)
Rad 1: Rad 1:
== dtrace(1) - Linux manual sida ==
== NAME ==
''dtrace'' - Dtrace-kompatibelt verktyg för att generera statiska probdefinitioner för användarapplikationer.


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


=== SYNOPSIS ===
== BESKRIVNING ==
<syntaxhighlight lang="bash">
''dtrace'' konverterar probbeskrivningar definierade i ''fil.d'' till en probhuvudfil via alternativet '''-h''' eller en probbeskrivningsfil via alternativet '''-G'''.
dtrace -s fil [ALTERNATIV]
</syntaxhighlight>


=== BESKRIVNING ===
== ALTERNATIV ==
Kommandot '''dtrace''' konverterar sonderingsbeskrivningar definierade i '''fil.d''' till en sondhuvudfil via alternativet '''-h''' eller en sondbeskrivningsfil via alternativet '''-G'''.
'''-h''' - Genererar en systemtap-huvudfil.


=== ALTERNATIV ===
'''-G''' - Genererar en systemtap-probbeskrivningsobjektfil.
* '''-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 ===
'''-o''' ''fil'' - Namn på utdatafilen. Om '''-G''' anges kommer utdatafilen att heta ''fil.o''; om '''-h''' anges kommer utdatafilen att heta ''fil.h''.
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:
'''-C''' - Kör C-preprocessorn på indatafilen när '''-h''' används.
<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:
'''-I''' ''fil'' - Anger en include-sökväg till C-preprocessorn när '''-C''' används.
<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 ===
'''-k''' - Behåller temporära filer, t.ex. C-källkod för '''-G''' alternativet.
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.
== EXEMPEL ==
Systemtap är källkompatibelt med dtrace för användarapplikationers statiska probstöd. Givet en fil ''test.d'' med innehållet:


Om semaforvariabler inte behövs, inkludera '''<sys/sdt.h>''' innan '''test.h''':
provider sdt_probes
<syntaxhighlight lang="c">
{
#include <sys/sdt.h>
    probe test_0 (int type);
#include "test.h"
    probe test_1 (struct astruct node);
...
};
struct astruct s;
struct astruct {int a; int b;};
...
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'''.
Då kommer kommandot ''dtrace -s test.d -G'' att skapa probdefinitionen ''test.o'' och kommandot ''dtrace -s test.d -h'' att skapa probhuvudfilen ''test.h''. Applikationen kan sedan använda de genererade makrona på följande sätt:


=== SE ÄVEN ===
#include "test.h"
...
struct astruct s;
...
SDT_PROBES_TEST_0(value);
...
if (SDT_PROBES_TEST_1_ENABLED())
    SDT_PROBES_TEST_1(expensive_function(s));
 
== SEMAFORER ==
Semaforer är flaggvariabler som används av probers för att undvika kostsam förberedelse av argument till probers som kanske inte ens är aktiva. De sätts och rensas automatiskt av systemtap när ett relevant skript körs. Semaforvariabler definieras inom ''test.o''-objektfilen, vilken därför måste länkas till en applikation.
 
Ibland är semaforvariabler onödiga. För att hoppa över beroendet av dessa inkluderar du ''<sys/sdt.h>'' innan ''test.h'' i applikationen:
 
#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));
 
I detta läge är ENABLED()-testet alltid satt till 1.
 
== SE OCKSÅ ==
* [[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 webbsida eller vår e-postlista:
* [http://sourceware.org/systemtap/ http://sourceware.org/systemtap/]
* [http://sourceware.org/systemtap/ http://sourceware.org/systemtap/]
* <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.
== COLOPHON ==
Denna sida är en del av ''systemtap''-projektet (ett verktyg för spårning och analys av körande system). Mer information finns på [https://sourceware.org/systemtap/ https://sourceware.org/systemtap/].


Om du har en felrapport för denna manualsida, skicka den till systemtap@sourceware.org.





Nuvarande version från 11 mars 2025 kl. 08.10

NAME

dtrace - Dtrace-kompatibelt verktyg för att generera statiska probdefinitioner för användarapplikationer.

SYNOPSIS

dtrace -s fil [OPTIONS]

BESKRIVNING

dtrace konverterar probbeskrivningar definierade i fil.d till en probhuvudfil via alternativet -h eller en probbeskrivningsfil via alternativet -G.

ALTERNATIV

-h - Genererar en systemtap-huvudfil.

-G - Genererar en systemtap-probbeskrivningsobjektfil.

-o fil - Namn på utdatafilen. Om -G anges kommer utdatafilen att heta fil.o; om -h anges kommer utdatafilen att heta fil.h.

-C - Kör C-preprocessorn på indatafilen när -h används.

-I fil - Anger en include-sökväg till C-preprocessorn när -C används.

-k - Behåller temporära filer, t.ex. C-källkod för -G alternativet.

EXEMPEL

Systemtap är källkompatibelt med dtrace för användarapplikationers statiska probstöd. Givet en fil test.d med innehållet:

provider sdt_probes
{
    probe test_0 (int type);
    probe test_1 (struct astruct node);
};
struct astruct {int a; int b;};

Då kommer kommandot dtrace -s test.d -G att skapa probdefinitionen test.o och kommandot dtrace -s test.d -h att skapa probhuvudfilen test.h. Applikationen kan sedan använda de genererade makrona på följande sätt:

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

SEMAFORER

Semaforer är flaggvariabler som används av probers för att undvika kostsam förberedelse av argument till probers som kanske inte ens är aktiva. De sätts och rensas automatiskt av systemtap när ett relevant skript körs. Semaforvariabler definieras inom test.o-objektfilen, vilken därför måste länkas till en applikation.

Ibland är semaforvariabler onödiga. För att hoppa över beroendet av dessa inkluderar du <sys/sdt.h> innan test.h i applikationen:

#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));

I detta läge är ENABLED()-testet alltid satt till 1.

SE OCKSÅ

BUGGAR

Använd Bugzilla-länken på projektets webbsida eller vår e-postlista:

COLOPHON

Denna sida är en del av systemtap-projektet (ett verktyg för spårning och analys av körande system). Mer information finns på https://sourceware.org/systemtap/.

Om du har en felrapport för denna manualsida, skicka den 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.