Encuentre las líneas de código más costosas con Amazon CodeGuru

Amazon CodeGuru es una herramienta para desarrolladores basada en aprendizaje automático que brinda recomendaciones inteligentes para mejorar la calidad del código e identificar las líneas de código más costosas de una aplicación. Realiza revisiones de código automatizadas y proporciona recomendaciones para el rendimiento de las aplicaciones.

Generador de perfiles de Amazon CodeGuru

El generador de perfiles de Amazon CodeGuru siempre busca optimizar el rendimiento de las aplicaciones, identifica las líneas de código más “costosas” y recomienda formas de corregirlas para reducir la utilización de la CPU, disminuir los costos de informática y mejorar el rendimiento de las aplicaciones. Por ejemplo, el generador de perfiles de CodeGuru puede identificar si la aplicación consume una capacidad excesiva de la capacidad de CPU en una rutina de registro en lugar de que se ejecute en una lógica empresarial principal.

Comprenda el comportamiento del tiempo de ejecución de las aplicaciones

El generador de perfiles de CodeGuru analiza de forma continua las características de latencia y utilización de la CPU de la aplicación para mostrar en qué parte de la aplicación se utiliza la mayoría de los ciclos o se gasta más tiempo. Este análisis se presenta en un gráfico de llama interactivo que permite comprender fácilmente de forma visual qué rutas de código consumen la mayoría de los recursos, verificar que la aplicación funciona como se espera y descubrir cuáles áreas se pueden optimizar aún más.

CodeGuru_Profiler
CodeGuru_Profiler
 Haga clic para agrandar

Con los gráficos de llama, se puede visualizar el rendimiento de la aplicación. Para ello, se combinan todos los seguimientos de las pilas que se ejecutan en un momento determinado. Puede usar un gráfico de llama para comprender fácilmente qué rutas consumen la mayoría de los recursos, verificar que la aplicación funciona como se espera y descubrir cuáles áreas se pueden optimizar aún más. Por ejemplo, el método UploadGreyImage gasta 134 868 USD por año y esto consume 10,22 % del tiempo real. De tal forma que, si no tenía previsto gastar tanto tiempo, debe investigar.

Recomendaciones inteligentes

El generador de perfiles de CodeGuru identifica automáticamente los problemas de rendimiento en la aplicación y ofrece recomendaciones inteligentes sobre cómo solucionarlos. Estas recomendaciones lo ayudan a identificar y optimizar los métodos más costosos o que requieren más recursos dentro del código sin necesidad de ser un experto en ingeniería de rendimiento. Estas optimizaciones le permiten disminuir el costo de la infraestructura, reducir la latencia y mejorar la experiencia general del usuario final.

CodeGuru_Profiler-1
CodeGuru_Profiler-1
 Haga clic para agrandar

Cuando el generador de perfiles de Amazon CodeGuru detecta oportunidades para optimizar el rendimiento de las aplicaciones, describe los motivos por los que recomienda un cambio, las causas del problema, la manera de resolverlo y la parte del código en la que el problema impacta la aplicación. Esta recomendación muestra que esta línea de código onerosa genera costos de 182 160 USD al año y gasta 2,97 del costo de la CPU activa. Si sigue los pasos de resolución sugeridos, podrá ahorrar hasta 182 160 USD

Detección de anomalías

El generador de perfiles de Amazon CodeGuru analiza de forma continua los perfiles de la aplicación en tiempo real y detecta anomalías en el comportamiento y los métodos de la aplicación. Cada anomalía se supervisa en el informe de recomendaciones. Además, se pueden ver las series temporales de cómo se comporta la latencia del método a través del tiempo con las anomalías resaltadas de forma clara. Si está configurado, también se enviará una notificación de Amazon SNS al detectar una anomalía nueva.

CodeGuru_AD
CodeGuru_AD
 Haga clic para agrandar
Generación permanente de perfiles de las aplicaciones en producción

El generador de perfiles de CodeGuru está diseñado para funcionar permanentemente en producción con una mínima sobrecarga de la CPU, lo que significa que puede dejarlo activado todo el tiempo con un impacto mínimo en el rendimiento de la aplicación. Esto le permite generar perfiles y solucionar problemas en la aplicación usando patrones reales de tráfico de clientes y detectar con facilidad problemas de rendimiento que podrían no identificarse en el entorno de prueba.

Revisor de Amazon CodeGuru

El revisor de Amazon CodeGuru detecta problemas en el código y recomienda cómo solucionarlos. Por ejemplo, el revisor de CodeGuru detecta discrepancias con las prácticas recomendadas para el uso de las API y los SDK de AWS, y también identifica los problemas de simultaneidad, la pérdida de recursos y la validación incorrecta de entrada. Para comenzar a revisar el código, puede asociar repositorios de código existentes en GitHub, GitHub Enterprise o AWS CodeCommit con CodeGuru.

Recomendaciones automatizadas

El revisor de CodeGuru analiza automáticamente las solicitudes de extracción en el código fuente en busca de problemas graves y proporciona recomendaciones inteligentes para resolver los defectos de código directamente dentro de la solicitud de extracción. El revisor de CodeGuru identifica los problemas de calidad del código en nueve categorías amplias:

  • Prácticas recomendadas de AWS: uso correcto de las API de AWS (por ejemplo, sondeo, paginación)
  • Prácticas recomendadas de Java: uso correcto del lenguaje conocido de Java y características de biblioteca
  • Simultaneidad: detecta falta de sincronización que resulta en una funcionalidad incorrecta o en una sincronización excesiva, lo que produce problemas de rendimiento.
  • Bloqueos: comprueba la coordinación entre subprocesos paralelos
  • Pérdida de recursos: gestión adecuada de los recursos (por ejemplo, liberación de las conexiones de la base de datos)
  • Exposición de información confidencial: exposición de información de identificación personal (por ejemplo, registro de los detalles de las tarjetas de crédito)
  • Errores de código comunes: defectos difíciles de encontrar, como no crear un cliente para cada invocación de lambda
  • Clonación de código: identifica código duplicado que se puede consolidar para un mejor mantenimiento del código
  • Validación de entradas: busca datos con formatos erróneos o malintencionados de fuentes que no son de confianza
CodeGuru-Reviewer1
CodeGuru-Reviewer1
 Haga clic para agrandar

En resumen, Amazon CodeGuru proporciona al equipo de desarrollo las herramientas para mantener un estándar de creación de código alto en el proceso de desarrollo de software.

Los clientes también pueden ver todas las revisiones de código en la página de la consola “Revisiones de código” (en la sección del revisor). La página enumera toda la información sobre revisiones de código, como el estado de la revisión, el repositorio, el número de recomendaciones y más. Los usuarios hacen clic en la revisión de código completada correctamente para ver detalles de recomendaciones, buscar recomendaciones y consultar el número de líneas analizadas. Además, pueden brindar retroalimentación sobre las recomendaciones de CodeGuru al hacer clic en los iconos de pulgar arriba y pulgar abajo situados debajo de la recomendación.

CodeGuru-Feature-1
CodeGuru-Feature-1
 Haga clic para agrandar
CodeGuru-Feature-2
CodeGuru-Feature-2
 Haga clic para agrandar
Análisis completo de repositorio

Los clientes pueden obtener recomendaciones de revisión de código automatizada para los repositorios asociados en todo el código (no solo cambios incrementales a través de solicitudes pull) en una ramificación de código específica. Los casos de uso de clientes incluyen hacer recomendaciones de revisión de código durante la migración de código, diligencia debida de código e iniciativas de mantenimiento de código periódico. Los clientes pueden navegar a la pestaña “Repository Analysis” (Análisis de repositorio) en la página “Code Reviews” (Revisiones de código) para activar un nuevo análisis en un repositorio completo.

RepostoryAnalysis
RepostoryAnalysis

Con la solicitud pull y el análisis completo del repositorio disponible, los clientes que se incorporan el revisor de CodeGuru pueden 1) asociar su repositorio, 2) iniciar un análisis completo del repositorio, 3) analizar continuamente las solicitudes de extracción con cambios de código incrementales y 4) realizar una nueva exploración periódica del repositorio para garantizar la calidad del código.

Product-Page_Standard-Icons_01_Product-Features_SqInk
Más información acerca de los precios del producto

Visite la página de precios de Amazon CodeGuru.

Más información 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
Regístrese para obtener una cuenta gratuita

Obtenga acceso instantáneo a la capa gratuita de AWS. 

Regístrese 
Product-Page_Standard-Icons_03_Start-Building_SqInk
Comience a crear en la consola

Comience a crear con Amazon CodeGuru en la consola de administración de AWS.

Iniciar sesión