MiniProfiler.SharpSapRfc: um novo pacote no NuGet

19 de Setembro de 2015 2 minutos para ler

Já fazia algum tempo que havia lido sobre o MiniProfiler, mas nunca tive a oportunidade de testar. Recentemente comecei a usá-lo e tenho gostado tanto que resolvi compartilhar com vocês o resultado do estudo.

Trata-se de uma biblioteca pequena, fácil de instalar e de configurar, e que traz informações muito úteis relacionadas ao tempo de resposta e processamento de cada página web. Foi criado pelo time do Stack Overflow (o Google dos programadores) e é utilizado por eles em produção. Um grande case de sucesso, não é mesmo?

Com o MiniProfiler é possível saber quanto tempo cada requisição HTTP está levando e principalmente quais as etapas do código que estão demorando mais para serem processadas. Deixe-o ligado em seu ambiente de desenvolvimento e a cada página navegada você verá no canto superior esquerdo uma pequena caixa informando quanto tempo levou para que a página fosse completamente carregada.

É necessário adicionar um chamada ao MiniProfiler para cada trecho de código que você quer contabilizar o tempo de execução. Existem alguns pacotes no NuGet que disponibilizam formas automáticas de registrar o profiling sem ter que explicitamente codificar todas as classes.

Um exemplo de pacote é o MiniProfiler.MVC4 que permite contabilizar o tempo de execução de todos os Controllers e da renderização de todas as views adicionando apenas meia dúzia de código. Sensacional, não é?

Normalmente aplicações web fazem grande uso de banco de dados SQL, e é aqui que normalmente encontramos o maior causador de lentidão. Felizmente existem pacotes que automatizam a coleta de indicadores de desempenho para estes recursos. Alguns exemplos de pacotes são SQL (qualquer banco de dados), Entity Framework, MongoDb, Raven e …

MiniProfiler.SharpSapRfc

Chamadas de funções no SAP podem ser bem lentas, principalmente quando estamos lidando com funções standard. Utilizar um profiling nestes casos ajuda bastante na hora de encontrarmos o vilão em uma requisição demorada.

É para estes casos que criei a biblioteca MiniProfiler.SharpSapRfc. Com esta biblioteca é possível fazer o profiling de todas chamadas remotas ao SAP quando utilizado com SharpSapRfc. Seu código está no GitHub e os binários disponíveis no NuGet.

As instruções de instalação e uso estão na página inicial do projeto no GitHub.

Abaixo estão duas imagens de uma demonstração que montei. Neste caso estou usando SharpSapRfc.Soap, mas o profiler funciona perfeitamente com SharpSapRfc.Plain, tanto x64 quanto x86.

Espero que seja tão útil para você quanto está sendo para mim.

Abraço,

Guilherme