Recentemente, estive em Tallinn para uma conferência chamada TopConf e um encontro local do Docker. E você pode pensar que isso não tem muito a ver com o título desta postagem, mas na verdade tem. Tallinn também é onde você encontrará a sede da ZeroTurnaround. A ZeroTurnaround é a empresa por trás da XRebel. E enquanto eu tuitava que estava lá Simon Maple viu e me convidou para um tour em seu escritório local. Agora posso convidá-lo para uma visita à integração do XRebel e do Couchbase.
O que é o XRebel?
É uma ferramenta de desempenho para aplicativos da Web Java. Do site deles:
Use insights de desempenho em tempo real para entender e resolver possíveis problemas com mais rapidez e antecedência, durante a fase de desenvolvimento. Domine seus aplicativos de negócios para reduzir o retrabalho, minimizar o débito técnico e melhorar a experiência do usuário final.
Ele se integra a várias filas de mensagens e bancos de dados, sendo o Couchbase um dos mais recentes. Ele oferece uma visão geral abrangente de todas as chamadas feitas ao seu backend sempre que você envia uma solicitação ao servidor.
Como faço para tentar isso?
Continue ZeroTurnaround e faça o download da versão mais recente do XRebel. Descompacte-a e lembre-se de onde ela está, pois você precisará de sua localização. Ele funciona mais ou menos automaticamente porque é um agente Java. Toda vez que você executa um processo Java, precisa declarar o caminho para esse agente na configuração da JVM. Se você estiver iniciando seu aplicativo usando o java, será assim:
java -jar -javaagent:[caminho/para/]xrebel.jar myApp.jar
Ou se, como eu, você estiver usando o Maven e um aplicativo Spring Boot:
mvn spring-boot:run -Drun.agent="[path/to/]xrebel.jar"
Se o agente tiver sido captado corretamente, você deverá ver os seguintes registros de mensagens:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
XRebel: Início registro para arquivo: /casa/ldoguin/.xrebel/xrebel.registro 2016-11-29 16:00:42 XRebel: 2016-11-29 16:00:42 XRebel: ################################################################ 2016-11-29 16:00:42 XRebel: 2016-11-29 16:00:42 XRebel: Isso produto é licenciado para Laurent Doguin (Couchbase) 2016-11-29 16:00:42 XRebel: 2016-11-29 16:00:42 XRebel: Licença tipo: julgamento 2016-11-29 16:00:42 XRebel: Válido de: Novembro 17, 2016 2016-11-29 16:00:42 XRebel: Válido até que: Dezembro 1, 2016 2016-11-29 16:00:42 XRebel: 2016-11-29 16:00:42 XRebel: **************************************************************** 2016-11-29 16:00:42 XRebel: Seu licença é sobre para EXPIRE! 2016-11-29 16:00:42 XRebel: **************************************************************** 2016-11-29 16:00:42 XRebel: 2016-11-29 16:00:42 XRebel: Isso licença vontade expirar em 3 dias e XRebel vontade 2016-11-29 16:00:42 XRebel: parar de trabalho após que. Renovar seu licença em: 2016-11-29 16:00:42 XRebel: 2016-11-29 16:00:42 XRebel: http://zeroturnaround.com/software/xrebel/buy 2016-11-29 16:00:42 XRebel: 2016-11-29 16:00:42 XRebel: ################################################################ 2016-11-29 16:00:42 XRebel: 2016-11-29 16:00:42 XRebel: 2016-11-29 16:00:42 XRebel: ################################################################ 2016-11-29 16:00:42 XRebel: 2016-11-29 16:00:42 XRebel: XRebel 3.1.6-DEV-FOTOGRAFIA (201611171352) 2016-11-29 16:00:42 XRebel: (c) Direitos autorais ZeroTurnaround AS, Estônia, Tallinn. 2016-11-29 16:00:42 XRebel: 2016-11-29 16:00:42 XRebel: Para perguntas e suporte, contato xrebel@zeroturnaround.com 2016-11-29 16:00:42 XRebel: 2016-11-29 16:00:42 XRebel: ################################################################ 2016-11-29 16:00:42 XRebel: |
Agora, o XRebel se conectará a um servlet em execução e começará a injetar algum código HTML automaticamente para que você possa acessar o painel de controle. Aqui está um exemplo usando um aplicativo que fiz para uma postagem anterior do blog:
Como você pode ver, o XRebel fornece uma boa indicação do que está acontecendo em cada chamada que você faz. Você pode ver todo o stacktrace e os detalhes de cada operação do Couchbase realizada, seja ela chave/valor, consulta N1QL ou pesquisa de texto completo.