En este módulo, aprenderás cómo implementar técnicas de registro y monitoreo en tus programas CL. Estas técnicas son esenciales para mantener la integridad y el rendimiento de tus aplicaciones, así como para facilitar la depuración y el mantenimiento.

Objetivos del Módulo

  • Comprender la importancia del registro y monitoreo.
  • Aprender a implementar registros en programas CL.
  • Conocer las herramientas y comandos para monitorear el rendimiento del sistema.
  • Aplicar buenas prácticas de registro y monitoreo.

  1. Introducción al Registro y Monitoreo

¿Por qué es Importante el Registro y Monitoreo?

  • Depuración: Facilita la identificación y resolución de errores.
  • Auditoría: Proporciona un historial de eventos y acciones.
  • Rendimiento: Ayuda a identificar cuellos de botella y optimizar el rendimiento.
  • Seguridad: Monitorea accesos y actividades sospechosas.

  1. Implementación de Registros en CL

Comandos Básicos de Registro

En CL, puedes utilizar varios comandos para registrar eventos y datos. Aquí hay algunos comandos comunes:

  • SNDPGMMSG (Send Program Message): Envía un mensaje a un programa o a la cola de mensajes.
  • WRKMSG (Work with Messages): Trabaja con mensajes en la cola de mensajes.
  • DSPLOG (Display Log): Muestra el registro del sistema.

Ejemplo Práctico

A continuación, se muestra un ejemplo de cómo utilizar el comando SNDPGMMSG para registrar un mensaje en un programa CL.

PGM
    DCL VAR(&MSG) TYPE(*CHAR) LEN(50)
    CHGVAR VAR(&MSG) VALUE('Inicio del programa')
    SNDPGMMSG MSG(&MSG) TOUSR(*SYSOPR)
    /* Aquí iría el resto del código del programa */
    CHGVAR VAR(&MSG) VALUE('Fin del programa')
    SNDPGMMSG MSG(&MSG) TOUSR(*SYSOPR)
ENDPGM

Explicación del Código

  1. *DCL VAR(&MSG) TYPE(CHAR) LEN(50): Declara una variable de tipo carácter con una longitud de 50.
  2. CHGVAR VAR(&MSG) VALUE('Inicio del programa'): Cambia el valor de la variable &MSG a 'Inicio del programa'.
  3. *SNDPGMMSG MSG(&MSG) TOUSR(SYSOPR): Envía el mensaje contenido en &MSG al usuario del sistema *SYSOPR.
  4. CHGVAR VAR(&MSG) VALUE('Fin del programa'): Cambia el valor de la variable &MSG a 'Fin del programa'.
  5. *SNDPGMMSG MSG(&MSG) TOUSR(SYSOPR): Envía el mensaje contenido en &MSG al usuario del sistema *SYSOPR.

  1. Monitoreo del Sistema

Herramientas y Comandos de Monitoreo

  • WRKSYSSTS (Work with System Status): Muestra el estado del sistema, incluyendo el uso de CPU y memoria.
  • WRKACTJOB (Work with Active Jobs): Muestra los trabajos activos en el sistema.
  • WRKDSKSTS (Work with Disk Status): Muestra el estado de los discos del sistema.

Ejemplo Práctico

A continuación, se muestra cómo utilizar el comando WRKSYSSTS para monitorear el estado del sistema.

PGM
    WRKSYSSTS
ENDPGM

Explicación del Código

  1. WRKSYSSTS: Este comando muestra una pantalla interactiva con el estado actual del sistema, incluyendo el uso de CPU, memoria y otros recursos.

  1. Buenas Prácticas de Registro y Monitoreo

Consejos Adicionales

  • Consistencia: Asegúrate de que los mensajes de registro sean consistentes y fáciles de entender.
  • Frecuencia: No registres en exceso, ya que puede afectar el rendimiento del sistema.
  • Seguridad: Asegúrate de que los registros no contengan información sensible.

Errores Comunes

  • No registrar eventos críticos: Asegúrate de registrar eventos importantes como errores y excepciones.
  • Sobrecargar el sistema con registros: Evita registrar demasiada información, ya que puede afectar el rendimiento.

Ejercicio Práctico

Ejercicio

Escribe un programa CL que registre el inicio y fin de un proceso, y que también monitoree el estado del sistema al inicio y al final del proceso.

Solución

PGM
    DCL VAR(&MSG) TYPE(*CHAR) LEN(50)
    
    /* Registro del inicio del proceso */
    CHGVAR VAR(&MSG) VALUE('Inicio del proceso')
    SNDPGMMSG MSG(&MSG) TOUSR(*SYSOPR)
    
    /* Monitoreo del estado del sistema al inicio */
    WRKSYSSTS
    
    /* Aquí iría el resto del código del proceso */
    
    /* Registro del fin del proceso */
    CHGVAR VAR(&MSG) VALUE('Fin del proceso')
    SNDPGMMSG MSG(&MSG) TOUSR(*SYSOPR)
    
    /* Monitoreo del estado del sistema al final */
    WRKSYSSTS
ENDPGM

Explicación del Código

  1. Registro del inicio del proceso: Se envía un mensaje indicando el inicio del proceso.
  2. Monitoreo del estado del sistema al inicio: Se muestra el estado del sistema al inicio del proceso.
  3. Registro del fin del proceso: Se envía un mensaje indicando el fin del proceso.
  4. Monitoreo del estado del sistema al final: Se muestra el estado del sistema al final del proceso.

Conclusión

En este módulo, has aprendido la importancia del registro y monitoreo en programas CL, cómo implementar registros utilizando comandos como SNDPGMMSG, y cómo monitorear el estado del sistema con comandos como WRKSYSSTS. Estas técnicas te ayudarán a mantener y optimizar tus aplicaciones, facilitando la depuración y el mantenimiento.

En el próximo módulo, profundizaremos en las mejores prácticas para la optimización del rendimiento de tus programas CL.

© Copyright 2024. Todos los derechos reservados