Biblioteca gratuita de cobertura de código Java que mede quais partes do bytecode Java são exercitadas pelos testes.
alibaba/jvm-sandbox
Um contêiner de sandbox para JVM que adiciona AOP não invasivo em tempo de execução a aplicações Java em execução, sem reiniciá-las.
- Estrelas
- 6,953
- Forks
- 1,586
- Issues abertas
- 49
- Último commit
- há 2 meses
O que é?
O JVM-SANDBOX é um contêiner de framework AOP para Java que se conecta a uma JVM em execução e aprimora métodos-alvo durante a execução. Não é necessário reiniciar nem modificar as aplicações-alvo, e os módulos podem ser carregados e descarregados sob demanda, sem deixar rastros na aplicação.
Ele funciona dividindo cada chamada de método nas etapas BEFORE, RETURN e THROWS. Assim, os módulos de plugin podem ler ou alterar argumentos, valores de retorno e exceções, ou interromper a execução do método antes que ela termine. O sandbox e os módulos são executados em seus próprios class loaders, evitando conflitos com as classes da aplicação. O projeto é baseado em Instrumentation e oferece suporte do JDK 6 ao 11.
Entre os usos mais comuns estão o diagnóstico de falhas online, o logging dinâmico, a injeção de falhas, a gravação e reprodução de requisições, o controle de tráfego e o monitoramento ou mascaramento de dados sensíveis.
Recursos principais
- 01Conecta-se a uma JVM em execução sem reiniciar nem modificar a aplicação-alvo.
- 02Permite que os módulos leiam ou alterem argumentos de métodos, valores de retorno e exceções.
- 03Isola o sandbox e os módulos das classes da aplicação por meio de class loaders personalizados.
- 04Os módulos podem ser carregados e descarregados a quente sem deixar rastros.
- 05Oferece suporte a vários tenants, cada um com sandboxes controlados de forma independente.
- 06É executado no JDK 6 ao 11.
Casos de uso
- Diagnosticar problemas em produção adicionando logs dinâmicos a métodos, sem fazer novo deploy.
- Injetar falhas em métodos para testar como o sistema lida com erros.
- Gravar chamadas de métodos e reproduzir seus resultados para testes.
- Monitorar ou mascarar dados sensíveis que passam pelos métodos da aplicação.
Início rápido
- 1
Baixe o zip da versão mais recente (o README informa que este link OSS pode expirar).
wget https://ompc.oss-cn-hangzhou.aliyuncs.com/jvm-sandbox/release/sandbox-1.3.3-bin.zip - 2
Ou compile a distribuição você mesmo com JDK 1.8 no Linux ou macOS.
cd bin && ./sandbox-package.sh - 3
Anexe o sandbox a um processo Java em execução (substitua 33342 pelo ID do seu processo).
./sandbox.sh -p 33342
Antes de usar
- O README informa que há suporte apenas para JDK 6 a 11.
- Para compilar a partir do código-fonte, é necessário ter JDK 1.8 e Linux, macOS ou Unix; o Windows não é compatível para a compilação.
- Licenciado sob a LGPL-3.0, uma licença copyleft.
Em coleções
Tópicos
Perguntas frequentes
- O que é jvm-sandbox?
- Um contêiner de sandbox para JVM que adiciona AOP não invasivo em tempo de execução a aplicações Java em execução, sem reiniciá-las. O JVM-SANDBOX é um contêiner de framework AOP para Java que se conecta a uma JVM em execução e aprimora métodos-alvo durante a execução. Não é necessário reiniciar nem modificar as aplicações-alvo, e os módulos podem ser carregados e descarregados sob demanda, sem deixar rastros na aplicação.
- jvm-sandbox é gratuito? Qual é a licença?
- jvm-sandbox é open source sob a licença LGPL-3.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- jvm-sandbox ainda é mantido?
- Atualizado nos últimos 6 meses. O último commit de jvm-sandbox foi em 9 de set. de 2026.
- Para que posso usar jvm-sandbox?
- Diagnosticar problemas em produção adicionando logs dinâmicos a métodos, sem fazer novo deploy. Injetar falhas em métodos para testar como o sistema lida com erros. Gravar chamadas de métodos e reproduzir seus resultados para testes. Monitorar ou mascarar dados sensíveis que passam pelos métodos da aplicação.
- Como instalar jvm-sandbox?
- Baixe o zip da versão mais recente (o README informa que este link OSS pode expirar).: wget https://ompc.oss-cn-hangzhou.aliyuncs.com/jvm-sandbox/release/sandbox-1.3.3-bin.zip Ou compile a distribuição você mesmo com JDK 1.8 no Linux ou macOS.: cd bin && ./sandbox-package.sh Anexe o sandbox a um processo Java em execução (substitua 33342 pelo ID do seu processo).: ./sandbox.sh -p 33342
- Onde consigo jvm-sandbox?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/alibaba/jvm-sandbox
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Ferramenta de APM de alto desempenho para Java que coleta métricas de métodos e da JVM por meio de um Java agent, sem exigir alterações no código da aplicação.
Visualizador e editor de bytecode para arquivos de classe Java, além de uma biblioteca Kotlin Multiplatform para lê-los e gravá-los.
A biblioteca oficial de cliente Python para expor métricas de aplicações no formato de monitoramento do Prometheus.
Ferramenta de instrumentação OpenTelemetry em tempo de compilação para Go que adiciona traces e métricas com o prefixo `otel go build`, sem alterar o código da aplicação.
Framework Python para projetar, desenvolver e avaliar agentes autônomos de AIOps em ambientes simulados de nuvem com microsserviços e injeção de falhas.