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.
|
# Un envío = una instalación activa ese día que cede estadística.
|
||||||
add("__submissions__", active=1)
|
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]:
|
for m in (body.active_modules or [])[:40]:
|
||||||
add(m, active=1)
|
add(m, active=1)
|
||||||
for m, c in (body.opens_by_module or {}).items():
|
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.
|
# Una subsección de Aprende con tiempo, sin ser módulo activo.
|
||||||
assert by_module["aprende:sueno"]["seconds"] == 45
|
assert by_module["aprende:sueno"]["seconds"] == 45
|
||||||
assert by_module["aprende:sueno"]["opens"] == 0
|
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.
|
# fasting: activo en 2 envíos, 0 aperturas.
|
||||||
assert by_module["fasting"]["activeInstallDays"] == 2
|
assert by_module["fasting"]["activeInstallDays"] == 2
|
||||||
assert by_module["fasting"]["opens"] == 0
|
assert by_module["fasting"]["opens"] == 0
|
||||||
|
|||||||
Reference in New Issue
Block a user