Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/curl/stats
Scripts for generating project statistics and for plotting them as graphs.
https://github.com/curl/stats
curl git gnuplot libcurl statistics
Last synced: 7 days ago
JSON representation
Scripts for generating project statistics and for plotting them as graphs.
- Host: GitHub
- URL: https://github.com/curl/stats
- Owner: curl
- License: mit
- Created: 2020-03-05T16:16:18.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-10-29T07:56:46.000Z (3 months ago)
- Last Synced: 2024-10-29T15:32:24.180Z (3 months ago)
- Topics: curl, git, gnuplot, libcurl, statistics
- Language: Perl
- Homepage: https://curl.se/dashboard.html
- Size: 959 KB
- Stars: 71
- Watchers: 9
- Forks: 7
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Authors: authors-active.pl
Awesome Lists containing this project
README
# Stats
This repository holds a collection of scripts for generating project
statistics and data.Stats generated by these scripts have been, are and will be used in curl
related blog posts and presentations and by providing the scripts in a public
repository everyone can reproduce the results and can verify the correctness
of them.This allows everyone to help out to improve the scripts and to provide new
ones that generate even more, better and more interesting project stats.## Run the scripts
### Check out the main curl git repository
git clone https://github.com/curl/curl.git
### Check out this repository as a subdirectory
cd curl
git clone https://github.com/curl/stats.git### Get data
The scripts are (primarily) written in perl and are intended to be run from
the curl source code root.Example:
perl stats/script.pl > tmp/script.csv
### Render graph
The rendering of the graph is separate from the data gathering part. We
gnuplot script is named the same as the perl script and uses the CSV file as
input to generate a SVG output:gnuplot -c stats/script.plot > tmp/script.svg
### The curl dashboard
The entire collection of scripts is run by the `mksvg.sh` script once per day
in the curl webserver to generate the [curl
dashboard](https://curl.se/dashboard.html).## Output
The scripts are written to output CSV data, usually having data and/or curl
release versions included in each line.# Scripts
All perl scripts use the extension `.pl` and they generate CSV files with
data. Several of them are written with a "cache", so that repeated invokes
only scans for the part that is not cached. To run faster and avoid repeating
doing the same things every day.The gnuplot scripts use the extension `.plot` and they generate SVG output.
## git details
Lots of git operations work with the assumption that we can list all tags
(which correspond to releases) and sort them, and then act on the git
repository at the times when those tags were set.Lots of git operations also scan specific directory paths of the source code
tree, like `src/` and `lib/` since we know the layout we know the meaning of
that.# License
All scripts in this repository are provided under the [MIT](LICENSE).