Skip to content

tchapgouv/tchap-stats

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

161 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tchap stats

Ce projet permet de construire les tables dans : https://stats.tchap.incubateur.net/browse/2-tchap-stats

Descriptions des tables et vues créées par ces scripts

données brutes

Les données brutes sont extraites depuis ce projet : https://github.com/tchapgouv/tchap-infra/tree/master/ansible/roles/matrix-synapse-stats/templates/views

Viennent des exports des base de données de Tchap

  • user_daily_visits : données globales de toutes les visites des utilisateurs avec leur type d'appareil. aggrégé par jour. 68 milliard de lignes
  • subscriptions_aggregate : données des nouvelles inscriptions
  • events_aggregate : données des événements matrix
  • crisp_conversation_segments : export des segments crisp, une ligne par segment
  • account_data_aggregate : TODO

vues matérialisées (materialized view)

Construites à partir des vues de données brutes. Elles permettent d'aggréger les données selon une ou deux dimensions ce qui accèlere le temps de traitement lors de la création des dashboard.

vue aggrégés de user_daily_visits

  • user_daily_visits_agg_XXX : vue aggrégée par jour des utilisateurs actifs par leur type d'appareil (mobile ou web) sur une période de temps
    • user_daily_visits_agg_30d : les 30 derniers jours
    • user_daily_visits_agg_120d : les 120 derniers jours
    • user_daily_visits_agg_1y : la derniere année
  • user_daily_visits_by_month_YY : vue aggrégée par mois des utilisateurs actifs par leur type d'appareil sur une période de temps. 1y
    • user_daily_visits_by_month_1y : la derniere année
    • user_daily_visits_by_month_18m : sur les 18 derniers mois

Deprecated

  • daily_unique_user_count : (deprecated, too long to update) vue aggrégées par jour des utilisateurs actifs par leur type d'appareil
  • monthly_unique_user_count : (deprecated, too long to update) vue aggrégées par mois des utilisateurs actifs par leur type d'appareil
  • unique_user_daily_count_30d : //TODO
  • user_monthly_visits : (deprecated, too long to update) use instead user_daily_visits_by_month_1y
  • user_visit_summary : //TODO

fonctionnement

Job which fetches stats from an S3 bucket.

To run on scalingo, since there is no webapp, you need to scale the web container to 0 (otherwise scalingo complains that there is no webapp, or that the webapp crashed on startup) :

scalingo --app my-app scale web:0:M

See doc in https://doc.scalingo.com/platform/app/web-less-app

You may need to first create a dummy app to get the scalingo machine up (see this commit), then scale the web container to zero, then remove the dummy app.

Access the database

Add your public ssh key to your scalingo profile

Create a local tunnel

  • prod
scalingo -a tchap-stats-prod db-tunnel --region osc-secnum-fr1 SCALINGO_POSTGRESQL_URL
  • preprod
scalingo -a tchap-stats-preprod db-tunnel SCALINGO_POSTGRESQL_URL

You can access your database on: 127.0.0.1:10000

Run a container locally

  • prod
scalingo --region osc-secnum-fr1 -a tchap-stats-prod run bash 
  • preprod
scalingo -a tchap-stats-preprod run bash 

run a pipeline locally

We use the official docker image of scalingo to run pipeline locally docker pull scalingo/scalingo-24:latest

example : execute pipeline user_daily_visits on 2024-11-14 data

When using docker container, change your .env tunnel configuration to use host.docker.internal instead of 127.0.0.1

docker run --rm -it --network=host -v $(pwd):/app -w /app scalingo/scalingo-24:latest ./sync_data.sh 2024-11-14 user_daily_visits

activate cron and deacticate web ps

do not work with review app

works with prod : scalingo --region osc-secnum-fr1 -a tchap-stats-prod scale web:0 scalingo --region osc-secnum-fr1 -a tchap-stats-prod scale cron:1

About

Scripts et organisation des statistiques fournies à Metabase provenant des données matrix

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors