Skip to content
/ stats Public

Scripts for generating project statistics and for plotting them as graphs.

License

Notifications You must be signed in to change notification settings

curl/stats

Folders and files

NameName
Last commit message
Last commit date
Oct 7, 2021
Jan 2, 2025
Feb 19, 2021
Oct 24, 2024
Oct 11, 2024
Oct 11, 2024
Oct 11, 2024
Nov 20, 2024
Oct 11, 2024
Oct 11, 2024
Oct 11, 2024
Oct 26, 2024
Oct 24, 2024
Aug 18, 2023
Oct 11, 2024
Aug 3, 2023
Oct 11, 2024
Oct 11, 2024
Mar 5, 2020
Oct 31, 2024
Jan 4, 2025
Jan 4, 2025
Nov 23, 2020
Oct 24, 2024
Apr 2, 2025
Oct 24, 2024
Nov 20, 2024
Oct 28, 2024
Nov 20, 2024
Oct 28, 2024
Nov 23, 2020
Nov 20, 2024
Oct 28, 2024
Nov 23, 2020
Mar 9, 2021
Oct 24, 2024
Mar 9, 2021
Aug 18, 2023
Oct 29, 2024
Dec 22, 2021
Oct 29, 2024
Jun 5, 2020
Oct 11, 2024
Nov 23, 2020
Mar 25, 2021
Oct 29, 2024
Mar 25, 2021
Dec 12, 2023
Nov 1, 2024
Dec 8, 2023
Oct 24, 2024
Nov 23, 2020
Nov 23, 2020
Oct 24, 2024
Oct 24, 2024
Nov 23, 2020
Apr 2, 2025
Nov 2, 2024
Jan 2, 2025
Oct 29, 2024
Apr 9, 2021
Nov 1, 2024
Mar 10, 2021
Oct 24, 2024
Nov 23, 2020
Jun 16, 2021
Dec 4, 2024
Nov 23, 2020
Apr 9, 2021
Apr 3, 2025
Oct 24, 2024
Feb 9, 2024
Oct 11, 2024
Nov 23, 2020
Aug 3, 2023
Oct 29, 2024
Aug 3, 2023
Oct 29, 2024
Nov 23, 2020
Nov 20, 2024
Oct 11, 2024
Nov 23, 2020
Oct 3, 2024
Oct 11, 2024
Oct 11, 2024
Feb 22, 2024
Oct 11, 2024
Mar 9, 2021
Oct 11, 2024
Jan 3, 2022
Oct 7, 2024
Oct 11, 2024
Dec 18, 2020
Jul 10, 2024
Oct 29, 2024
Nov 20, 2024
Jan 14, 2021
Oct 29, 2024
Nov 23, 2020
Sep 9, 2024
Oct 24, 2024
Mar 9, 2021
Oct 29, 2024
Mar 9, 2021
Nov 23, 2020
Jan 2, 2025
Nov 1, 2024
Nov 23, 2020
Jul 2, 2021
Oct 11, 2024
Jul 4, 2021
Jul 4, 2021
Aug 18, 2023
Oct 28, 2024
May 27, 2024
Oct 28, 2024
Nov 23, 2020
Dec 6, 2024
Dec 6, 2024
Nov 20, 2024
Oct 11, 2024
Nov 23, 2020
Mar 9, 2021
Oct 24, 2024
Dec 17, 2020
Nov 1, 2024
Nov 5, 2021
Oct 28, 2024
Sep 29, 2020
Oct 28, 2024
Sep 29, 2020
Oct 28, 2024
May 4, 2021
Oct 29, 2024
Dec 19, 2020
Feb 11, 2021
Aug 6, 2020
Nov 24, 2020
May 4, 2021
Jan 7, 2025
Oct 31, 2024
Apr 26, 2022
Apr 26, 2022
Jun 10, 2024
Jun 10, 2024
Jun 10, 2024
Jun 10, 2024
Aug 3, 2023
Oct 29, 2024
Apr 26, 2022
Oct 29, 2021
Sep 10, 2020
Oct 29, 2024
Nov 24, 2020
Apr 26, 2022
Jun 10, 2024
Jan 3, 2025
Apr 23, 2021
Feb 24, 2025
Oct 31, 2024
Oct 29, 2024
Oct 28, 2024
Oct 11, 2024
May 15, 2020
Oct 28, 2024
Oct 28, 2024
Nov 11, 2020
Oct 29, 2024
Nov 25, 2020
Nov 23, 2020
Nov 10, 2020
Oct 28, 2024
Nov 23, 2020
Jun 10, 2024
Oct 24, 2024
Dec 23, 2024
Jan 7, 2025
Sep 9, 2024
Oct 11, 2024
Apr 21, 2021
Apr 21, 2021
Oct 11, 2024
Jan 3, 2025
Oct 21, 2022
Mar 20, 2020
Oct 28, 2024
Nov 23, 2020
Feb 12, 2021
Oct 24, 2024
Sep 22, 2021
Oct 11, 2024
Feb 12, 2021
Oct 28, 2024
Sep 20, 2024
Apr 26, 2022
Aug 3, 2023
Oct 24, 2024
Nov 23, 2020
Jun 22, 2023
Oct 11, 2024
Dec 5, 2024
Dec 5, 2024
Apr 26, 2022
Jun 10, 2024
Oct 9, 2024
Oct 24, 2024
Aug 3, 2023
Oct 24, 2024
Nov 24, 2020
Aug 3, 2023
Jan 7, 2025
Jan 7, 2025
Jan 7, 2025
Jan 7, 2025
Jan 27, 2024
Oct 31, 2024
Nov 23, 2020
Feb 19, 2021
Dec 23, 2024
Dec 23, 2024
Nov 23, 2020
Aug 7, 2023
Jun 10, 2024
Oct 11, 2024
Aug 18, 2023
Oct 24, 2024
Nov 23, 2020
Dec 21, 2024
Dec 21, 2024
Sep 18, 2024
Oct 11, 2024
Apr 23, 2020
Aug 18, 2023
Oct 24, 2024
Sep 16, 2021
Oct 11, 2024
Nov 23, 2020
Nov 24, 2020
Nov 17, 2020
Nov 1, 2024
Nov 24, 2020
Sep 9, 2024
Oct 11, 2024

Repository files navigation

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.

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.