Qual é a diferença entre monitoramento, rastreamento e criação de perfil?

14

Eu vi essas três palavras aparecerem muito, mas não entendo as diferenças exatas entre elas. Por exemplo, coletar a utilização da CPU geralmente é chamado de criação de perfil e também pode cair no monitoramento de desempenho. Qual é a diferença (sutil) entre eles?

    
por Richard 09.11.2012 / 02:27

2 respostas

10

É assim que uso essas palavras. Outros podem ter usos adicionais ou diferentes. Dependendo do trabalho em questão, usarei os termos de maneira diferente. Equipes de desenvolvimento e equipes de operações têm diferentes necessidades e uso.

O monitoramento está monitorando. Geralmente está em andamento e, de preferência, automatizado. Ferramentas de código aberto como Munin , Nagios e MRTG se enquadram nessa categoria. Existem muitas ferramentas comerciais também. Eu também incluiria sar executado continuamente nessa categoria, mas seus resultados normalmente não são monitorados. As ferramentas de monitoramento podem ser usadas para acionar alertas quando um recurso monitorado fica acima ou abaixo do nível do acionador. Muitas ferramentas de monitoramento funcionam bem em ambientes heterogêneos.

A criação de perfil geralmente é feita em um determinado programa para ver qual código está usando a maioria dos recursos. Geralmente, esse é o tempo de CPU, mas também pode incluir memória, E / S e tempo de execução (parede). Geralmente é usado para identificar o código candidato para otimização. As ferramentas de criação de perfil tendem a ser dependentes de idioma e / ou plataforma.

Um tipo diferente de perfil é feito usando logs e / ou dados de monitoramento. Esse é o perfil de uso e pode ser feito por vários motivos. Eu não encontrei muitas ferramentas para fazer isso.

Eu uso o rastreamento de duas maneiras diferentes. Mais frequentemente, eu rastreio rotas de rede. Dependendo das configurações de rede e firewall, uma variedade de ferramentas pode ser usada com mais ou menos sucesso. A maioria destes traceroute em seu nome ou descrição.

O rastreamento de programa está rastreando a execução de um programa. Isso geralmente é feito em uma situação de teste. Isso pode ser feito de várias maneiras (na minha ordem de uso e experiência):

  • Chame o rastreio usando ferramentas como strace para ver qual código é chamado. Isso pode ser útil para determinar por que um programa está falhando ou não respondendo conforme o esperado.
  • Criação de log em nível de rastreio, que depende de instruções de log apropriadas incluídas no código. A maioria das suítes de registro suporta esse nível de detalhe. O registro em nível de rastreamento tende a ter uma cobertura de código ruim. Eu geralmente adiciono conforme necessário e deixo no código para uso futuro.
  • Rastreamento de cobertura de código registra quais partes do código foram executadas em um conjunto de testes. Isso pode ser útil para determinar casos de teste ausentes. 100% de cobertura de código é difícil de obter. Cobertura de 100% dos fluxos normais deve ser alcançável.
  • Verificação de mesa: rastreie o código lendo-o. Não é muito útil em programas maiores, mas é uma boa maneira de identificar casos de borda para testes de unidade, e / ou para identificar possíveis problemas quando a fonte provável tiver sido diminuída. Os IDEs e editores tornam relativamente fácil seguir uma chamada para o código de implementação.
  • Depuração ao vivo; rastreamento de execução de código enquanto está sendo executado usando um depurador. É possível rastrear instruções de execução por instrução, mas se o problema for um problema de tempo, pode ser obscurecido. Depuradores que podem ligar o código à instrução atual ajudam bastante, mas podem requerer uma versão de depuração do programa a ser construída.
por 09.11.2012 / 03:13
0

No servidor de aplicativos SAP WEB, podemos definir essas três palavras-chave conforme mencionado abaixo -

Monitoramento, rastreamento e técnicas de perfil oferecidos pela Web, bem como as técnicas fornecidos por outros sistemas SAP e externos podem ser integrados usando o comprovado CCMS. arquitetura, o que pode simplificar bastante a manutenção de grandes, distribuídos e instalações heterogêneas.

    
por 03.12.2012 / 13:25