Configura Cloud Trace para PHP

Puedes habilitar Cloud Trace para aplicaciones de PHP con OpenCensus. OpenCensus es un conjunto de bibliotecas de instrumentación para recopilar datos de seguimiento y de métricas que funcionan con varios backends. Para obtener los detalles más recientes de OpenCensus para PHP, además de la documentación y ejemplos adicionales, ve a opencensus-php-exporter-stackdriver.

Instala la biblioteca

  1. Instala el paquete del compositor del explorador de Stackdriver para OpenCensus:

    composer require opencensus/opencensus-exporter-stackdriver
    

    El comando anterior también instala los paquetes de compositor de OpenCensus y Trace.

  2. Para usar las integraciones de framework que se describen en una sección posterior de esta página, instala la extensión de OpenCensus:

    pecl install opencensus-alpha
    
  3. Agrega la siguiente línea a tu archivo php.ini:

    extension=opencensus.so
    
  4. Si estás en Windows, descarga el archivo DLL de la página de descarga de pecl al directorio de extensiones de tu instalación de PHP y agrega la siguiente línea a tu archivo php.ini:

    extension=opencensus.dll
    

Cómo configurar el cliente

Si deseas habilitar la biblioteca de OpenCensus para PHP, completa los siguientes pasos:

  1. Importa las clases requeridas:

    use OpenCensus\Trace\Exporter\StackdriverExporter;
    use OpenCensus\Trace\Tracer;
    
  2. Inicializa el objeto StackdriverExporter:

    $exporter = new StackdriverExporter([
        'clientConfig' => [
            'projectId' => $projectId
        ]
    ]);

    Si ejecutas en la infraestructura de Google Cloud, no necesitas establecer projectId en tu ID del proyecto de Google Cloud. Si no configuras este campo, la biblioteca cliente para PHP recopila de forma automática estos datos de un servidor de metadatos de Google Cloud.

    Si no ejecutas en la infraestructura de Google Cloud, debes proporcionar el ID del proyecto de Google Cloud a tu aplicación.

    Sin importar tu infraestructura, para PHP, cuando no configuras de manera explícita el ID del proyecto de Google Cloud, la biblioteca PHP de google-cloud, que invoca OpenCensus, determina de forma automática si la variable de entorno Se configura GOOGLE_CLOUD_PROJECT y, de ser así, la biblioteca usa el valor de GOOGLE_CLOUD_PROJECT como ID del proyecto de Google Cloud. Para obtener más información, consulta Autenticación. Para configurar la variable de entorno, sigue estos pasos:

    Linux o macOS

    export GOOGLE_CLOUD_PROJECT=your-project-id

    Windows

    set GOOGLE_CLOUD_PROJECT=your-project-id

    PowerShell:

    $env:GOOGLE_CLOUD_PROJECT="your-project-id"
  3. Inicia el rastreador:

    Tracer::start($exporter);

Crea el exportador y, luego, inicia el rastreador lo antes posible en tu aplicación.

Personalizaciones

Puedes personalizar el comportamiento de la biblioteca de Cloud Trace para PHP. Para obtener una lista de las opciones de configuración del exportador, ve a opencensus-php-exporter-stackdriver o a la API de OpenCensus para PHP.

El entorno flexible de App Engine te permite reducir el impacto en el rendimiento de los informes de datos de seguimiento mediante el envío de datos mediante un proceso en segundo plano. Para habilitar los informes en segundo plano, haz lo siguiente:

  1. Modifica la sección runtime_config del archivo app.yaml para especificar la marca enable_stackdriver_integration:

    enable_stackdriver_integration: true

    Esta marca hace que se genere el daemon de procesamiento por lotes de PHP, BatchRunner.

  2. Establece la variable de entorno IS_BATCH_DAEMON_RUNNING como true.

  3. Incluye la opción async con el valor establecido en true en las opciones clientConfig pasadas a la StackdriverExporter de OpenCensus. Para obtener más información, consulta StackdriverExporter.

Agrega un intervalo de seguimiento personalizado

La biblioteca de Cloud Trace para PHP crea de forma automática un registro de seguimiento para cada solicitud HTTP. También puedes agregar intervalos de seguimiento personalizados dentro de la solicitud:

Tracer::inSpan(
    ['name' => 'slow_function'],
    function () {
        sleep(1);
    }
);

Integraciones de marco de trabajo

La biblioteca de OpenCensus proporciona integraciones útiles para marcos de trabajo web y funciones. Para obtener más detalles, consulta las integraciones disponibles y los ejemplos de algunos framework.

Configura tu plataforma

Puedes usar Cloud Trace en Google Cloud y otras plataformas.

Ejecuta en Google Cloud

Cuando tu aplicación se ejecuta en Google Cloud, no necesitas proporcionar credenciales de autenticación en el formato de una cuenta de servicio a la biblioteca cliente. Sin embargo, debes asegurarte de que tu plataforma de Google Cloud tenga habilitado el permiso de acceso a la API de Cloud Trace.

Para obtener una lista de los entornos de Google Cloud compatibles, consulta Compatibilidad del entorno.

Para las siguientes opciones de configuración, la configuración predeterminada del permiso de acceso habilita la API de Cloud Trace:

  • Entorno flexible de App Engine
  • Entorno estándar de App Engine

  • Google Kubernetes Engine (GKE)

  • Compute Engine

  • Cloud Run

Si usas niveles de acceso personalizados, debes asegurarte de que el nivel de acceso a la API de Cloud Trace esté habilitado:

  • Para obtener información sobre cómo configurar los niveles de acceso para tu entorno mediante Google Cloud Console, consulta Configura tu proyecto de Google Cloud.

  • Para los usuarios gcloud, especifica los permisos de acceso con la marca --scopes y, luego, incluye el nivel de acceso de la API trace.append de Cloud Trace. Por ejemplo, para crear un clúster de GKE solo con la API de Cloud Trace habilitada, sigue estos pasos:

    gcloud container clusters create example-cluster-name --scopes=https://www.googleapis.com/auth/trace.append

Ejecuta de forma local y en otros lugares

Si tu aplicación se ejecuta fuera de Google Cloud, debes proporcionar credenciales de autenticación en forma de una cuenta de servicio a la biblioteca cliente. La cuenta de servicio debe contener la función de agente de Cloud Trace. Para obtener más instrucciones, consulta Cómo crear una cuenta de servicio.

Las bibliotecas cliente de Google Cloud usan las credenciales predeterminadas de la aplicación (ADC) para encontrar las credenciales de tu aplicación. Estas credenciales se proporcionan mediante la configuración de la variable de entorno GOOGLE_APPLICATION_CREDENTIALS:

Linux/macOS

    export GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key

Windows

    set GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key

PowerShell:

    $env:GOOGLE_APPLICATION_CREDENTIALS="path-to-your-service-accounts-private-key"

Cómo ver los seguimientos

Después de la implementación, puedes ver los seguimientos en el visor de seguimientos de Cloud Console.

Ir a la página del Lector de seguimiento

Soluciona problemas

Para obtener información sobre cómo solucionar problemas con Cloud Trace, ve a la página de solución de problemas.

Recursos