CroupierCroupier
指南
架构
API 参考
  • C++ SDK
  • Go SDK
  • Java SDK
  • JavaScript SDK
  • Python SDK
分析
GitHub
指南
架构
API 参考
  • C++ SDK
  • Go SDK
  • Java SDK
  • JavaScript SDK
  • Python SDK
分析
GitHub
  • 分析系统

    • 游戏数据分析系统
    • 快速开始

5 分钟上手

本节帮助你快速启动基础依赖、启用采集入口,并通过 HTTP 上报一条事件。

前置要求

  • Docker 或本地 ClickHouse/Redis
  • curl 或任意 HTTP 客户端
  1. 启动基础依赖
docker compose up -d clickhouse redis
  1. 启动 Ingestion 与 Worker(示例)
# 构建二进制
make dev   # 生成到 bin/

# 启动服务(示意参数,按需调整)
bin/server --http_addr :8080
bin/ingest --http_addr :18080 --redis_url redis://localhost:6379/0 --secret your-secret
bin/analytics-worker --redis_url redis://localhost:6379/0 --clickhouse_url http://localhost:8123
  1. 客户端上报一条事件
BODY='[{"event":"session.start","ts":'$(date +%s)'000,"attrs":{"uid":"u1","game_id":"demo"}}]'
TS=$(date +%s)
NONCE=$(openssl rand -hex 8)
SIG=$(printf "%s\n%s\n%s" "$TS" "$NONCE" "$(printf "%s" "$BODY" | shasum -a 256 | awk '{print $1}')" | \
  openssl dgst -sha256 -hmac "your-secret" -binary | base64)
curl -sS -X POST "http://localhost:18080/api/ingest/events" \
  -H "Content-Type: application/json" \
  -H "X-Timestamp: $TS" \
  -H "X-Nonce: $NONCE" \
  -H "X-Signature: $SIG" \
  --data "$BODY"
  1. 在 ClickHouse 中查看
-- 连接 CH 后执行:
SELECT event, ts, attrs FROM analytics.events ORDER BY ts DESC LIMIT 10;
  1. 接入 Grafana(可选)
  • 添加 ClickHouse/Prometheus 数据源
  • 导入内置看板(在 packs/analytics/*.json 中提供示例)

小结

  • 客户端事件 → Ingestion → Redis Stream → Worker → ClickHouse
  • 服务端 Traces/Metrics 建议直接走 OTel Collector → ClickHouse/Prometheus

参考

  • 指标全景图: ./game-metrics-overview.md
  • 采集架构: ./data-collection-architecture.md
在 GitHub 上编辑此页
最后更新: 2026/1/8 05:17
Prev
游戏数据分析系统