Tipos de profiler
Profiling do ClickHouse com a integração do XRay
sleepForNanoseconds, que é uma função prática para verificar quanto
tempo ela leva para executar.
Fazendo profiling de uma aplicação nativa usando o XRay
Adicione instrumentação ao código
-fxray-instrumenté necessário para instrumentar o código.-fxray-instruction-threshold=1é usado para instrumentar todas as funções, mesmo que sejam muito pequenas, como no nosso exemplo. Por padrão, ele instrumenta funções com pelo menos 200 instruções.
Execute o processo com os valores adequados nas variáveis de ambiente para coletar o trace
XRAY_OPTIONS para
configurar quando o profiler começa a coletar e como isso é feito.
Converta o trace
trace_event é muito útil porque
é fácil de fazer o parse e já há várias ferramentas que o suportam, então usaremos esse:
Visualize o trace
Ordem cronológica
Mais pesado à esquerda
Sanduíche
Confira a documentação
- SYSTEM INSTRUMENT — Adicione ou remova pontos de instrumentação.
- system.instrumentation — Inspecione os pontos instrumentados.
- system.symbols — Inspecione símbolos para adicionar pontos de instrumentação.
- system.trace_log — Inspecione os dados coletados usando pontos de instrumentação.
- XRay Instrumentation
- Documentação sobre Debugging with XRay para mais detalhes.