como funciona o NewRelic simplesmente instalando o agente .Net?

6

Ontem, decidi experimentar o NewRelic . Eu me inscrevi para uma conta gratuita e instalei o agente .Net e reiniciei o IIS conforme as instruções. Imediatamente, esse agente começou a exibir diversas informações no painel, como:

  • instruções SQL mais lentas
  • quais métodos estão demorando mais para executar
  • quais páginas estão sendo acessadas com mais frequência

Como o acima e muito mais podem ser feitos simplesmente instalando o Agente .Net? Estou preocupado com o desempenho real do aplicativo - usei ferramentas de criação de perfil anteriormente, o que atrasa bastante o aplicativo, modificando as DLLs compiladas. No entanto, esta ferramenta não parece ter modificado nada.

Eu ainda preciso inventar o significado de todas essas informações e como isso realmente poderia me ajudar, mas parece-me bastante "mágico" e estou preocupado se houver alguma implicação no desempenho para deixar o agente em execução e carregar informações para o painel de instrumentos.

    
por Karl Cassar 31.10.2013 / 10:59

2 respostas

7

A New Relic diz que usa a API de perfis .Net.

link

The .NET agent instruments application and system code using BCI (byte code injection). This is done by registering the New Relic agent with the CLR (Common Language Runtime) as a "profiler." The CLR calls out to the .NET agent when code is loaded, and the agent instruments the code if it's an interesting method call.

    
por 26.11.2013 / 03:50
4

A principal diferença entre o agente .NET do New Relic e as ferramentas tradicionais de criação de perfis é que o agente .NET do New Relic não instrumenta tudo . Os desenvolvedores da New Relic passaram e selecionaram métodos-chave em várias estruturas (por exemplo, ASP.NET) e bibliotecas (por exemplo, SQL Server) e o agente injeta código apenas nesses métodos. Um profiler tradicional irá injetar código em tudo , e é por isso que eles normalmente atrasam seu aplicativo. Ao injetar código seletivamente, a New Relic pode ter a certeza de manter a sobrecarga baixa, mas ainda assim fornecer informações sobre as partes interessantes da sua aplicação.

    
por 06.06.2014 / 18:48