4D v16.3

Anexo E: Descripción de archivos de historial

Inicio

 
4D v16.3
Anexo E: Descripción de archivos de historial

Anexo E: Descripción de archivos de historial  


 

 

Las aplicaciones 4D pueden generar varios archivos de historial que son útiles para depurar u optimizar su ejecución. Los registros se suelen iniciar o detener utilizando los selectores de los comandos SET DATABASE PARAMETER o WEB SET OPTION y se almacenan en la carpeta Logs de la base (ver la sección Descripción de los archivos de 4D).

La información registrada necesita ser analizada para detectar y solucionar problemas. Este anexo ofrece una descripción completa de los siguientes archivos de historial:

  • 4DRequestsLog.txt
  • 4DRequestsLog_ProcessInfo.txt
  • HTTPDebugLog.txt
  • 4DDebugLog.txt

Estos archivos de historial comparten algunos campos para que pueda establecer una cronología y establecer conexiones entre entradas durante la depuración:

  • sequence_number: este número es único en todos los registros de depuración y se incrementa para cada nueva entrada, independientemente del archivo de historial, para que pueda conocer la secuencia exacta de las operaciones.
  • connection_uuid: para todo proceso 4D creado en un cliente 4D que se conecta a un servidor, este UUID de conexión se registra tanto en el servidor como en el cliente. Le permite identificar fácilmente el cliente remoto que inició cada proceso.

Este archivo de historial registra las búsquedas estándar realizadas por la máquina 4D Server o la máquina remota 4D que ejecutó el comando (excluyendo las búsquedas Web).

Cómo iniciar este historial:

  • En el servidor:
     SET DATABASE PARAMETER(4D Server log recording;1) //del lado del servidor
  • En un cliente:
     SET DATABASE PARAMETER(Client Log Recording;1) //del lado remoto

Nota: esta instrucción también inicia el archivo de historial 4DRequestsLog_ProcessInfo.txt (ver abajo).

Encabezados
Este archivo comienza con los siguientes encabezados:

  • Identificador de sesión de historial
  • Nombre de host del servidor que aloja la aplicación
  • Nombre de inicio de sesión de usuario: inicia sesión en el sistema operativo del usuario que ejecutó la aplicación 4D en el servidor.        

Contenido
Para cada petición, se registran los siguientes campos:

Nombre de campoDescripción
sequence_numberNúmero de operación único y secuencial en la sesión de registro
timeFecha y hora usando el formato 'MM/DD/AA, HH:MM:SS'
task_idID de tarea interno
componentFirma de componente (por ejemplo, '4SQLS' o 'dbmg')
process_info_indexCorresponde al campo "índice" del historial 4DRequestsLog_ProcessInfo.txt log, y permite vincular una solicitud a un proceso.
requestSolicita ID en C/S o cadena de mensajes para peticiones SQL o mensajes LOG EVENT
bytes_inNúmero de bytes recibidos
bytes_outNúmero de bytes enviados
durationTiempo tomado en milisegundos para realizar la acción
task_kindApropiativo o cooperativo (respectivamente 'p' o 'c')
connection_uuidIdentificador UUID de 4D Client, SQL o Conexión HTTP (en relación con el mismo número en 4DRequestsLog_ProcessInfo.txt)

Este archivo de historial registra la información sobre cada proceso creado en la máquina 4D Server o la máquina 4D remota que ejecutó el comando (excluyendo las solicitudes Web).

Cómo iniciar este archivo de historial:

  • En el servidor:
     SET DATABASE PARAMETER(4D Server log recording;1) //del lado del servidor
  • En un cliente:
     SET DATABASE PARAMETER(Client Log Recording;1) //del lado remoto

Nota: esta instrucción también inicia el archivo de historial 4DRequestsLog.txt (ver arriba).

Encabezados
Este archivo comienza con los siguientes encabezados:

  • Log Session Identifier (Identificador de sesión de historial)
  • Nombre del servidor que aloja la aplicación
  • User Login Name: nombre del usuario (definido en el SO) que ejecuta la aplicación 4D en el servidor.  

Contenido del archivo
Para cada proceso, los siguientes campos se registran:

Nombre del campoDescripción
sequence_numberNúmero de operación secuencial y único en la sesión de historial
timeFecha y hora utilizando el formato "MM/DD/AA, HH:MM:SS"
indexNúmero de proceso secuencial y único
CDB4DBaseContextUUID del contexto de base del componente DB4D
VTaskIDID de tarea interna
server_process_idID del proceso en el servido
remote_process_idID del proceso en el cliente
process_nameNombre del proceso
cIDIdentificado de la conexión 4D
uIDIdentificado del cliente 4D
IPDirección IPv4 del cliente
host_nameNombre del host del cliente
user_nameNombre de conexión de usuario en el cliente
connection_uuidIdentificador UUID de conexión cliente 4D, SQL o HTTP (en relación con el mismo número en 4DRequestsLog.txt)

Este archivo de historial registra cada solicitud HTTP y cada respuesta en modo crudo. La totalidad de las peticiones, incluidos los encabezados, se registran; Opcionalmente, se pueden registrar también las partes del cuerpo.

Cómo iniciar este registro:

 WEB SET OPTION(Web debug log;wdl enable without body//otros valores están disponibles

Los siguientes campos se registran para las peticiones y las respuestas:

Nombre del campoDescripción
SocketIDID del socket utilizado para la comunicación
PeerIPDirección IPv4 del host (cliente)
PeerPortPuerto utilizado por el host (cliente)
TimeStampTimestamp en milisegundos (desde el inicio del sistema)
ConnectionIDUUID de la conexión (UUID de VTCPSocket utilizado para la comunicación)
SequenceNumberNúmero de operación secuencial y único en la sesión de historial

Este archivo de historial registra cada evento que ocurre al nivel del lenguaje de 4D. El modo estándar ofrece una vista básica de los eventos.

Cómo iniciar este archivo de historial:

 SET DATABASE PARAMETER(Debug Log Recording;2) //estándar

Los siguientes campos se registran para cada evento:  

Columna #Descripción
1Número de operación secuencial y único en la sesión de historial
2Tiempo transcurrido en milisegundos desde el inicio del archivo de historial
3ID proceso (p=xx) e ID único del proceso (puid=xx)
4Nivel de pila
5Puede ser Nombre de comando/Nombre de método/Mensaje/Info Task Start Stop /Nombre del Plugin, evento o retrollamada/UUID de la conexión
6Tiempo necesario para la operación en el historial en milisegundos (diferente de la segunda columna)

Este archivo de historial registra cada evento generado a nivel del lenguaje de 4D en un formato tabulado y compacto que incluye información adicional (en comparación con el formato estándar).

Cómo iniciar este archivo de historial:

 SET DATABASE PARAMETER(Debug Log Recording;2+4) //formato tabular extendido

Los siguientes campos se registran para cada evento:
Columna #Descripción
1Número de operación secuencial y único en la sesión de historial
2Tiempo transcurrido desde el inicio del archivo de historial en el formato "hh:mm:ss:ms" (puede ser precedido por un contador de días, por ejemplo, si el registro se inició hace 3 días "3+11:58:23:163")
3ID del proceso
4ID único del proceso
5Nivel de pila
6Puede representar (dependiendo de tipo de entrada registrada en la octava columna):
  • un ID de comando del lenguaje (cuando el tipo=1)
  • un nombre de método (cuando el tipo=2)
  • una combinación de pluginIndex;pluginCommand (cuando el tipo=4, 5, 6 o 7). Puede contener algo como '3;2'
  • un UUID de proceso de conexión (cuando el tipo=8)
  • o puede contener 'starting sequence number' al cerrar un nivel de pila (esto debería corresponder al número de secuencia del inicio de la acción actual)
  • 121  15:16:50:777  5  8  0  CallMethod  2  0
    122  15:16:50:777  5  8  1  283  1  0
    123  15:16:50:777  5  8  1  122  -1  0  3
    124  15:16:50:777  5  8  0  121  -2  0  61
    Aquí en la última línea (124), el valor de la sexta columna '121' corresponde al número de secuencia de la primera línea (nivel de pila 0). En la línea superior (123), el valor de la sexta columna '122' corresponde al número de secuencia de la línea superior (nivel de pila 1), etc.
    7Parámetros pasados ​​a los comandos, métodos o plugins
    8Tipo de operación de historial. Este valor puede ser un valor absoluto:
    1: Comando
    2: Método
    3: Mensaje (enviado por el comando LOG EVENT únicamente)
    4: PluginMessage
    5: PluginEvent
    6: PluginCommand
    7: PluginCallback
    8: Task
    Cuando un valor es negativo, sólo significa que es la contraparte de cierre del nivel de la pila (ver la columna 8 en las líneas 123 Y 124 en el registro arriba).
    9Evento formulario si lo hay; Vacío en otros casos (suponga que la columna se utiliza cuando el código se ejecuta en un método formulario o script)
    10Tiempo transcurrido en micro segundos de la acción registrada actual; Sólo para los niveles de cierre de pila (ver la columna 10 en las líneas 123 y 124 en el historial arriba)

     
    PROPIEDADES 

    Producto: 4D
    Tema: Anexos

     
    HISTORIA 

    New
    Creado por: 4D v16

     
    ARTICLE USAGE

    Manual de Diseño ( 4D v16)
    Manual de Diseño ( 4D v16.1)
    Manual de Diseño ( 4D v16.3)