• EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Crea una propuesta

Perfilado en tiempo real para Java usando JFR métrica

Con la creación de perfiles en tiempo real para Java de New Relic utilizando Java Flight Recorder (JFR) métrica, puede ejecutar perfiles continuos y siempre activos de su código Java en el entorno de producción. La vista de línea de tiempo del clúster JVM adjunta proporciona una forma rápida e intuitiva de diagnosticar problemas de rendimiento en todo el clúster. Por ejemplo, puede ver rápidamente cómo el despliegue de una aplicación afecta el estado general del clúster.

Encontrar rendimiento cuello de botella

La resolución de problemas de rendimiento cuello de botella en su aplicación o servicio Java puede ayudarle a comprender mejor lo siguiente:

  • Donde estás desperdiciando recursos
  • Cuando ocurre un incidente
  • ¿Qué pasó durante un incidente?
  • Qué problemas de rendimiento condujeron a un incidente

Para que la resolución de problemas sea más rápida y sencilla, necesita ver las características de tiempo de ejecución de alta fidelidad de su código que se ejecuta en la JVM, y necesita esos datos en tiempo real.

daemon JFR

El daemonJFR es un exportador de eventos JFR que le permite aprovechar el poder de la plataforma New Relic para visualizar el comportamiento de su JVM. Utilizando el SDK de telemetría Java de New Relic como implementación subyacente, el daemon JFR convierte el evento JFR en tipos de telemetría de New Relic y los informa a las API de ingesta de eventos y métricas de New Relic.

Hay tres escenarios de uso diferentes para el daemon JFR:

  • Servicio New Relic agente de Java JFR (RECOMENDADO): monitoreo JFR integrado en el buque insignia New Relic agente de Java. No se necesita configuración adicional, simplemente instale el agente de Java, asegúrese de que el servicio JFR esté habilitado y los datos JFR fluirán a la misma aplicación

    que el agente de Java. Requiere New Relic agente de Java versión 7.0.0+.

  • Proceso independiente : ejecute jfr-daemon como un proceso independiente y configúrelo para monitor un proceso Java existente mediante JMX remoto.

  • Agente de Java independiente : adjunte el jfr-daemon a su proceso Java como agente de Java. Una alternativa ligera al agente de Java New Relic.

Versiones de Java compatibles

Si bien el daemon JFR admite cualquier versión de Java 11 y superior, no recomendamos utilizar ninguna versión de Java que no sea LTS en el entorno de producción.

Algunos proveedores han respaldado JFR en sus binarios de Java 8. Por ejemplo, OpenJDK respaldó JFR en la versión 8u262. El daemon JFR es compatible con esas versiones de Java.

Requisitos e instrucciones de uso

Los requisitos e instrucciones varían para cada escenario de uso. Para obtener detalles completos, consulte los enlaces para su escenario de uso específico:

Importante

Las aplicaciones que se ejecutan con el daemon JFR deben esperar que el subsistema JFR utilice memoria adicional.

Sugerencia

Con agente de Java versión 8.0.0 o superior, puede cambiar dinámicamente la configuración de su perfil JFR sin reiniciar sus JVM. Haga esto alternando la configuración en Settings > Application > Java Flight Recorder o cambiando la configuración jfr.enabled .

Ver tus datos

Para ver sus datos, vaya a one.newrelic.com > All capabilities > APM & Services > (select service) > More views > Realtime Profiling Java.

Comprender el comportamiento del clúster JVM a lo largo del tiempo

La vista de la línea de tiempo del clúster JVM muestra el comportamiento de JVM en todo el clúster. Este cronograma permite una resolución de problemas y una detección de problemas más rápidas; por ejemplo, de un vistazo puedes ver:

  • Cómo afectó un despliegue reciente al resto del clúster JVM
  • Cuando se reinicia una JVM
  • Cómo una instancia individual se vio afectada por su vecino ruidoso

Para facilitar la resolución de problemas, necesita ver las características de tiempo de ejecución de alta fidelidad de su código que se ejecuta en la JVM y necesita esos datos en tiempo real.

one.newrelic.com > All capabilities > APM & Services > (select service) > Realtime Profiling Java: La vista de la línea de tiempo del clúster JVM muestra el comportamiento de JVM en todo el clúster.

Cada fila de la línea de tiempo representa una JVM específica a lo largo del tiempo. Dentro de cada fila, un cuadro representa un período de 5 minutos de la vida de esa JVM. Desde el menos grave hasta el más grave, el semáforo amarillo, naranja y rojo indican un comportamiento anómalo para una JVM, por lo que puede profundizar en esa instancia y el período de tiempo adecuado al investigar errores u otros problemas de rendimiento.

Seleccione How is JVM health determined? para obtener un desglose detallado de cómo se calcula el estado de JVM.

Detalles de JVM

Para encontrar la página de detalles de JVM, vaya a: one.newrelic.com > All capabilities > APM & Services > (select service) > Realtime Profiling Java > (select JVM).

El panel de detalles de cada JVM proporciona varias vistas críticas:

  • Porcentaje de uso de CPU del usuario
  • Porcentaje de uso de CPU de la máquina
  • Tamaños de montón
  • Duración de la recolección de basura
  • Pausa más larga en la recolección de basura
  • Utilización de CPU de subprocesos de usuario
  • Utilización de la CPU del subproceso del sistema
  • Asignación de objetos pequeños por subproceso
  • Asignación de objetos grandes por subproceso
  • Lectura de red por subproceso
  • Escritura de red por subproceso
  • Tamaño de asignación de búfer por subproceso
  • Asignación total de subprocesos
  • Asignación total de objetos por subproceso
  • Metaspace

Identifique rutas de código que consumen muchos recursos con gráficos de llamas

Importante

La característica flame graph solo es compatible con el escenario de uso del servicio New Relic agente de Java JFR .

Un "gráfico de llama" es una forma de visualizar el árbol de llamadas. Cada bloque del gráfico representa una función. Cuanto más tiempo de CPU y recursos de memoria consume un método, más ancho será el bloque.

Utilice gráficos de llamas para identificar las clases y métodos de Java que se ejecutan con mayor frecuencia en el código de su aplicación. Al utilizar gráficos de llamas para optimizar los puntos calientes de su código, puede reducir el consumo de recursos y aumentar el rendimiento general de su aplicación.

Aquí hay algunos detalles sobre los colores del gráfico de llamas:

  • Degradado de grises: Aplicamos el degradado de grises a métodos de un paquete Java SE. Los recuentos de llamadas más bajos tienen tonos más claros y pasan gradualmente a tonos más oscuros a medida que aumenta el recuento de llamadas.
  • Degradado amarillo-naranja: aplicamos el degradado amarillo-naranja a métodos de otra biblioteca. Los recuentos de llamadas más bajos tienen más colores amarillos y pasan gradualmente a colores más naranjas a medida que aumenta el recuento de llamadas.

one.newrelic.com > APM & Services > (select service) > Realtime Profiling Java > (select JVM): Puede ver los detalles de cada JVM, incluidos los gráficos de llamas.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.