log-and-monitor-services
Acá voy a dejar un listado detallando los servicios y su forma de configuración, que estoy usando para recopilar datos.
Activity Watch
Lo uso para guardar información acerca de las aplicaciones y los tiempos que utilizo las distintas aplicaciones y programas en las distintas computadoras.
Activity Watch funciona muy bien, los datos quedan 100% en tu maquina local. El único tema es que tenes que tener una instancia por compu, haciendo que la unión de datos sea un poco compleja y un proceso 100% manual. Desde el proyecto no recomiendan tener el server corriendo en una sola compu y que todo apunte ahí por que al ser un servicio que esta pensando para ejecutarse localmente, no hay ninguna verificación de usuario ni autenticación. Esta abierto y cualquier con acceso a ese server podría cambiar o borrar datos.
Para {{Archlinux}} se puede instalar el paquete activitywatch-bin
desde AUR. Por default el servicio se configura para iniciar en cada booteo.
Una vez instalado el server, se pueden instalar distintos watchers para cada tipo de aplicación que queramos loggear. Por default, el server viene un con watcher que se encarga de loggear todas las aplicaciones y ventanas que abrimos y usamos en el sistema operativo. Pero podemos instalar watcher específicos para {{Visual Studio Code}}, PHP Storm y Firefox por ejemplo, que van a acceder a mayor información acerca del proyecto en el que estamos trabajo o el nombre de la pestaña de la página que estamos navegando.
El server expone una interfaz web en la siguiente dirección localhost:5600
desde ahí podemos ver la actividad o el timeline de como usamos nuestro tiempo en que apps, que proyectos y cuanto tiempo estamos usando o no la compu. También nos permite realizar distintas configuraciones que nos ayudan a catalogar / agrupar las distintas aplicaciones que usamos. Las categorías se pueden exportar e importar en todas las instancias que tengamos ejecutando.
Actualmente tengo 2 instancias de Activity Watch, una en mi compu de escritorio y otra en la {{thinkpad-x230}}.
Claramente todo esto es parte de {{quantified-self-journey}}.
Wakapi
Wakapi🡭 es un servicio alternativo a WakaTime🡭 . La gran diferencia que es Wakapi es 100% local. Los datos no se suben a la nube, como pasa en WakaTime. Wakapi sirve para obtener metricas acerca de cuanto tiempo pasamos dentro de un editor de texto programando, en que lenguaje, que proyecto, etc.
Wakapi es también 100% compatible con los plugins de WakaTime, por lo que podemos utilizar todos los plugins que ya existen pero decirles que apunten a nuestra instancia de Wakapi.
Este servicio expone también una interfaz web donde podemos ver los distintos gráficos y observar las distintas métricas relacionadas a cuanto tiempo programamos, que lenguaje, que proyecto, etc.
Para instalar Wakapi, podemos utilizar {{Docker}} y {{docker-compose}}, levantando nuestro propio contenedor que puede estar en nuestro {{homelab}} y apuntar los distintos editores de texto a esa única instancia.