Solucionar problemas del generador de perfiles PHP
Perfiles faltantes en la página de búsqueda de perfiles
Si has configurado el generador de perfiles y no ves perfiles en la página de búsqueda de perfiles, ejecuta la función phpinfo()
. El generador de perfiles se conecta a phpinfo()
para ejecutar diagnósticos. Si el servidor web tiene problemas, ejecuta phpinfo()
desde el servidor web y no desde la línea de comandos, ya que cada API de servidor (SAPI) puede configurarse de forma independiente.
Abre un ticket de asistencia con la siguiente información:
- Tipo y versión del sistema operativo (por ejemplo, Linux Ubuntu 20.04)
- El resultado de
phpinfo()
, que incluye la versión de PHP, el tipo de SAPI, las versiones de bibliotecas de Datadog y los diagnósticos del generador de perfiles.
Reducción de la sobrecarga de la configuración por defecto
Si la sobrecarga por defecto no es aceptable, puedes deshabilitar algunos de los tipos de muestras
que recopila el generador de perfiles cambiando los siguientes parámetros INI:
datadog.profiling.allocation_enabled
: controla la generación de perfiles de asignacionesdatadog.profiling.experimental_cpu_time_enabled
: controla las muestras de tiempo de CPUdatadog.profiling.exception_enabled
: controla la generación de perfiles de excepción
Si deshabilitas estos tipos de muestras, sólo se recopilarán muestras
de tiempo real.
Para ver otros parámetros INI y sus correspondientes variables de entorno, consulta los documentos de configuración.
Excepciones que saturan el generador de perfiles
En condiciones normales, el generador de perfiles de excepciones de Datadog ocupa poco espacio
y tiene poca sobrecarga. Si se crean y lanzan muchas excepciones, se puede causar
una sobrecarga significativa para el generador de perfiles. Esto puede ocurrir cuando se utilizan excepciones
para el flujo (flow) de control.
Si tienes una tasa de excepciones inusualmente alta, puedes desactivar la generación de perfiles de excepciones configurando datadog.profiling.exception_enabled
como 0
, o puedes
cambiar la distancia de muestreo utilizando el parámetro INI
datadog.profiling.exception_sampling_distance
(por defecto 100
)
a un valor más alto. Cuanto mayor sea la distancia de muestreo, menos muestras se crearán
y menor será la sobrecarga.
Para ver la documentación del muestreo de excepciones, consulta los documentos de configuración.
Referencias adicionales
Más enlaces, artículos y documentación útiles: