From 276fd58886cd1a376cfe8bbeafe8a5673bc8bee2 Mon Sep 17 00:00:00 2001 From: lacatoire Date: Tue, 9 Jun 2026 14:40:00 +0200 Subject: [PATCH] [Sync EN] Add bpftrace section to DTrace document Refs: php/doc-en@939350f9b52be4b91e04ec1a5d41995e63aa5150 --- features/dtrace.xml | 193 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 192 insertions(+), 1 deletion(-) diff --git a/features/dtrace.xml b/features/dtrace.xml index 0c8c567ba..99c9130c4 100644 --- a/features/dtrace.xml +++ b/features/dtrace.xml @@ -1,5 +1,5 @@ - + Instrumentação dinâmica DTrace @@ -552,6 +552,197 @@ probe process("sapi/cli/php").provider("php").mark("request__startup") { + + Usando bpftrace com Sondas Estáticas DTrace do PHP + + Em distribuições Linux com um kernel que suporta eBPF, o + utilitário bpftrace pode se conectar diretamente às sondas USDT DTrace do PHP, + sem precisar do SystemTap. + + + Instalando o bpftrace + + Instale o bpftrace usando o gerenciador de pacotes da distribuição. Por + exemplo, no Oracle Linux, RHEL ou Fedora: + + + + + + Ou, no Debian ou Ubuntu: + + + + + + + + Os exemplos abaixo assumem que o binário PHP alvo está instalado em + /usr/bin/php. + + + As mesmas sondas USDT também são expostas por outras SAPIs construídas a partir da mesma árvore de fontes, então o + alvo da sonda pode ser, ao invés disso, o módulo do Apache + (libphp.so) ou o binário do FastCGI Process Manager + (php-fpm); substitua o caminho + apropriado ou conecte-se pelo PID com -p conforme necessário. + + + Certifique-se de que o binário alvo foi construído com o DTrace e que o ambiente está configurado corretamente. + Veja Configurando o PHP para Sondas Estáticas DTrace para detalhes. + + + As sondas estáticas do PHP podem ser listadas usando + bpftrace: + + + + + + + + + A saída é: + + + + + + + + + + <filename>all_probes.bt</filename> para instrumentação de todas as Sondas Estáticas do PHP com bpftrace + + + + + + + + O script acima irá instrumentar todos os pontos de sondas estáticas do núcleo do PHP + durante toda a duração de um script PHP em execução. O bpftrace requer + privilégios de root: + + + + + + + + + Para instrumentar um processo PHP já em execução (por exemplo, um + worker do php-fpm ou um processo Apache carregando + libphp.so), conecte-se pelo PID: + + + + + + O caminho alvo usdt: no script deve corresponder ao binário do + processo em execução; ajuste usdt:/usr/bin/php para o + binário do php-fpm ou para libphp.so conforme apropriado. + + +