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
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.
Haz clic en el nombre de un repositorio.
Ve al archivo que contiene el código fuente que deseas mirar.
Haz clic en el número de línea de la ubicación del código fuente.
Cuando se te solicite, selecciona la app en la que deseas agregar el punto de registro.
Haz clic en Crear punto de registro.
Cuando se te solicite, ingresa la condición y el mensaje del punto de registro.
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 create.
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
- Instancias y campos estáticos:
this.counter == 20
,this.myObj.isShutdown
,myStatic
ocom.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 noStringBuilder.append()
. - Transmisión de tipos, con tipos completamente calificados:
((com.myprod.ClassImpl) myInterface).internalField
No se admiten las siguientes funciones de lenguaje:
- Desembalaje de tipos numéricos, como
Integer
. En su lugar, usamyInteger.value
.
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 la 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 distintas de
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 Explorador 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í, puedes ver los registros en el Explorador 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 Eliminardelete.