Dolphin's Analytics ingest server
Go to file
2024-01-30 18:12:07 -05:00
.github/workflows ci: use poetry v1.3 2023-02-02 05:34:30 +01:00
analytics_ingest analytics-ingest: take dashboard URL via environment (easier with WSGI) 2023-04-13 03:08:18 +02:00
.gitignore Initial commit (code import from dolphin-emu/sadm) 2022-09-05 10:53:57 +02:00
CODE_OF_CONDUCT.md Add ref to Dolphin's Code of Conduct 2023-01-02 11:22:02 +01:00
flake.lock flake.lock: Update 2024-01-30 18:10:49 -05:00
flake.nix flake: Fix poetry2nix overlay reference 2024-01-30 18:12:07 -05:00
LICENSE Initial commit (code import from dolphin-emu/sadm) 2022-09-05 10:53:57 +02:00
poetry.lock deps: add gunicorn 2023-02-02 05:31:08 +01:00
pyproject.toml deps: add gunicorn 2023-02-02 05:31:08 +01:00
README.md Initial commit (code import from dolphin-emu/sadm) 2022-09-05 10:53:57 +02:00

Analytics ingest server

This small Python (bottle) server receives analytics events from Dolphin instances in the wild, deserializes them, and writes records to ClickHouse. It dynamically maintains the ClickHouse table schema in order to support some amount of schema agility, where new analytics fields can be added in the client without requiring server side changes.

Requirements

  • Python 3 and Poetry
  • ClickHouse

Setup

Using Nix

Note: this requires Nix Flakes to be enabled on your system.

nix run github:dolphin-emu/analytics-ingest

Without Nix

This project uses Poetry for dependency management.

# Install dependencies (use --no-dev to skip optional dev dependencies).
poetry install

# Run the server
poetry run analytics-ingest

License

Licensed under the MIT License. See LICENSE.