Os recursos de criação de perfil do Java seriam aprimorados no Java Flight Recorder (JFR), uma ferramenta para coletar dados de diagnóstico e criação de perfil na execução de aplicativos Java, sob uma proposta flutuante na comunidade OpenJDK.
Chamado Skogsluft, o projeto introduziria recursos avançados de criação de perfil para preencher a lacuna entre Java e execução de código nativo e ofereceria opções de criação de perfil mais precisas e flexíveis. A Skogsluft se concentraria em três melhorias principais, afirma a proposta:
- Um stackwalker aprimorado, capaz de percorrer pilhas mistas de Java e nativas. Isso forneceria aos desenvolvedores uma visão mais coerente dos rastreamentos de pilha, especialmente em aplicativos onde Java e código nativo estão interligados.
- Um agendador de amostragem de CPU flexível. Para Linux, isso seria em perf_event_open ou timer_create. Para macOS, o iterador seria usado. Para outros sistemas operacionais, o sistema retornaria às amostras de execução padrão. Este aprimoramento tem como objetivo oferecer amostragem de CPU mais precisa e adaptável.
- Suporte de rotulagem para JFR, com desenvolvedores capazes de definir rótulos de valor-chave por thread que são incorporados em qualquer evento JFR. Essa rotulagem forneceria um contexto mais rico na criação de perfil de dados, permitindo depuração e análise mais direcionadas.
A API JFR seria estendida para suportar rotulagem fácil e flexível de threads para garantir que os rótulos sejam capturados de forma consistente nos dados de criação de perfil. O projeto começaria com um clone do lançamento planejado da linha principal do JDK 23, que está previsto para setembro, e acompanharia os lançamentos da linha principal daqui para frente.