OpenJDK CRaC support
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
A issue não especifica arquivos-fonte, testes nem pontos de entrada. Comece rastreando como o javaagent gerencia sua conexão com o servidor e revise o ciclo de vida de checkpoint e restore do CRaC; considera-se concluído quando o agente puder fechar os recursos gerenciados antes de um checkpoint e reabri-los após a restauração.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
I'm using Spring Boot app and I was hoping I could utilize the CRaC project. My app uses this javaagent to send profiling data to server.
In order for CRaC to work, so called checkpoint must be captured, and restored. Before checkpoint is captured, all open connections, sockets and files must be closed. Also, when restoring the checkpoint, every such connection,socket and file must be reopened so the app can perform the same way before the checkpoint was taken.
So the problem here is that pyroscope java agent has an open connection to server where it sends data to, and from the java code, we have no way to close/reopen such connection, meaning capturing the checkpoint is impossible.
The solution would be to make pyroaxopw javaagent CRaC compatible, meaning that the agent can automatically respond to checkpoint capturing/restoring by closing /reopening connections,sockets and files it manages.
That way capturing the checkpoint would be possible.
Other javaagents have the same issue with CRaC and are actively working on it:
https://github.com/elastic/apm-agent-java/issues/2982
https://github.com/newrelic/newrelic-java-agent/issues/1697
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/10363
- Linguagem predominante
- Java
- Estrelas
- 125
- Forks
- 48
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de grafana/pyroscope-java
-
Clean up dead publishing repository config and credentials in subproject build filesTalvez já em andamento @arnabnandy7 assumiu há 24 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
grafana/pyroscope-java#294 ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 54/100
grafana/pyroscope-java#371 · 2 reações ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
grafana/pyroscope-java#368 · 1 comentário ·
-
improve asprof extractionAberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
grafana/pyroscope-java#283 ·
-
libasyncProfiler-linux-x64.so dump in /tmpTalvez livre de novo @korniltsev-grafanista assumiu há 262 dias e não há nenhum pull request aberto. Aberta
grafana/pyroscope-java#250 · 1 comentário · 1 responsável ·
Todas as issues de grafana/pyroscope-java
Issues semelhantes
-
Wrong link to test resultsAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 2 dias
-
docs(site): Mermaid edge-label contrast on Architecture and a table header on How it comparesAbertadocumentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
devops-thiago/ThrillhouseBot#1132 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
carlos-emr/carlos#4732 ·
Mantenedores costumam responder em até 1 dia
-
good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 80/100
Mantenedores costumam responder em até 3 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
Mantenedores costumam responder em até 1 dia