{"id":14989893,"url":"https://github.com/curl/stats","last_synced_at":"2025-04-09T15:05:49.227Z","repository":{"id":65644786,"uuid":"245210632","full_name":"curl/stats","owner":"curl","description":"Scripts for generating project statistics and for plotting them as graphs.","archived":false,"fork":false,"pushed_at":"2025-04-03T06:33:22.000Z","size":1126,"stargazers_count":81,"open_issues_count":1,"forks_count":10,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-09T15:05:42.791Z","etag":null,"topics":["curl","git","gnuplot","libcurl","statistics"],"latest_commit_sha":null,"homepage":"https://curl.se/dashboard.html","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/curl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"authors-active.pl","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-05T16:16:18.000Z","updated_at":"2025-04-03T06:33:26.000Z","dependencies_parsed_at":"2024-02-13T01:30:46.957Z","dependency_job_id":"0de4c510-5327-41cd-bb4e-f7e21bc194c0","html_url":"https://github.com/curl/stats","commit_stats":{"total_commits":576,"total_committers":2,"mean_commits":288.0,"dds":0.00868055555555558,"last_synced_commit":"2926cba0010f98b7cf7893f89790d1e74c3ab44e"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/curl%2Fstats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/curl%2Fstats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/curl%2Fstats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/curl%2Fstats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/curl","download_url":"https://codeload.github.com/curl/stats/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248055284,"owners_count":21040157,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["curl","git","gnuplot","libcurl","statistics"],"created_at":"2024-09-24T14:19:05.877Z","updated_at":"2025-04-09T15:05:49.210Z","avatar_url":"https://github.com/curl.png","language":"Perl","readme":"# Stats\n\nThis repository holds a collection of scripts for generating project\nstatistics and data.\n\nStats generated by these scripts have been, are and will be used in curl\nrelated blog posts and presentations and by providing the scripts in a public\nrepository everyone can reproduce the results and can verify the correctness\nof them.\n\nThis allows everyone to help out to improve the scripts and to provide new\nones that generate even more, better and more interesting project stats.\n\n## Run the scripts\n\n### Check out the main curl git repository\n\n    git clone https://github.com/curl/curl.git\n\n### Check out this repository as a subdirectory\n\n    cd curl\n    git clone https://github.com/curl/stats.git\n\n### Get data\n\nThe scripts are (primarily) written in perl and are intended to be run from\nthe curl source code root.\n\nExample:\n\n    perl stats/script.pl \u003e tmp/script.csv\n\n### Render graph\n\nThe rendering of the graph is separate from the data gathering part. We\ngnuplot script is named the same as the perl script and uses the CSV file as\ninput to generate a SVG output:\n\n    gnuplot -c stats/script.plot \u003e tmp/script.svg\n\n### The curl dashboard\n\nThe entire collection of scripts is run by the `mksvg.sh` script once per day\nin the curl webserver to generate the [curl\ndashboard](https://curl.se/dashboard.html).\n\n## Output\n\nThe scripts are written to output CSV data, usually having data and/or curl\nrelease versions included in each line.\n\n# Scripts\n\nAll perl scripts use the extension `.pl` and they generate CSV files with\ndata. Several of them are written with a \"cache\", so that repeated invokes\nonly scans for the part that is not cached. To run faster and avoid repeating\ndoing the same things every day.\n\nThe gnuplot scripts use the extension `.plot` and they generate SVG output.\n\n## git details\n\nLots of git operations work with the assumption that we can list all tags\n(which correspond to releases) and sort them, and then act on the git\nrepository at the times when those tags were set.\n\nLots of git operations also scan specific directory paths of the source code\ntree, like `src/` and `lib/` since we know the layout we know the meaning of\nthat.\n\n# License\n\nAll scripts in this repository are provided under the [MIT](LICENSE).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcurl%2Fstats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcurl%2Fstats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcurl%2Fstats/lists"}