Ir al contenido

Qué es

GitHub responde la mayoría de las preguntas sobre el presente y casi ninguna sobre el pasado.

La API de tráfico sirve catorce días y olvida. El feed de actividad guarda los últimos trescientos eventos, sea cual sea su fecha. Las notificaciones leídas desaparecen en semanas. Los logs de los jobs se borran a los noventa días. La lista de estrellas dice cuándo se dio cada una, pero solo si se pregunta antes de que la lista sea lo bastante larga como para que recorrerla salga caro. Nada de eso queda archivado en ningún sitio salvo que uno lo archive.

ghchronicle recorre esas superficies según un horario y escribe cada observación como un punto sellado con la fecha en que la cosa ocurrió de verdad, de modo que dentro de un año la pregunta “a qué velocidad fusionábamos en julio” siga teniendo respuesta.

Ventana de terminal
ghchronicle -config config.yaml

Es un único binario de Go sin más dependencias que un analizador de YAML, y envía por push a todos los almacenes que soporta, así que se ejecuta allí donde los alcance: un servidor, un contenedor, un workflow programado.

PalabraQué significa aquí
familiaUn colector, nombrado en la configuración: actions, stars, issues. Hay 34
grupoUn conjunto de familias con nombre, para encender o apagar un área entera: ci, security, audience. Hay 8
medidaUn tipo de fila del almacén, nombrada gh_*: gh_star, gh_workflow_run. Hay 91
puntoUna fila: una medida, sus etiquetas, sus campos y la fecha en que ocurrió la cosa
pasadaUn recorrido por las familias a las que les toca, que es lo que hace el proceso en bucle
rellenoUna ejecución con -backfill, que recorre la historia en vez del incremento

ghchronicle -groups imprime los grupos con sus familias, y ghchronicle -config config.yaml -list imprime los repositorios que cubriría una pasada.