Podręcznik użytkownika DTrace

Paul Echeverri

Damian Wojsław

Tłumaczenie, korekta 

Zawartość tesj dokumentacji podlega licencji Public Documentation License Version 1.01 (¨Licencji¨); wolno używać jej tylko w zgodzie z postanowieniami Licencji. Kopia licencji dostępna jest na stronie http://www.opensolaris.org/os/community/documentation/license.

Sun Microsystems, Inc. jest właścicielem praw do technologii utożsamianej w produkcje opisanym w tym dokumencie. W szczególności, i bez żadnych wyjątków, prawa te mogą obejmować jeden lub więcej patentów USA lub patentów oczekująych na wydanie w USA lub w innych krajach.

Prawa rządu USA - oprogramowanie komercyjne. Użytkownicy rządowi podlegają standardowym postanowieniom porozumień licenccyjnych z Sun Microsystems, Inc. oraz odpowiednim postanowieniom FAR wraz z aneksami.

Dokument ten może zawierać materiały stworzone przez osoby trzecie.

Część produktu może pochodzić od systemów Berkeley BSD, licencjonowanych od University of California. UNIX jest znakiem handlowym w zastrzeżonym w USA i w innych krajach przez X/Open Company, Ltd.

Sun, Sun Microsystems, logo Sun, logo Solaris, logo Java Coffee Cup, docs.sun.com, Java i Solaris są znakami handlowymi lub zstrzeżonymi znakami handlowymi Sun Microsystems, Inc. w USA i innych krajach. Wszystkie znaki handlowe SPARC użyte zostały na licencji i są znakami handlowymi lub zastrzeżonymi znakami handlowymi SPARC International, Inc. w USA i innych krajach. Produkty ze znakiem SPARC opierają się na architekturze opracowanej przez Sun Microsystems, Inc.

OPEN LOOK orac interfejst graficzny Sun™ zostały stworzone przez Sun Microsystems, Inc. dla użytkowników i licencjobiorców. Sun pamięta o pionierskich dokonaniach Xerox w dziedzinie wizualnych i graficznych interfejsów użytkownika dla przemysłu komputerowego. Sun ma licencję od Xerox na Xerox Graphical User Interface, której podlegają również licencjobiorcy Suna implementujący graficzne interfejsy użytkownika OPEN LOOK i w każdy sposób wypełniają pisemne porozumienia licencyjne z Sunem.

Produkty opisywane w tym tej publikacji oraz zawarte w niej informacje podlegają prawom eksportowym USA i mogą podlegać prawom eksportowym i importowym w innych krajach. Zabrania się się używania w zastosowaniach powiązanych z bronią atomową, biologiczną lub chemiczną, jak również użytkownikom takich broni. Eksport i reeksport - bezpośredni i pośredni - do krajów i osobom wskazanym na liście wykluczenia z eksportu USA włączywszy w to, ale nie ograniczając do zabronionych osób i specjalnie stworzonych list krajów jest ściśle wzbronione.

DOKUMENTACJA DOSTARCZANA JEST BEZ ŻADNEJ GWARANCJI POPRAWNOŚCI I WSZELKIE WYRAŻONE LUB IMPLIKOWANE WARUNKI, REPREZENTACJE I GWARANCJE, WŁĄCZAJĄC WSZELKIE IMPLIKOWANE GWARANCJE SPRZEDAŻY, POPRAWNOŚCI DLA PEWNYCH ZASTOSOWAŃ I [FIXME] NON-INFRINGEMENT [/FIXME] SĄ WYŁACZONE, POMIJAJĄC TE OBSZARY, DLA KTÓRYCH TAKIE WYKLUCZENIA SĄ ZABRONIONE PRAWEM.

Sun Microsystems, Inc. détient les droits de propriété intellectuelle relatifs à la technologie incorporée dans le produit qui est décrit dans ce document. En particulier, et ce sans limitation, ces droits de propriété intellectuelle peuvent inclure un ou plusieurs brevets américains ou des applications de brevet en attente aux Etats-Unis et dans d'autres pays.

Cette distribution peut comprendre des composants développés par des tierces personnes.

Certaines composants de ce produit peuvent être dérivées du logiciel Berkeley BSD, licenciés par l'Université de Californie. UNIX est une marque déposée aux Etats-Unis et dans d'autres pays; elle est licenciée exclusivement par X/Open Company, Ltd.

Sun, Sun Microsystems, le logo Sun, le logo Solaris, le logo Java Coffee Cup, docs.sun.com, Java et Solaris sont des marques de fabrique ou des marques déposées de Sun Microsystems, Inc. aux Etats-Unis et dans d'autres pays. Toutes les marques SPARC sont utilisées sous licence et sont des marques de fabrique ou des marques déposées de SPARC International, Inc. aux Etats-Unis et dans d'autres pays. Les produits portant les marques SPARC sont basés sur une architecture développée par Sun Microsystems, Inc.

L'interface d'utilisation graphique OPEN LOOK et Sun a été développée par Sun Microsystems, Inc. pour ses utilisateurs et licenciés. Sun reconnaît les efforts de pionniers de Xerox pour la recherche et le développement du concept des interfaces d'utilisation visuelle ou graphique pour l'industrie de l'informatique. Sun détient une licence non exclusive de Xerox sur l'interface d'utilisation graphique Xerox, cette licence couvrant également les licenciés de Sun qui mettent en place l'interface d'utilisation graphique OPEN LOOK et qui, en outre, se conforment aux licences écrites de Sun.

Les produits qui font l'objet de cette publication et les informations qu'il contient sont régis par la legislation américaine en matière de contrôle des exportations et peuvent être soumis au droit d'autres pays dans le domaine des exportations et importations. Les utilisations finales, ou utilisateurs finaux, pour des armes nucléaires, des missiles, des armes chimiques ou biologiques ou pour le nucléaire maritime, directement ou indirectement, sont strictement interdites. Les exportations ou réexportations vers des pays sous embargo des Etats-Unis, ou vers des entités figurant sur les listes d'exclusion d'exportation américaines, y compris, mais de manière non exclusive, la liste de personnes qui font objet d'un ordre de ne pas participer, d'une façon directe ou indirecte, aux exportations des produits ou des services qui sont régis par la legislation américaine en matière de contrôle des exportations et la liste de ressortissants spécifiquement designés, sont rigoureusement interdites.

LA DOCUMENTATION EST FOURNIE "EN L'ETAT" ET TOUTES AUTRES CONDITIONS, DECLARATIONS ET GARANTIES EXPRESSES OU TACITES SONT FORMELLEMENT EXCLUES, DANS LA MESURE AUTORISEE PAR LA LOI APPLICABLE, Y COMPRIS NOTAMMENT TOUTE GARANTIE IMPLICITE RELATIVE A LA QUALITE MARCHANDE, A L'APTITUDE A UNE UTILISATION PARTICULIERE OU A L'ABSENCE DE CONTREFACON.

May 2006

Abstract

Książka ta jest wstępem do możliwości dymamicznego śledzenia wprowadzonych w Solarisie 10. Opisane są podstawowe właściwości frameworku DTrace. Podano również wiele przykładów podstawowych funkcji DTrace.


Table of Contents

Przedmowa
Kto powinien używać tej książki?
Przed lekturą tego podręcznika
Bibliografia
Dokumentacja, obsługa techniczna i szkolenia
Konwencje typograficzne
Znak powłoki w przykładach poleceń
1. Wprowadzenie
Możliwości DTrace
Opis architektury
Dostawcy DTrace
Sondy DTrace
Predykaty DTrace
Akcje DTrace
Język skryptowy D
2. Podstawy DTrace
Drukowanie sond
Wskazywanie sond w DTrace
Włączanie sond
Podstawy akcji DTrace
Akcje zapisujące dane
Akcje niszczycielskie (ang. destructive actions)
Agregacje DTrace
Składna agregacji DTrace
3. Pisanie skryptów w języku D
Pisanie D-skryptów
Wykonywalne D-skrypty
D Literal Strings
D-skrypty przyjmujące argumenty
Wbudowane zmienne DTrace
4. Używanie DTrace
Performance Monitoring
Obserwacja zagadnień wydajnościowych z dostawcą sysinfo
Śledzenie procesów użytkownika
Używanie podprogramów copyin i copyinstr
Unikanie zakłóceń z dtrace
Dostawca syscall
Akcja ustack
Dostawca pid
Anonimowe śledzenie
Anonimowe uruchomienia
Podłączanie do anonimowego stanu
Przykłady śledznia anonimowego
Śledzenie spekulatywne
Interfejsy spekulacyjne
Tworzenie spekulacji
Używanie spekulacji
Zapisywanie spekulacji
Odrzucanie spekulacji
Przykład spekulacji
Index

List of Tables

1. Konwencje typograficzne
2. Znaki zachęty powłok
2.1. DTrace Aggregating Functions
3.1. DTrace Consumer Options
4.1. DTrace Speculation Functions

List of Examples

2.1. Drukowanie sond ze względu na pewne funkcje
2.2. Drukowanie sond ze względu na pewne moduły
2.3. Drukowanie sond ze względu na nazwę
2.4. Drukowanie sond ze względu na dostawcę
2.5. Kilku dostawców obsługujących pewne funkcje lub moduły
2.6. Włączanie sond na podstawie modułu
2.7. Włączanie sond ze względu na dostawcę
2.8. Włączanie sond ze względu na nazwę
2.9. Włączanie sond ze względu na pełną nazwę
2.10. Wskazywanie sondzie żądanej akcji
2.11. Śledzenie nazwy wykonywanego pliku
2.12. Śledzenie czasu wejścia do wywołania systemowego
2.13. Wskazywanie kilku akcji
2.14. Using an Aggregating Function
3.1. Running a D Script from the Command Line
3.2. Using D Literal Strings With The trace Function
3.3. PID Argument Example
4.1. Using the quantize Aggregation Function With the sysinfo Probes
4.2. Finding the Source of Cross-Calls
4.3. userfunc.d: Trace User Function Entry and Return
4.4. errorpath.d: Trace User Function Call Error Path
4.5. Typical Use of The speculation Function
4.6. specopen.d: Code Flow for Failed open