<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/features.dtrace.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'de',
  ),
  'this' => 
  array (
    0 => 'features.dtrace.introduction.php',
    1 => 'Einf&uuml;hrung in PHP und DTrace',
    2 => 'Einf&uuml;hrung in PHP und DTrace',
  ),
  'up' => 
  array (
    0 => 'features.dtrace.php',
    1 => 'DTrace Dynamic Tracing (Anwendungsanalyse in Echtzeit)',
  ),
  'prev' => 
  array (
    0 => 'features.dtrace.php',
    1 => 'DTrace Dynamic Tracing (Anwendungsanalyse in Echtzeit)',
  ),
  'next' => 
  array (
    0 => 'features.dtrace.dtrace.php',
    1 => 'PHP mit DTrace verwenden',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    'path' => 'features/dtrace.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="features.dtrace.introduction" class="sect1">
  <h2 class="title">Einführung in PHP und DTrace</h2>

  <p class="para">
   DTrace ist ein Tracing-Framework, das immer verfügbar ist, einen geringen
   zusätzlichen Rechenaufwand verursacht und auf vielen Plattformen wie
   Solaris, macOS, Oracle Linux und BSD zur Verfügung steht. DTrace kann das
   Verhalten des Betriebssystems und die Ausführung von Benutzerprogrammen
   verfolgen. Es kann Parameterwerte anzeigen und zur Abschätzung von
   Leistungsstatistiken verwendet werden. Prüfsonden (Probes) werden durch vom
   Benutzer erstellte Skripte, die in der DTrace-Skriptsprache D geschrieben
   sind, überwacht. Dies ermöglicht eine effiziente Analyse der Datenpunkte.
  </p>

  <p class="para">
   PHP-Sonden, die nicht aktiv vom DTrace-D-Skript eines Benutzers überwacht
   werden, enthalten keinen Instrumentierungscode, sodass es während der
   normalen Ausführung der Anwendungen keine Leistungseinbußen gibt. Sonden,
   die überwacht werden, verursachen im Allgemeinen einen so geringen
   zusätzlichen Rechenaufwand, dass die Überwachung mit DTrace auf
   Produktivsystemen möglich ist.
  </p>

  <p class="para">
   PHP verfügt über USDT-Sonden, die zur Laufzeit ausgelöst werden (USDT:
   User-level Statically Defined Tracing; statisch definiertes Tracing auf
   Benutzerebene). Wenn ein D-Skript zum Beispiel PHP&#039;s
   <code class="literal">function-entry</code>-Sonde überwacht, löst diese Sonde bei
   jedem Funktionsaufruf den entsprechenden D-Skript-Aktionscode aus. Dieser
   Aktionscode könnte zum Beispiel die Parameter der Sonde, also z. B. den
   Speicherort der Quelldatei dieser PHP-Funktion, ausgeben. Oder die Aktion
   könnte Daten sammeln, z. B. wie oft jede Funktion aufgerufen wird.
  </p>

  <p class="para">
   Hier werden nur die PHP-USDT-Sonden beschrieben. Um zu erfahren, wie DTrace
   verwendet werden kann, um beliebige Funktionen und das Verhalten des
   Betriebssystems zu überwachen, sind die allgemeine und die
   betriebssystemspezifische DTrace-Literatur zu empfehlen. Es ist zu
   beachten, dass nicht alle DTrace-Funktionen in allen
   DTrace-Implementierungen verfügbar sind.
  </p>

  <p class="para">
   Die statischen DTrace-Sonden in PHP können auf einigen Linux-Distributionen
   alternativ auch mit SystemTap verwendet werden.
  </p>
 </div><?php manual_footer($setup); ?>