PHP Execution Tracker

20 de enero de 2024

Una librería ligera para PHP para rastrear y registrar la ejecución de procesos en aplicaciones PHP.

GitHub Packagist

Tabla de Contenidos

¿Por qué la creé?

Durante el desarrollo y mantenimiento de la API en mi primer trabajo, tuve que navegar por un extenso código legacy sin documentar y sin el apoyo de sus creadores originales. Incapaz de encontrar una librería de logging adecuada para mis necesidades y de la urgencia, terminé creando la mía propia.

Uso

Primero, instala la librería con composer:

composer require chus/php-execution-tracker

Una vez instalada, puedes usarla en tu código usando el autoload del vendor:

<?php

require_once "/vendor/autoload.php";

use ExecutionTracker\Tracker;

Después, puedes empezar a rastrear un proceso así:

$track = Tracker::track("Wait 1 second");
sleep(1);
$track->end("Waited 1 second");

$track->asJson();

Output:

{
    "name": "Wait 1 second",
    "result": "Waited 1 second",
    "startTime": 1705765167.568996,
    "endTime": 1705765168.583068,
    "errorOccurred": false,
    "warningOccurred": false,
    "errors": [],
    "warnings": [],
    "logs": [],
    "subProcedures": []
}

Como puedes ver, la librería es muy sencilla de usar. Solo tienes que llamar al método track con el nombre del proceso que quieres rastrear, y después llamar al método end con el resultado del proceso.

La idea es generar un árbol de procesos que se pueda convertir fácilmente a JSON para propósitos de logging y mostrarlo de una forma sencilla.