Skip to main content

SSL Metrics - Git History (LOC/KLOC) Analysis

Project description

SSL Metrics git Commit LOC Extractor

Using git, extract Lines of Code (LOC) data from a repository and graph various metrics from it

DOI Release to PyPi, GitHub, and Zenodo

About

This is a proof of concept demonstrating that it is possible to use git to extract various Lines of Code (LOC) data from a repository and graph various metrics from it.

This software extracts LOC, Delta LOC, and KLOC (LOC / 1000) for every commit within a singular branch of a local git repository and stores it within a .json file.

This file can then be piped into a bundled graphing utility to graph the following for LOC, Delta LOC, and KLOC:

  • Actual data
  • Trend line
  • Velocity of trend line
  • Acceleration of trend line

The graphs can be saved as a .png, .pdf, or any compatible format that matplotlib supports.

How to Run

Installation

From pip

  1. Install Python 3.9.6 +
  2. (Recommended) Create a virtual environment with python3.9 -m venv env and activate it
  3. Run pip install ssl-metrics-git-commits-loc
  4. Generate a JSON data set with ssl-metrics-git-commits-loc-extract -d DIRECTORY -b BRANCH -o FILENAME.json
  5. Generate graphs with ssl-metrics-git-commits-loc-graph -i FILENAME.json -l LOC_GRAPH_FILENAME.* -d DELTA_LOC_GRAPH_FILENAME.* -k K_LOC_GRAPH_FILENAME.* -m ESTIMATED_POLYNOMIAL_DEGREE -r REPOSITORY_NAME

Command Line Arguments

ssl-metrics-git-commits-loc-extract

  • -h, --help: Shows the help menu and exits
  • -d, --directory: Directory where the .git folder is located
  • -b, --branch: Git branch to analyze
  • -o, --output: Output analysis to JSON file

ssl-metrics-git-commits-loc-graph

  • -h, --help: Shows the help menu and exits
  • -i, --input: The input data file that will be read to create the graphs
  • -l, --graph-loc-filename: The filename to output the LOC graph to
  • -d, --graph-delta-loc-filename: The filename to output the Delta LOC graph to
  • -k, --graph-k-loc-filename: The filename to output the K LOC graph to
  • -m, --maximum-degree-polynomial: Estimated maximum degree of polynomial
  • -r, --repository-name: Name of the repository that is being analyzed

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ssl-metrics-git-commits-loc-0.7.2.2.tar.gz (8.6 kB view hashes)

Uploaded Source

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page