Melhor maneira de usar o Perf em um programa no Kubernetes / Docker?

1

Estou executando o Kubernetes no CentOS 7, e não parece que a versão de perf esteja ciente do namespace.

Se executar perf no PID no nó do host (nó do host encontrado com kubectl describe pods --namespace ), recebo um erro sobre os símbolos não encontrados. Isso parece ser porque ele procura o caminho do arquivo relativo ao contêiner, mas no sistema de arquivos do nó do host.

Se eu copiar o exe (um Go exe que inclui os símbolos) para o caminho esperado no nó do host (com kubectl cp ... ou localizando o arquivo sob sobreposição2 em /var/lib/docker ), então perf top -p <pid> funcionará o host host node, pois ele pode encontrar os mesmos símbolos que correspondem ao exe no container.

Existe uma maneira melhor / mais limpa de executar perf em um processo em execução em um contêiner com um host do CentOS 7?

Referências:

por Kyle Brandt 19.09.2018 / 20:11

0 respostas