Sobre el proyecto
Counterscale es un rastreador y panel de analítica web de código abierto que los usuarios autoalojan en Cloudflare. Se publica bajo la licencia MIT y está diseñado para ser fácil de desplegar y mantener; el README señala que su costo de operación debe ser cercano a cero, incluso con niveles de tráfico elevados. Funciona principalmente con Cloudflare Workers y Workers Analytics Engine. A partir de febrero de 2025, Workers Analytics Engine tiene una retención máxima de 90 días, por lo que el panel solo puede mostrar los últimos 90 días de datos registrados. Counterscale también proporciona almacenamiento de datos a largo plazo en un bucket de R2 utilizando archivos Apache Arrow. Este almacenamiento a largo plazo está habilitado por defecto y puede desactivarse a través de la CLI.
La instalación requiere macOS o Linux, Node v20 o superior y una cuenta activa de Cloudflare. Antes del despliegue, los usuarios necesitan un subdominio de Cloudflare Workers, la beta de Analytics Engine habilitada en la cuenta y un token de API de Cloudflare con permisos de Account.Account Analytics como mínimo. El despliegue comienza con npx wrangler login, seguido de npx @counterscale/cli@latest install. El instalador solicita el token de API y pregunta si se desea proteger el panel con una contraseña. Se recomienda elegir sí para despliegues públicos; elegir no deja el panel accesible públicamente. Tras la instalación, la aplicación del servidor se despliega en un subdominio workers.dev.
Para registrar el tráfico del sitio web, Counterscale ofrece varios métodos de integración. El cargador de scripts pone tracker.js a disposición en la URL desplegada. Los usuarios pueden añadir una etiqueta de script con un id de counterscale-script, un atributo data-site-id y la fuente de tracker.js. El rastreador también se publica como un paquete de npm, @counterscale/tracker. Puede inicializarse con un site ID y una URL de reporter. El módulo cliente expone métodos como init, isInitialized, getInitializedClient, trackPageview y cleanup. Un módulo de servidor independiente, @counterscale/tracker/server, admite el seguimiento de analítica en el backend. Utiliza la API fetch en lugar de XMLHttpRequest, no tiene funciones dependientes del DOM, requiere parámetros explícitos de URL y hostname, y es de tipo "fire-and-forget", por lo que los errores de seguimiento no lanzan excepciones.
Counterscale incluye opciones avanzadas. El seguimiento automático de vistas de página puede desactivarse configurando autoTrackPageviews como false, tras lo cual trackPageview puede llamarse manualmente. La URL de despliegue también puede situarse detrás de un dominio personalizado. La CLI proporciona comandos para la instalación, autenticación y gestión del almacenamiento. El comando install admite un modo avanzado para personalizar el nombre del worker y el conjunto de datos de analítica, así como el registro detallado (verbose logging). Los subcomandos de autenticación incluyen enable, disable y roll. Los subcomandos de almacenamiento incluyen enable y disable. La actualización generalmente implica volver a ejecutar el instalador de la CLI; las versiones principales pueden tener pasos adicionales descritos en las notas de lanzamiento.
Para el desarrollo local, Counterscale tiene una sola base de datos: el conjunto de datos de Cloudflare Analytics Engine, con el que se comunica a través de HTTP mediante la API de Cloudflare. No existe una base de datos de prueba local, por lo que las escrituras locales no realizan ninguna operación (no-op) y las lecturas provienen del conjunto de datos de producción de Analytics Engine. Cloudflare Analytics Engine utiliza el muestreo para que la ingesta y las consultas de gran volumen sean asequibles a escala, de forma similar a otras herramientas de analítica.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.