5.11. Compiladores y herramientas de desarrollo
grafana
rebasado a la versión 6.3.6
El paquete grafana
ha sido actualizado a la versión 6.3.6, que proporciona múltiples correcciones de errores y mejoras. Los cambios más destacados son:
- Base de datos: Reescribe la consulta de las estadísticas del sistema para mejorar el rendimiento.
Explora:
- Se corrige el diseño de los campos de consulta en la vista dividida para los navegadores Safari.
-
Añade la opción Live para las fuentes de datos soportadas, añade el
orgId
a la URL para compartirla. -
Añade soporte para los nuevos parámetros de
inicio
yfin
deloki
para el punto final de las etiquetas. - Añade soporte para alternar el modo de consulta sin procesar en el Explore, lo que permite cambiar entre las métricas y los registros.
- Muestra el contexto de las líneas de registro, no analiza los niveles de registro si se proporcionan por campo o etiqueta.
-
Soporta la nueva sintaxis de filtrado
LogQL
. -
Utiliza el nuevo
TimePicker
de Grafana/UI. -
Maneja las nuevas líneas en el Resaltador de
Filas
. - Arregla la navegación de vuelta al panel del tablero.
- Se corrige el filtro por nivel de serie en el gráfico de registros.
- Corregir problemas cuando se carga y el gráfico/tabla está colapsado.
- Corrige la selección/copia de líneas de registro.
-
Cuadro de mando: Corrige el error de carga
del init de
los cuadros de mando con enlaces a paneles a los que les faltaban propiedades, y corrige la configuración de la zona horaria del cuadro de mando al exportar a los valores separados por comas (CSV) Enlaces de datos. - Editor: Se ha corregido un problema por el que sólo se copiaban líneas enteras.
-
LDAP: Integración de los componentes de autenticación
multi ldap
yldap
. -
Perfil/UserAdmin: Corrige el parser del agente de usuario que bloquea el
servidor de grafana
en las versiones de 32 bits. Prometeo:
-
Evita que el editor de paneles se cuelgue al cambiar a la fuente de datos
de Prometheus
, cambia el comportamiento deinserción de corchetes
para que sea menos molesto. -
Corrige las consultas con el
label_replace
y elimina la coincidencia de $1 al cargar el editor de consultas. - Permite de forma consistente las consultas de varias líneas en el editor, teniendo en cuenta la zona horaria para la alineación de los pasos.
-
Utiliza el rango del panel anulado para
$__range
en lugar del rango del tablero. -
Añade un filtro de rango de tiempo a la consulta de las etiquetas de las series, escapa a los literales
|
en las variables interpoladasde PromQL
. - Correcciones al añadir etiquetas para las métricas que contienen dos puntos en el Explore.
-
Evita que el editor de paneles se cuelgue al cambiar a la fuente de datos
- Automatización: Permite la caducidad de las claves de la API, devuelve el dispositivo, el sistema operativo y el navegador al enumerar los tokens de autenticación del usuario en la API HTTP, admite la lista y la revocación de los tokens de autenticación del usuario en la interfaz de usuario.
-
Enlaces de datos: Aplica correctamente las variables de ámbito a los enlaces de datos, sigue la zona horaria al mostrar la marca de tiempo del punto de datos en el menú contextual del gráfico, utiliza correctamente la marca de tiempo del punto de datos al interpolar las variables, corrige la interpolación incorrecta del
${__nombre_de_serie}
. - Gráfico: Corrige el problema de la leyenda al hacer clic en el icono de la línea de la serie y el problema de la barra de desplazamiento horizontal que es visible en las ventanas, añade una nueva opción de relleno del gradiente.
-
Grafito: Evita el glob de las variables de matriz de un solo valor, corrige problemas con la función de alias que se mueve en último lugar, corrige el problema con la
serieByTag
- Series de tiempo: Asume que los valores son todos números.
-
Gauge/BarGauge: Se corrige un problema de pérdida de umbrales y un problema de carga de Gauge con la estadística
avg
. - Enlaces del panel: Se ha corregido el problema de bloqueo del indicador
-
OAuth: Corrige el fallo de inicio de sesión de OAuth
en estado guardado
debido a la política de cookies de SameSite, corrige el token de usuario erróneo actualizado en la actualización deOAuth
en el proxy DS. - Auth Proxy: Incluye cabeceras adicionales como parte de la clave de la caché.
-
cli
: Arreglo para reconocer cuando está en modo dev, arregla el problema deencriptar-fuente-de-datos-contraseñas
fallando con el error sql. - Permisos: Mostrar los plugins en la navegación para los usuarios que no son administradores, pero oculta la configuración de los plugins.
- TimePicker: Aumenta la altura máxima del desplegable de rango rápido y corrige un problema de estilo para el popover de rango personalizado.
- Loki: Muestra los registros de cola en vivo en el orden correcto en el Explore.
- Rango de tiempo: Se corrige un error por el que los rangos de tiempo personalizados no seguían la Hora Universal Coordinada (UTC).
-
remote_cache
: Arregla el parsing deconnstr de redis
. -
Alertas: Añadir etiquetas a las reglas de alerta, intentos de enviar notificaciones por correo electrónico a todas las direcciones de correo electrónico dadas, mejora de las pruebas de las reglas de alerta, soporte para configurar el campo de contenido para el notificador de alerta
de Discord
. - Gestor de alertas: Sustituye los caracteres ilegales por guiones bajos en los nombres de las etiquetas.
- AzureMonitor: Cambia las variables integradas en Grafana que chocan o los nombres de las macros para los Azure Logs.
-
CloudWatch: Hecha la región visible para Amazon Web Services (AWS) Cloudwatch Expressions, añade las métricas de AWS
DocDB
. - GraphPanel: No ordenar las series cuando la tabla de leyenda y la columna de ordenación no son visibles.
- InfluxDB: Permite visualizar los registros en el Explore.
- MySQL/Postgres/MSSQL: Añade el análisis de intervalos de días, semanas y años en las macros, añade soporte para recargar periódicamente los certificados de los clientes.
-
Plugins: Reemplaza la lista de
dataFormats
con la banderaskipDataQuery
en el archivoplugin.json
. - Refrescar el selector: Maneja los intervalos vacíos.
-
Singlestat: Añade la configuración
y
min/max a los sparklines singlestat. -
Plantillas: Muestra correctamente el
__texto
en la variable multivalor después de recargar la página, soporta la selección de todos los valores filtrados de una variable multivalor. - Frontend: Corrige el problema del componente de árbol Json que no funciona.
- InfluxDB: Corrige los problemas de las comillas simples no escapadas en los filtros de valores de las etiquetas.
-
Config: Corrige la opción
connectionstring
para elremote_cache
en el archivodefaults.ini
. - Elasticsearch: Corrige la consulta vacía (a través de la variable de plantilla) debe ser enviada como comodín, corrige el máximo de solicitudes concurrentes de shard por defecto, soporta la visualización de los registros en el Explore.
- TablePanel: Arregla la visualización de las anotaciones.
-
Grafana-CLI: Corrige la recepción de banderas a través de la línea de comandos, el wrapper para el
grafana-cli
dentro de los paquetesRPM/DEB
yconfig/homepath
son ahora banderas globales. -
HTTPServer: Corrige el formato de la cabecera
X-XSS-Protection
, las opciones para devolver las nuevas cabecerasX-Content-Type-Options
,X-XSS-Protection
yStrict-Transport-Security
, corrige la cabeceraStrict-Transport-Security
, sirve a Grafana con un prefijo de ruta URL personalizado.
pcp
rebasado a la versión 5.0.2
El paquete pcp
ha sido actualizado a la versión 5.0.2, que proporciona múltiples correcciones de errores y mejoras. Los cambios más destacados son:
-
Los paquetes
pcp-webapp-*
son ahora reemplazados por el paquetegrafana-pcp
ypmproxy
. -
La herramienta
pcp-collectl
se sustituye ahora por las configuracionespmrep
. Nuevos y mejorados agentes del dominio de la métrica del rendimiento (PMDA):
-
pmdamssql
: Nueva implementación de PMDA para Microsoft SQL Server. -
pmdanetcheck
: Nuevo PMDA para realizar comprobaciones de red. -
pmdaopenmetrics
: Cambia el nombre del agenteprometheus
por el deopenmetrics
. -
pmdanfsclient
: Añade las métricas de errorrpc
por operación
ypor montaje
. -
pmdalmsensors
: Mejoras en el parsing de nombres y en el manejo de errores. -
pmdaperfevent
: Soporta eventos de nidohv_24x7
en el sistema multinodal. pmdalinux
:- Maneja correctamente los nodos numa dispersos o discontinuos.
-
Utiliza
el nombre de
la cpu y no elinstid
para las estadísticas numapor cpu
. -
Añade una losa activa y total al análisis sintáctico de
slabinfo
v2 -
Corrige varios socket unix,
icmp6
métricas, hugepage valor de la métrica. cálculos,segfault
en el código de interrupciones con grandes cuentas de la CPU -
Obtiene más métricas de red en el espacio de nombres
--container
.
-
pmdabcc
: Corrige el módulo tracepoints para las versionesbcc
0.10.0 y superiores -
pmdabpftrace
: Nuevo PMDA para las métricas de los scriptsbpftrace
pmdaproc
:-
Corrige la pérdida de memoria en el refresco de
la lista de pedidos
. -
Evita el exceso de llamadas a las estadísticas en
cgroups_scan
. -
Conserva las rutas de
los cgroups
y sólo desescape los nombres de las instancias.
-
Corrige la pérdida de memoria en el refresco de
-
pmdaroot
: Mejora el manejo del comportamiento delcgroup
en caché o inactivo y refresca elindom
del contenedor en el cambio de fsdel cgroup
también.
-
Correcciones en las herramientas del colector (servidor):
-
pmproxy
: Soporte de Openmetrics a través del endpoint/metrics
, consolida la API RESTde pmseries/grafana
, y añade una nueva implementación de la API REST asíncronaPMWEBAPI(3)
. -
selinux
: Numerosas actualizaciones de la política de pcp. -
python
pmdas
: Habilita el soporte de autenticación, nuevo métodoset_comm_flags
para establecer las banderas de comunicación. -
api de python
: Exporta elpmdaGetContext()
y añade una envoltura de depuración. -
perl api
: Asegura la configuración del contexto para el almacén PMDA como con el wrapper de python. -
systemd
: Añade un tiempo de espera de 120s en todos los servicios y corrige el fallo al iniciar el serviciopmlogger
.
-
Correcciones en las herramientas de análisis (cliente):
-
pmchart
: Corrige el autoescalado del gráfico en condiciones de error de obtención. -
pmrep
: Corrige lafórmula wait.
paracollectl-dm-sD
ycollectl-sD
. -
pmseries
: Proporciona soporte para la palabra clave delta y mejores marcas de tiempo. -
pcp-atop
: Corrige el modo de escritura(-w
) para manejar las métricasproc
vshotproc
. -
pcp-atopsar
: Corrige el mal manejo de algunos argumentos de la línea de comandos. -
pcp-dstat
: Corrige las cabeceras desalineadas en la salida CSV y el manejo de la opción de línea de comandos--bits
. -
libpcp
: Corrige elsegv
decockpit-pcp
con el contexto local y el manejo de errores de repetición de archivos múltiples para los archivos corruptos.
-
grafana-pcp
ya está disponible en RHEL 8.2
El paquete grafana-pcp
proporciona nuevas fuentes de datos de grafana
y plugins de aplicación que conectan PCP
con grafana
. Con el paquete grafana-pcp
, puede analizar las métricas históricas de PCP
y las métricas de PCP
en tiempo real utilizando el lenguaje de consulta pmseries
y los servicios en vivo pmwebapi
respectivamente. Para obtener más información, consulte Performance Co-Pilot Grafana Plugin.
(BZ#1685315)
Actualización del conjunto de herramientas GCC 9
GCC Toolset 9 es un conjunto de herramientas de compilación que proporciona versiones recientes de herramientas de desarrollo. Está disponible como un flujo de aplicaciones en forma de colección de software en el repositorio AppStream
.
Entre los cambios notables introducidos con RHEL 8.2 se incluyen:
- El compilador GCC ha sido actualizado a la versión 9.2.1, que proporciona muchas correcciones de errores y mejoras que están disponibles en GCC upstream.
Los componentes de GCC Toolset 9 ya están disponibles en las dos imágenes de contenedores:
-
rhel8/gcc-toolset-9-toolchain
, que incluye el compilador GCC, el depurador GDB y la herramienta de automatizaciónmake
. rhel8/gcc-toolset-9-perftools
, que incluye las herramientas de supervisión del rendimiento, como SystemTap y Valgrind.Para extraer una imagen de contenedor, ejecute el siguiente comando como root:
# podman pull registry.redhat.io/<image_name>
-
Las siguientes herramientas y versiones son proporcionadas por GCC Toolset 9:
Herramienta | Versión |
---|---|
GCC | 9.2.1 |
GDB | 8.3 |
Valgrind | 3.15.0 |
SystemTap | 4.1 |
Dyninst | 10.1.0 |
binutils | 2.32 |
elfutils | 0.176 |
dwz | 0.12 |
hacer | 4.2.1 |
strace | 5.1 |
ltrace | 0.7.91 |
annobin | 9.08 |
Para instalar GCC Toolset 9, ejecute el siguiente comando como root:
# yum install gcc-toolset-9
Para ejecutar una herramienta de GCC Toolset 9:
$ scl enable gcc-toolset-9 tool
Para ejecutar una sesión de shell en la que las versiones de las herramientas de GCC Toolset 9 tienen prioridad sobre las versiones del sistema de estas herramientas:
$ scl enable gcc-toolset-9 bash
Para obtener más información, consulte Uso del conjunto de herramientas GCC.
GCC Toolset 9 ahora soporta la descarga de objetivos NVIDIA PTX
El compilador GCC en GCC Toolset 9 ahora soporta la descarga de objetivos OpenMP para NVIDIA PTX.
(BZ#1698607)
El compilador GCC actualizado ya está disponible para RHEL 8.2
El compilador GCC del sistema, versión 8.3.1, se ha actualizado para incluir numerosas correcciones de errores y mejoras disponibles en el GCC upstream.
La colección de compiladores de GNU (GCC) proporciona herramientas para desarrollar aplicaciones con los lenguajes de programación C, C , y Fortran.
Para obtener información de uso, consulte Desarrollo de aplicaciones C y C en RHEL 8.
(BZ#1747157)
Un nuevo sintonizador para cambiar el tamaño máximo de fastbin en glibc
La función malloc
utiliza una serie de fastbins que contienen trozos de memoria reutilizables hasta un tamaño determinado. El tamaño máximo de los trozos por defecto es de 80 bytes en sistemas de 32 bits y de 160 bytes en sistemas de 64 bits. Esta mejora introduce un nuevo ajuste glibc.malloc.mxfast
en glibc
que permite cambiar el tamaño máximo de los fastbins.
La biblioteca matemática vectorial está ahora habilitada para GNU Fortran en GCC Toolset 9
Con esta mejora, GNU Fortran de GCC Toolset puede ahora utilizar rutinas de la biblioteca matemática vectorizada libmvec
. Anteriormente, el compilador de Fortran en GCC Toolset necesitaba un archivo de cabecera de Fortran antes de poder utilizar las rutinas de libmvec
proporcionadas por la biblioteca de C de GNU glibc
.
Se ha mejorado el ajuste de glibc.malloc.tcache
La variable de ajuste glibc.malloc. tcache_count
permite establecer el número máximo de trozos de memoria de cada tamaño que se pueden almacenar en la caché por hilo (tcache). Con esta actualización, el límite superior de la sintonizable glibc.malloc .tcache_count
se ha incrementado de 127 a 65535.
El cargador dinámico de glibc
se ha mejorado para proporcionar un mecanismo de precarga de bibliotecas no heredado
Con esta mejora, ahora se puede invocar el cargador para cargar un programa de usuario con una opción --preload
seguida de una lista de bibliotecas a precargar separada por dos puntos. Esta característica permite a los usuarios invocar sus programas directamente a través del cargador con una lista de precarga de bibliotecas no heredada.
Anteriormente, los usuarios tenían que utilizar la variable de entorno LD_PRELOAD que era heredada por todos los procesos hijos a través de su entorno.
GDB ahora soporta la extensión ARCH(13) en la arquitectura IBM Z
Con esta mejora, el depurador de GNU (GDB) soporta ahora las nuevas instrucciones implementadas por la extensión ARCH(13) en la arquitectura IBM Z.
elfutils
rebasado a la versión 0.178
El paquete elfutils
ha sido actualizado a la versión 0.178, que proporciona múltiples correcciones de errores y mejoras. Los cambios más destacados son:
-
elfclassify
: una nueva herramienta para analizar objetos ELF. -
debuginfod
: un nuevo servidor, herramienta cliente y biblioteca para indexar y obtener automáticamente ELF, DWARF y fuentes de archivos y archivos RPM a través de HTTP. -
libebl
se compila ahora directamente enlibdw.so
. -
eu-readelf
tiene múltiples banderas nuevas para las notas, la numeración de secciones y las tablas de símbolos. -
libdw
ha mejorado el soporte multihilo. -
libdw
soporta extensiones GNU DWARF adicionales.
SystemTap rebasado a la versión 4.2
La herramienta de instrumentación SystemTap ha sido actualizada a la versión 4.2. Las mejoras más destacadas son:
- Ahora, el seguimiento puede incluir los nombres de los archivos de origen y los números de línea.
- Ya están disponibles numerosas extensiones del back-end del Berkeley Packet Filter (BPF), por ejemplo, para los procesos de bucle, temporización y otros.
- Está disponible un nuevo servicio para gestionar los scripts de SystemTap. Este servicio envía métricas a un sistema de supervisión compatible con Prometheus.
-
SystemTap ha heredado la funcionalidad de un nuevo servidor de archivos HTTP para
elfutils
llamadodebuginfod
. Este servidor envía automáticamente recursos de depuración a SystemTap.
Mejoras en los contadores de rendimiento de la serie Z de IBM
Las máquinas IBM serie Z tipo 0x8561, 0x8562 y 0x3907 (z14 ZR1) son ahora reconocidas por libpfm
. Ahora están disponibles los eventos de rendimiento para supervisar las operaciones de criptografía de curva elíptica (ECC) en la serie Z de IBM. Esto permite la monitorización de subsistemas adicionales en máquinas de la serie Z de IBM.
(BZ#1731019)
Conjunto de herramientas de Rust rebasado a la versión 1.41
Rust Toolset ha sido actualizado a la versión 1.41. Los cambios más destacados son:
- La implementación de nuevos rasgos es ahora más fácil porque la regla de orfandad es menos estricta.
-
Ahora puede adjuntar el atributo
#[non_exhaustive]
a unaestructura
, unenum
o variantes deenum
. -
El uso de
Box<T>
en el Foreign Function Interface (FFI) tiene ahora más garantías.Box<T>
tendrá el mismo Application Binary Interface (ABI) que un punteroT*
en el FFI. - Se supone que Rust detecta errores de seguridad de memoria en tiempo de compilación, pero el anterior verificador de préstamos tenía limitaciones y permitía comportamientos indefinidos y falta de seguridad de memoria. El nuevo verificador de préstamos de vidas no léxicas (NLL) puede reportar problemas de inseguridad de memoria como errores duros. Ahora se aplica a las ediciones de Rust 2015 y Rust 2018. Anteriormente, en Rust 2015 el verificador de préstamos NLL sólo lanzaba advertencias sobre estos problemas.
Para instalar el módulo rust-toolset
, ejecute el siguiente comando como root:
# yum module install rust-toolset
Para obtener información sobre su uso, consulte Uso del conjunto de herramientas de Rust.
(BZ#1776847)
El conjunto de herramientas LLVM se ha actualizado a la versión 9.0.1
El conjunto de herramientas LLVM ha sido actualizado a la versión 9.0.1. Con esta actualización, ahora se soportan las sentencias asm goto
. Este cambio permite compilar el kernel de Linux en las arquitecturas AMD64 e Intel 64.
Para instalar el módulo llvm-toolset
, ejecute el siguiente comando como root:
# yum module install llvm-toolset
Para más información, consulte Uso del conjunto de herramientas LLVM.
(BZ#1747139)
Go Toolset rebasado a la versión 1.13
Go Toolset ha sido actualizado a la versión 1.13. Las mejoras más destacadas son:
-
Ahora Go puede utilizar un módulo criptográfico certificado por FIPS cuando el sistema RHEL se inicia en el modo FIPS. Los usuarios pueden habilitar este modo manualmente utilizando la variable de entorno
GOLANG_FIPS=1
. -
El depurador Delve, versión 1.3.2, ya está disponible para Go. Es un depurador a nivel de código fuente para el lenguaje de programación Go
(golang
).
Para instalar el módulo go-toolset
, ejecute el siguiente comando como root:
# yum module install go-toolset
Para instalar el depurador Delve, ejecute el siguiente comando como root:
# yum install delve
Para depurar un programa helloworld.
go utilizando Delve, ejecute el siguiente comando:
$ dlv debug helloworld.go
Para obtener más información sobre Go Toolset, consulte Uso de Go Toolset.
Para más información sobre Delve, consulte la documentación de Delve.
(BZ#1747150)
OpenJDK ahora también soporta secp256k1
Anteriormente, Open Java Development Kit (OpenJDK) sólo podía utilizar curvas de la biblioteca NSS. En consecuencia, OpenJDK sólo proporcionaba las curvas secp256r1, secp384r1 y secp521r1 para la criptografía de curva elíptica (ECC). Con esta actualización, OpenJDK utiliza la implementación interna de ECC y soporta también la curva secp256k1.