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.

Amazon CodeGuru Reviewer

Amazon CodeGuru Reviewer detecta problemas en el código y recomienda formas de solucionarlos. Por ejemplo, CodeGuru Reviewer 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 fuga de recursos, las vulnerabilidades de seguridad 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 para las solicitudes de extracción

CodeGuru Reviewer 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. CodeGuru Reviewer 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 y Pyton (disponible en la previsualización): uso correcto de las características comunes del lenguaje y de la biblioteca de Java y Python
• 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
• Fuga 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 la falta de creación de 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

Recomendaciones automatizadas para las solicitudes de extracción
Recomendaciones automatizadas para las solicitudes de extracción
 Haga clic para agrandar

En resumen, 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.

Usted también puede ver todas las revisiones de código en la página de la consola “Code reviews” (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, la cantidad 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 la cantidad de líneas analizadas. Además, pueden brindar comentarios sobre las recomendaciones de CodeGuru si hacen clic en los iconos de pulgar hacia arriba y pulgar hacia abajo situados debajo de la recomendación.

PullRequest
PullRequest
 Haga clic para agrandar
Recomendaciones
Recomendaciones
 Haga clic para agrandar
Análisis completo de repositorio

Con CodeGuru, usted puede obtener recomendaciones de revisión de código automatizadas para los repositorios asociados en todo el código (no solo cambios graduales 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. Navegue hacia 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.

Análisis completo de repositorio
Análisis completo de repositorio
 Haga clic para agrandar

Con la solicitud pull y el análisis completo del repositorio disponible, los clientes que se incorporan al CodeGuru Reviewer 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 graduales y 4) realizar una nueva exploración periódica del repositorio para garantizar la calidad del código.

Detección de seguridad

CodeGuru Reviewer ayuda a mejorar la seguridad del código y brinda sugerencias para prácticas recomendadas. Utiliza aprendizaje automático para analizar el flujo de datos de la fuente al destino y en varias funciones para detectar vulnerabilidades de seguridad difíciles de detectar. El detector de seguridad admite Java hasta Java 11 e identifica varias categorías de código, como las siguientes:

1. Prácticas recomendadas de seguridad para API de AWS: puede verificar la seguridad de las API de AWS EC2 y KMS
2. Prácticas recomendadas para bibliotecas criptográficas de Java: puede consultar si Javax.Crypto.Cipher se inició y llamó de manera correcta
3. Aplicaciones web seguras: puede revisar los problemas de seguridad relacionados con las aplicaciones web, como las inyecciones de LDAP
4. Exhibición de información confidencial: puede verificar si hay alguna fuga de información personal o confidencial
5. Prácticas recomendadas de seguridad de AWS (como las recomendaciones criptográficas de AWS): puede comprobar si su código sigue las prácticas recomendadas de AWS
 
Puede ir a la consola de CodeGuru y activar un análisis de seguridad en todo su repositorio o base de código; solo debe cargar su fuente y construir artefactos.
Detección de seguridad
Detección de seguridad
 Haga clic para agrandar

Amazon CodeGuru Profiler

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, CodeGuru Profiler 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.

Generación permanente de perfiles de las aplicaciones en producción

CodeGuru Profiler está diseñado para ejecutarse de manera continua en la fase de producción con una mínima sobrecarga, lo que significa que puede dejarlo encendido. De esta forma, puede generar perfiles y solucionar problemas en la aplicación mediante patrones reales de tráfico de clientes y detectar con facilidad problemas de rendimiento. Si su aplicación de producción experimenta cualquier tipo de problemas, puede solucionarlos con rapidez gracias a los datos del generador de perfiles y las recomendaciones. CodeGuru Profiler también proporciona un resumen del montón para que pueda identificar los objetos que están utilizando la memoria en exceso en cualquier momento determinado.

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

CodeGuru Profiler analiza de forma continua las características de latencia, de uso del montón y de 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 pierde más tiempo. El análisis de la CPU y la latencia se presenta en un gráfico de llama interactivo que permite comprender fácilmente las rutas de código que consumen la mayoría de los recursos, verificar que la aplicación funcione como se espera y descubrir cuáles áreas se pueden optimizar aún más.

Anomalía de procesamiento de imagen
Anomalía de procesamiento de imagen
 Haga clic para agrandar

Los gráficos de llama permiten visualizar el rendimiento de su aplicación al agrupar las pruebas de seguimiento de pila durante un periodo de tiempo para ofrecer una imagen precisa del comportamiento de la aplicación durante ese tiempo. Puede usar un gráfico de llama para comprender fácilmente las rutas que 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 perder tanto tiempo, debe investigar.

Resumen del montón

El análisis del uso del montón se presenta mediante una visualización de resumen del montón, en la que se muestra los objetos que están asignados a su montón, ya sea sus propias clases de dominio o las que pertenecen a las bibliotecas o al SDK.

Descubra anomalías y problemas comunes del rendimiento de su aplicación
 Haga clic para agrandar

El resumen del montón permite visualizar todos los objetos asignados en el montón durante un periodo de tiempo determinado junto con su tamaño, recuento y serie temporal. Por ejemplo, puede ver en el gráfico de serie temporal que a las 16:20 hay dos objetos que comienzan a crecer de manera significativa (java.util.LinkedHashMap$Entry y java.land.UUID), que indican una posible fuga de memoria. Si esta tendencia en ascenso continúa y no se controla, podría ocasionar una situación de falta de memoria.

Troubleshoot performance issues
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.

Recomendaciones inteligentes
Recomendaciones inteligentes
 Haga clic para agrandar

Cuando Amazon CodeGuru Profiler 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 tiene un impacto del 2,97 % en el uso de la CPU. 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.

Detección de anomalías
Detección de anomalías
 Haga clic para agrandar
Generación permanente de perfiles de las aplicaciones en producción

CodeGuru Profiler está diseñado para funcionar de manera constante en la fase de producción con una mínima sobrecarga, lo que significa que puede dejarlo encendido todo el tiempo con un impacto mínimo en el rendimiento de la aplicación. De esta forma, puede generar perfiles y solucionar problemas en la aplicación mediante patrones reales de tráfico de clientes y detectar con facilidad problemas de rendimiento que podrían no identificarse en el entorno de prueba.

Product-Page_Standard-Icons_01_Product-Features_SqInk
Obtenga más información acerca de los precios de Amazon CodeGuru

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