A metric provider performs one or more measurements on a particular aspect of an open-source project.
Developing metric providers requires following these steps:
- Define the data model of the metric using Pongo
- Implement the metric provider
- Define a MetVis specification for the metric provider
- Make the metric provider discoverable by the OSSMETER platform
Define the data model
Data models are defined using Pongo, an ODM for MongoDB. For information regarding using Pongo to define your data model, please read the Pongo documentation.
Implement the metric provider
There are two types of metric provider than you can create: transient and historic. Transient metric providers are termed transient because we make the assumption that the data computed is subject to change/deletion and may only be valid for the last date the metric was executed. Historic metric providers associate a particular metric measurement with a date. Commonly, these summarise transient metric providers before their data is modified or overwritten in subsequent days. An example historic metric provider might be a commits over time metric provider which tracks the total number of commits that have occurred in the project’s version control sys- tem(s). This historic provider could utilise a transient (fact) metric provider which keeps track of all the metadata of every commit that has occurred up to the date currently being analysed. Historic metric providers are those that are most likely (though not exclusive) to be of most interest to users.