¿Cómo se perfila la fuente de Java con el editor de ideas intellij? [cerrado]

83

Sé que Netbeans tiene una especie de generador de perfiles "integrado", por ejemplo, puede ejecutar pruebas unitarias y usarlas para analizar y encontrar qué los está ralentizando, dónde están los cuellos de botella. ¿Es posible perfilar el código dentro del editor IntelliJ IDEA?

Rogerdpack
fuente
1
Hasta donde yo sé, solo hay una integración de perfilador gratuita: VisualVM .
CrazyCoder
Aparentemente, hay un complemento JProfiler no gratuito, FWIW stackoverflow.com/a/21156875/32453
rogerdpack
Hoy instalé el complemento VisualVM en INtellij IDEA ... inicialmente enfrenté algún problema, pero cuando seguí las instrucciones proporcionadas en blog.idrsolutions.com/2013/05/… pude configurar visualVM fácilmente
Shirishkumar Bari
2
Otra pregunta que es demasiado práctica y útil para permanecer abierta. Deberán prestar apoyo a las preguntas con conjuntos de respuestas {N} donde lo suficientemente bueno resultado (s) de serie: [ X, Y, Z] ascenso a la cima a través de la comunidad y el resto desaparece / requiere ninguna acción adicional debido a una caída natural. De nuevo a través de la comunidad. "¿De verdad quieres responder a esto? ¿Porque ya hay una respuesta votada bastante bien?" "Sí, porque ahora hay una mejor respuesta". Quiero decir que eso nunca sucede en el software, ¿verdad?
P.Brian.Mackey
1
FYI: En IntelliJ IDEA v2018.3 Ultimate Edition, JVM Profiler está disponible como una función experimental. Ver blog.jetbrains.com/idea/2018/09/…
chipiik

Respuestas:

55

Puede probar la integración gratuita de VisualVM Profiler a través de un complemento .

CrazyCoder
fuente
Parece que si compra IntelliJ "ultimate", se dice que también incluye un agente de creación de perfiles YourKit incorporado. No es gratis, pero está incluido, así que supongo que está relacionado con mi pregunta original :)
rogerdpack
4
No, el agente de YourKit le permitirá tomar una instantánea de la CPU / memoria cuando se comunique con el soporte con problemas de rendimiento, no es el generador de perfiles en sí lo que le costará $ 500 + adicionales.
CrazyCoder
1
@rogerdpack, ¿por qué no simplemente abrir VisualVM (ya lo tiene instalado a través del jdk), seleccionar su aplicación y presionar perfil?
Matsemann
3
El problema con VisualVM iniciado por el complemento VisualVM Launcher de Krasa: 1) en el momento en que comienza, la prueba ha finalizado. 2) la creación de perfiles sobre la marcha crea puntos calientes y estadísticas de tiempo de CPU difíciles de leer. Hay una casilla de verificación "editar configuración" en VisualVM, pero no veo cómo pedirle al complemento que inicie la prueba de la manera correcta - espere hasta que VisualVM se inicie y esté listo - cargue la configuración de perfil específica de la prueba en VisualVM - ejecute el código de prueba
smile-on
1
@ smile-on ¿Encontró una solución al problema donde terminan sus pruebas antes de que VisualVM se haya lanzado? Yo mismo tengo el mismo problema.
Stephen Murby
27

Como señala Stephen Murby "el problema donde terminan las pruebas antes de que VisualVM se haya lanzado".

Sí, este complemento de VisualVMLauncher no pone su caso de prueba en espera hasta que VisualVM se ha iniciado. Es posible que también necesite tiempo para cambiar manualmente la configuración de creación de perfiles específica para la prueba. La solución es simple, su caso de prueba debe detenerse y esperar hasta que le indique manualmente que continúe. Hay varias formas de hacerlo:

1) poner System.in.read (); como primera línea del caso de prueba y cuando VisualVM esté listo, presione Intro en la consola.

System.in.read();

2) Si el corredor de casos de prueba no le proporciona una consola, espere hasta que se cree algún archivo mágico.

3) siempre puedes jugar tranquilo con el sueño ()

sleep(5 seconds);

Esta solución no es muy conveniente, pero me funciona, ya que necesito perfilar ocasionalmente. La causa raíz del problema está en la arquitectura de complementos de IDEA y VisualVM no se cree que sean colaborativos. Consulte la discusión con el autor del complemento. Espero que eso ayude.

Sonríe
fuente