Dolphin's Analytics ingest server
Go to file
2022-09-05 10:53:57 +02:00
.github/workflows Initial commit (code import from dolphin-emu/sadm) 2022-09-05 10:53:57 +02:00
analytics_ingest Initial commit (code import from dolphin-emu/sadm) 2022-09-05 10:53:57 +02:00
.gitignore Initial commit (code import from dolphin-emu/sadm) 2022-09-05 10:53:57 +02:00
flake.lock Initial commit (code import from dolphin-emu/sadm) 2022-09-05 10:53:57 +02:00
flake.nix Initial commit (code import from dolphin-emu/sadm) 2022-09-05 10:53:57 +02:00
LICENSE Initial commit (code import from dolphin-emu/sadm) 2022-09-05 10:53:57 +02:00
poetry.lock Initial commit (code import from dolphin-emu/sadm) 2022-09-05 10:53:57 +02:00
pyproject.toml Initial commit (code import from dolphin-emu/sadm) 2022-09-05 10:53:57 +02: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.