Revisión de código y perfilado - Mejora de la calidad y optimización del rendimiento con Amazon CodeGuru
Explicamos los métodos para automatizar la revisión de código y perfilar aplicaciones con Amazon CodeGuru. Presentamos la incorporación de puertas de calidad a los pipelines de CI/CD mediante la integración con CodeBuild y la optimización del rendimiento en el entorno de producción.
Los retos de la gestión de la calidad del código y una visión general de CodeGuru
La revisión de código es una práctica importante para mantener la calidad del software, pero depende de la experiencia y las habilidades de los revisores, y es difícil mantener la coherencia. Amazon CodeGuru es un servicio que utiliza el aprendizaje automático para detectar automáticamente problemas de calidad del código y cuellos de botella de rendimiento. CodeGuru Reviewer analiza el código en el momento de las pull requests y señala posibles errores, vulnerabilidades de seguridad e incumplimientos de las prácticas recomendadas del AWS SDK. CodeGuru Profiler analiza de forma continua el rendimiento de las aplicaciones en tiempo de ejecución e identifica las rutas de código con un uso elevado de CPU y los indicios de fugas de memoria. Si opera en sus instalaciones herramientas de análisis estático como SonarQube o Checkstyle, necesita gestionar los conjuntos de reglas y operar los servidores, mientras que CodeGuru es totalmente administrado y aplica automáticamente los modelos de análisis más recientes. Es compatible con Java y Python, y gracias a la integración con GitHub, CodeCommit y Bitbucket, se puede incorporar sin fricciones a los flujos de trabajo de desarrollo existentes. Cabe señalar que, a partir del 7 de noviembre de 2025, CodeGuru Reviewer ya no permite asociar repositorios nuevos y solo se puede utilizar con las asociaciones existentes.
Revisión de código automática con CodeGuru Reviewer
CodeGuru Reviewer analiza las diferencias de las pull requests y publica automáticamente propuestas de mejora concretas como comentarios. Lo que detecta abarca una amplia variedad de aspectos, como las fugas de recursos (identificadores de fichero y conexiones de base de datos sin cerrar), los problemas de concurrencia (interbloqueos y condiciones de carrera), las deficiencias en la validación de entradas y los patrones de uso ineficientes de las API de AWS. A continuación se muestra un ejemplo de AWS CLI que ejecuta un análisis completo de CodeGuru Reviewer con una asociación de repositorio existente y consulta los resultados.
# Ejecutar un análisis completo de todo el repositorio
aws codeguru-reviewer create-code-review \
--name full-scan-$(date +%Y%m%d) \
--repository-association-arn arn:aws:codeguru-reviewer:ap-northeast-1:123456789012:association:xxx \
--type '{"RepositoryAnalysis": {"RepositoryHead": {"BranchName": "main"}}}'
# Consultar los resultados del análisis
aws codeguru-reviewer list-recommendations \
--code-review-arn arn:aws:codeguru-reviewer:...La función de detección de seguridad detecta credenciales codificadas de forma fija, vulnerabilidades de inyección SQL y usos inadecuados del cifrado. También se puede ejecutar un análisis completo de todo el repositorio, que sirve además para evaluar la calidad de una base de código existente. A los resultados de la detección se les asigna un nivel de importancia (Critical, High, Medium, Low, Info), lo que permite abordarlos por orden de prioridad. CodeGuru Reviewer utiliza modelos de aprendizaje automático entrenados con la gran base de código de Amazon, y se caracteriza por ofrecer automáticamente, sin configurar reglas, indicaciones de alta precisión basadas en patrones prácticos.
Optimización del rendimiento con CodeGuru Profiler
CodeGuru Profiler perfila de forma continua el rendimiento de las aplicaciones que se ejecutan en el entorno de producción e identifica oportunidades de optimización. Mediante el perfilado basado en agentes, hace visibles los métodos con un uso elevado de CPU, la generación innecesaria de objetos, los patrones ineficientes de salida de logs y otros aspectos. Con la visualización intuitiva de los gráficos de llama (Flame Graph), puede ver de un vistazo en qué nivel de la pila de llamadas se consumen los recursos. Gracias a la función de detección de anomalías, puede detectar automáticamente los patrones de rendimiento distintos de lo habitual y descubrir pronto los aumentos de latencia y las caídas del rendimiento de procesamiento. La sobrecarga del perfilado se mantiene al mínimo (menos del 1% del uso de CPU), por lo que es posible tenerlo en funcionamiento permanente en el entorno de producción. La función de recomendaciones presenta métodos de corrección concretos para los problemas de rendimiento detectados y ayuda a los desarrolladores a responder con rapidez. También es compatible con el perfilado de funciones de Lambda y contribuye además a optimizar los costes de las aplicaciones serverless.
Integración de puertas de calidad en los pipelines de CI/CD
Si tiene asociaciones de repositorio existentes, puede integrar CodeGuru Reviewer con CodeBuild y CodePipeline para incorporar puertas de calidad automáticas a los pipelines de CI/CD. Es posible un modo de operación en el que se ejecuta el análisis de CodeGuru Reviewer antes de fusionar una pull request y se bloquea la fusión si hay indicaciones de nivel Critical o High. Si ejecuta la CLI de CodeGuru Reviewer en la fase de compilación de CodeBuild e incluye los resultados de la detección en el informe de compilación, se consigue un seguimiento continuo de las métricas de calidad. También se puede crear un mecanismo que publique los datos de CodeGuru Profiler como métricas de CloudWatch y detecte con alarmas la degradación del rendimiento. Al concentrar los resultados de la detección de seguridad en Security Hub, también contribuye a la gestión centralizada de la postura de seguridad de toda la organización. También es eficaz programar análisis completos periódicos de los repositorios y crear un panel que haga visible la acumulación de deuda técnica.
Precios de CodeGuru
CodeGuru Reviewer se factura mensualmente según el número de líneas de código analizadas del repositorio, y las primeras 100,000 líneas cuestan unos 10.00 USD al mes (a fecha de agosto de 2026). No hay límite en el número de revisiones de pull requests. CodeGuru Profiler cuesta unos 0.005 USD por hora de muestreo, hasta 36,000 horas de muestreo al mes, por cada grupo de perfilado.
Resumen - Mejora continua de la calidad del código y del rendimiento
Amazon CodeGuru es un servicio que ofrece de forma integrada la automatización de la revisión de código y el perfilado de aplicaciones. Detecta pronto errores y vulnerabilidades de seguridad mediante el análisis estático de Reviewer e identifica los cuellos de botella de rendimiento del entorno de producción mediante el análisis dinámico de Profiler. En los repositorios que tienen asociaciones existentes, puede integrarlo en los pipelines de CI/CD e incorporar comprobaciones automáticas como puertas de calidad a los flujos de trabajo de desarrollo. El análisis basado en aprendizaje automático capta patrones prácticos que son difíciles de detectar con las herramientas de análisis estático basadas en reglas y contribuye a mejorar la productividad de los equipos de desarrollo.
Referencias (recursos oficiales de AWS)
Las fuentes primarias de esta página son el sitio web y la documentación oficiales de AWS. Consulta las páginas oficiales siguientes para conocer las especificaciones y los precios más recientes.
Si esta página y la documentación oficial difieren, prevalece la documentación oficial.