<?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 => 'pt_BR',
  ),
  'this' => 
  array (
    0 => 'features.dtrace.introduction.php',
    1 => 'Introdu&ccedil;&atilde;o ao PHP e DTrace',
    2 => 'Introdu&ccedil;&atilde;o ao PHP e DTrace',
  ),
  'up' => 
  array (
    0 => 'features.dtrace.php',
    1 => 'Instrumenta&ccedil;&atilde;o din&acirc;mica DTrace',
  ),
  'prev' => 
  array (
    0 => 'features.dtrace.php',
    1 => 'Instrumenta&ccedil;&atilde;o din&acirc;mica DTrace',
  ),
  'next' => 
  array (
    0 => 'features.dtrace.dtrace.php',
    1 => 'Usando PHP e DTrace',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'pt_BR',
    '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">Introdução ao PHP e DTrace</h2>

  <p class="para">
   DTrace é um framework de instrumentação com alta disponibilidade e pequena sobrecarga,
   disponível em um número de plataformas incluindo Solaris, macOS,
   Oracle Linux e BSD. DTrace pode instrumentar comportamento do sistema operacional
   e execução de programa de usuário. Ele pode exibir valores de argumentos e ser
   usado para inferir estatísticas de desempenho. As sondas são monitoradas nos scripts
   criados pelo usuário escritos na linguagem própria do DTrace (D). Isto
   permite uma análise eficiente de pontos de dados.
  </p>

  <p class="para">
   Sondas PHP que não estão monitoradas ativamente por um script
   D do usuário não contêm código instrumentado, então não há
   degradação de desempenho durante a execução normal da aplicação.
   Sondas que estão sendo monitoradas incorrem em uma sobrecarga pequena o suficiente
   para permitir monitoramento pelo DTrace em sistemas ativos em fase de produção.
  </p>

  <p class="para">
   PHP incorpora sondas com &quot;Instrumentação Estaticamente Definida no Nível de Usuário&quot; (USDT em inglês)
   que são ativadas em tempo de execução. Por exemplo, quando um script D
   está monitorando a sonda de <code class="literal">function-entry</code> do PHP,
   a cada momento que uma função do PHP é chamada, esta sonda é disparada e
   o código de ação do script D associado é executado.  Este código de ação
   poderia, por exemplo, imprimir argumentos de sonda como a localização do arquivo-fonte
   da função PHP. Ou a ação poderia agregar dados como
   o número de vezes que cada função é chamada.
  </p>

  <p class="para">
   Apenas as sondas USDT do PHP são descritas aqui. Refira-se à literatura externa do Dtrace,
   tanto geral quanto específica do sistema operacional, para entender como
   o DTrace pode ser usado para instrumentar funções arbitrárias, e como ele pode ser
   usado para instrumentar comportamento do sistema operacional. Note que nem todas as
   características do DTrace estão disponíveis em todas as implementações.
  </p>

  <p class="para">
   As sondas estáticas do Dtrace no PHP podem alternativamente ser utilizadas com a
   ferramenta SystemTap de algumas distribuições Linux.
  </p>
 </div><?php manual_footer($setup); ?>