ActivityWatch / ActivityWatch/stats

Play Console data collection: state, tooling, and what's automatable

Đang mở
#17 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Python
Star
11
Fork
3
Merge trung bình
3 giờ 36 phút
Pull request đã merge (30 ngày)
1

Mô tả

Tracking issue for the Play Console data-collection capability that now lives in this repo (`vitals.py`, `android_installs.py`, `collect-play.yml`), what works, and open decisions. Related: #4, aw-android#176.

## Service account
`aw-play-reports@activitywatch-176907.iam.gserviceaccount.com` — key at `~/.config/activitywatch/play-sa.json` (local + Bob's machine); repo secrets `PLAY_SA_JSON` + `PLAY_BUCKET` set.

## ✅ Works — Play Developer Reporting API (vitals + errors)
`vitals.py` works end-to-end; `collect-play.yml` runs it daily:
- `crash-rate` / `anr-rate` → `data/android-crash-rate.csv`, `data/android-anr-rate.csv`
- `errors [--stacktraces]` → top crash/ANR clusters + stacktraces (`errorIssues`/`errorReports`)

Actionable for agents/devs: the current top crash is `ChromeWatcher.onAccessibilityEvent` NPE at `ChromeWatcher.kt:76` (~791 reports).

## ✅ Works — GCS bulk reports (installs)
**Update:** the SA's bucket access finally propagated (well past Google's "up to 24h"), so `android_installs.py` can now list **and** read the `pubsite_prod_rev_…` reports. CI automation via the SA is viable (earlier this was blocked by `403 storage.objects.list`; resolved).

## `installed.csv` metric — the real remaining decision
Access is no longer the blocker; the metric is:
- Manual export used **"Installed audience" (unique users)** — *not present in any bulk report* (installs/acquisition/ratings/crashes/store_performance); Statistics-dashboard-only, no API. **Cannot be automated.**
- Bulk reports offer **"Active Device Installs" (devices, ~10% higher)** — automatable in CI now, matches the chart's "Installed Devices" label.

So: **Installed audience = manual forever**, or **switch to Active Device Installs = full CI automation**.

## Open items
- [ ] Decide `installed.csv` metric (Installed audience manual vs Active Device Installs automated).
- [ ] If switching: skip spurious `0` values from not-yet-finalized recent days (e.g. saw `2026-07-06 = 0` between ~6300 neighbors).
- [ ] "Mobile usage" metric — no programmatic source (#4).
- [ ] Fix the dominant crash: `ChromeWatcher.kt:76` NPE (aw-android#176).

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.