Trabaja con puntos de registro

Después de configurar la depuración en el Depurador de Cloud e implementar o iniciar tu app, puedes agregar puntos de registro en la consola de origen.

Descripción general de puntos de registro

Los puntos de registro te permiten incorporar registros en servicios en ejecución sin reiniciarlos ni interferir en su funcionamiento normal. Cada vez que una instancia ejecuta código en la ubicación del punto de registro, Debugger registra un mensaje. El resultado del registro se envía al registro apropiado para el entorno de destino. Para App Engine, por ejemplo, la salida se envía al registro de solicitud en Cloud Logging.

Los puntos de registro permanecen activos durante 24 horas luego de su creación, o hasta que se borran o se vuelva a implementar el servicio.

Agrega un punto de registro de depuración

  1. En Google Cloud Console, abre Cloud Source Repositories.

    Abrir Cloud Source Repositories

    Se abrirá la página Todos los repositorios. También puedes abrir la vista Mi fuente.

  2. Haz clic en el nombre de un repositorio.

  3. Ve al archivo que contiene el código fuente que deseas mirar.

  4. Haz clic en el número de línea de la ubicación del código fuente.

    Selecciona la ubicación del punto de registro

  5. Cuando se te solicite, selecciona la app en la que deseas agregar el punto de registro.

    Selecciona la aplicación del punto de registro

  6. Haz clic en Crear punto de registro.

    Crear punto de registro

  7. Cuando se te solicite, ingresa la condición y el mensaje del punto de registro.

    Crear punto de registro

  8. Haz clic en Agregar.

    Cuando agregas un punto de registro, la expresión aparece intercalada en la vista de archivos en la consola de Source. Para editar el punto de registro, mantén el puntero sobre él y haz clic en Editar .

Condiciones del punto de registro

Una condición de punto de registro es una expresión simple que debe evaluarse como true para que se registre el punto de registro. Las condiciones del punto de registro se evalúan cada vez que una instancia ejecuta la línea de código hasta que el punto de registro vence o se borra.

La condición es una expresión booleana completa que puede incluir operadores lógicos:

travelAccessory == "Towel"
ultimateAnswer <= 42
travelAccessory == "Towel" && ultimateAnswer <= 42

Mensajes de punto de registro

El mensaje de un punto de registro determina cuál es la información que se registra en el resultado. Las expresiones te permiten evaluar y registrar valores de interés. Cualquier información del mensaje que aparezca entre llaves, como {myObj.myFunc()} o {a + b}, se reemplaza por el valor de esa expresión en el resultado. El mensaje User {name} scored {newScore.score} en el ejemplo anterior registra un resultado similar a User user1 scored 99.

Puedes usar las siguientes funciones de lenguaje para las expresiones.

Java

Se admiten la mayoría de las expresiones de Java, incluidas las siguientes opciones:
  • Variables locales: a == 8.
  • Operaciones numéricas y booleanas: x + y < 20.
  • Instancia y campos estáticos: this.counter == 20, this.myObj.isShutdown, myStatic o com.mycompany.MyClass.staticMember.
  • Comparaciones de strings con el operador de igualdad: myString == "abc".
  • Llamadas a la función. Solo puedes usar las funciones de solo lectura. Por ejemplo, se admite StringBuilder.indexOf(), pero no StringBuilder.append().
  • Conversión de tipos, con tipos completamente calificados: ((com.myprod.ClassImpl) myInterface).internalField.

No se admiten las siguientes funciones de lenguaje:

  • La extracción de tipos numéricos, como Integer; debes usar myInteger.value en su lugar.

Python

Se admiten la mayoría de las expresiones de Python, incluidas las siguientes opciones:
  • Lectura de variables locales y globales
  • Lectura de arreglos, listas, segmentos, diccionarios y objetos
  • Llamada de métodos sencillos

No se admiten las siguientes funciones de lenguaje:

  • Llamada a funciones que asignan objetos nuevos o usan construcciones complejas
  • Creación de objetos nuevos dentro de la expresión

Go (Beta)

Se admite la mayoría de las sintaxis de expresión de Go, incluidas las siguientes opciones:
  • Lectura de variables locales y globales
  • Lectura de arreglos, segmentos, mapas y estructuras

No se admiten las siguientes funciones de lenguaje:

  • Lectura de valores de interfaz
  • Tipo de conversiones y literales de composición
  • Llamadas a funciones que no sean len

Visualiza el resultado

El resultado del punto de registro se envía al registro correspondiente para el entorno del destino.

App Engine

Los puntos de registro configurados en aplicaciones de App Engine envían sus resultados al registro de solicitudes en Logging.

Puedes ver los registros en el Panel de registros o en el Visor de registros dedicado.

Compute Engine

Los puntos de registro configurados en aplicaciones de Compute Engine envían los resultados a la misma ubicación que las instrucciones de registro normales. Por ejemplo, en Python, el módulo de registro predeterminado envía su resultado a stdout, pero se puede configurar para que lo escriba en un archivo específico.

Puedes configurar el agente de Logging para que desvíe esos registros a Logging. Allí, podrás ver los registros en el Visor de registros.

Borra puntos de registro

Luego de 24 horas, los puntos de registro se vuelven inactivos y dejan de registrar mensajes, y se borran de manera automática luego de 30 días. Puedes borrar puntos de registro de manera manual, lo que detendrá el registro y lo quitará del historial para referencias futuras. Sin embargo, si borras un punto de registro, no se borran los mensajes de registro que ya se generaron.

Para borrar un punto de registro, sigue este proceso:

En la pestaña Puntos de registro en el panel inferior de GCP Console, mantén el puntero sobre el punto de registro y luego haz clic en Eliminar.

Borrar punto de registro

Qué sigue