Skip to content

Implement popularity metrics #116

Description

@IgnacioHeredia

Start supporting popularity metrics for each module.

Each module should have an overall [0-10] popularity computed from different individual metrics:

  • nº trymes (Plausible)
  • nº of module views (Plausible)
  • github stars
  • Dockerhub downloads
  • nº of nomad deployments
  • nº of oscar services, nº of oscar calls

To be able to aggregate the metrics, we have two options:

  1. Percentile: for each individual metric we compute the percentile (compared to the same metric of all other modules). With this we have [0,100] number for each metric.
  2. Normalization: for each metric we normalize to the max values observed for that metric in all modules. With this we have [0,1] number for each metric.

Then we decide how to weight each individual metric to compute the overall popularity.

In PAPI, popularity metrics should be added in the non-cached part of the metadata. To avoid additional latency, they should be computed in the background every 24 hrs, similarly to Nomad stats.

We could add a parameter to decide whether to retrieve popularity in last 6 months or all time. Take into account that some metrics are not under our control (eg. Github, Dockerhub) and we might not have finegrained stats about them.

Dashboard popularity (both overall metric and individual metrics) could be shown in the module detail. As well as offer a Sort by popularity option in the homepage.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions