telemetría: guardar la versión de la app (fragmentación)
add_telemetry cuenta 'ver:<versión>' por envío (usa app_version, que la app ya mandaba pero se ignoraba). El summary lo devuelve como una fila más; la app lo agrupa aparte como distribución de versiones. Test actualizado. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
3
main.py
3
main.py
@@ -308,6 +308,9 @@ def add_telemetry(body: TelemetryIn, db: Session = Depends(get_db)):
|
||||
|
||||
# Un envío = una instalación activa ese día que cede estadística.
|
||||
add("__submissions__", active=1)
|
||||
# Versión de la app (para ver la fragmentación): clave 'ver:<versión>'.
|
||||
version = (body.app_version or "unknown").strip()[:16]
|
||||
add(f"ver:{version}", active=1)
|
||||
for m in (body.active_modules or [])[:40]:
|
||||
add(m, active=1)
|
||||
for m, c in (body.opens_by_module or {}).items():
|
||||
|
||||
@@ -46,6 +46,10 @@ def test_telemetria_agrega_y_resume():
|
||||
# Una subsección de Aprende con tiempo, sin ser módulo activo.
|
||||
assert by_module["aprende:sueno"]["seconds"] == 45
|
||||
assert by_module["aprende:sueno"]["opens"] == 0
|
||||
# Versión de la app (fragmentación): el primer envío fue 2.27.0, el segundo
|
||||
# sin versión → 'unknown'.
|
||||
assert by_module["ver:2.27.0"]["activeInstallDays"] == 1
|
||||
assert by_module["ver:unknown"]["activeInstallDays"] == 1
|
||||
# fasting: activo en 2 envíos, 0 aperturas.
|
||||
assert by_module["fasting"]["activeInstallDays"] == 2
|
||||
assert by_module["fasting"]["opens"] == 0
|
||||
|
||||
Reference in New Issue
Block a user