Pergunta

Qual é a maneira mais simples de registrar o tempo de resposta de um serviço da web baseado em restlet?

Quero ter certeza de que nosso webservice tenha um tempo de resposta razoável.Portanto, quero poder ficar de olho nos tempos de resposta e fazer algo a respeito das solicitações que demoram muito.

A coisa mais próxima que consegui encontrar foi esta receita: http://www.naviquan.com/blog/restlet-cookbook-log, explica como alterar o formato do log.Mas não parece haver um parâmetro para tempos de resposta, então provavelmente será necessária uma abordagem completamente diferente.

Foi útil?

Solução

Bem o mais simples A maneira de registrar os tempos de resposta é, é claro, ligando System.getCurrentTimeMillis() No início do seu Restlet e, novamente, no final do seu Restlet e registrando a diferença. É claro que isso não vai lhe dar a sobrecarga da estrutura, e eu suspeito que seja muito mais ingênuo e trivial do que você procura.

Estou postando, no entanto, porque depois de 10 dias ninguém respondeu, e eu suspeito que é porque todo mundo está pensando em silêncio

"Você não pode simplesmente usar o System.getCurrentTimemillis ()? Não, certamente é uma resposta muito idiota; eu pareceria um idiota se dissesse isso. Vou esperar que outra pessoa faça o primeiro post."

Outras dicas

Não acho que o registro seja a melhor opção aqui, pelo menos nenhum dos tipos de registro incorporados no Restlet ou na API Java.Eles são destinados ao registro em log orientado à depuração programática ou ao registro de acesso destinado a fornecer estatísticas sobre quais recursos estão sendo usados ​​e por quem.Mas o verdadeiro problema é que você não mediria a experiência real que seus usuários teriam com seu serviço.

Se você deseja medir os tempos de resposta que seus usuários experimentarão, então você realmente precisa ter uma abordagem de amostragem que esteja fora da pilha de aplicativos e, idealmente, fora do datacenter, para simular o mais próximo possível do real. -condições mundiais sob as quais seus usuários usarão seu serviço.

Se você precisar apenas testar os resultados de métodos bastante simples GET e POST solicitações, um serviço como Pingdom provavelmente seria suficiente.Se o seu serviço for mais complexo, talvez seja necessário escrever seu próprio aplicativo/script de amostragem, que pode servir como um proxy do Pingdom, et al, para o seu serviço real.Você deve hospedar o proxy de amostragem em um servidor separado do seu serviço real.do Google Motor de aplicação pode ser conveniente para isso.

Uma maneira de fazer isso, suponho, é usar a API métrica do Codehale. Basta adicionar uma anotação @Timed(name="sampleApiName") para sua declaração de API.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top