Git Repositories Test

A repository, also called as a project folder, is the most basic element of GitHub. You can create a new repository on your personal account or any organization where you have sufficient permissions. The repository contains all of the project's files and stores each file's revision history. You can also discuss and manage your project's work within the repository. Repositories can be either public or private and can have multiple collaborators. Public repositories are visible to everyone, on the other hand, a private repository can be viewed and contributed only by the owner and collaborators. As the repositories are the basic units and shared among multiple users, it is important for the account owners to be up-to-date about the size and workload of the repositories in their account. The Git Repositories test helps the account owners in this regard.

This test auto-discovers the repositories in the target GitHub account and reports the count of commit operations performed on each repository. In addition, the detailed diagnosis provided by the test reveals the record of what changes were made when and by who. This helps the account owners to keep track of the commit operations and to know if any of the changes were done by unauthorized users. This test also reveals the workload on each repository in terms of issues and pull requests. This way, the unsolved issues are brought to the immediate attention of the account owners, so that they can investigate the reason for the same and fix them. In the process, this test also sheds light on the size of each repository. Using this revelation, the account owners can instantly know whether the repository size is within the acceptable limit or has increased abnormally. If the repositories are detected to be in large size, the account owners can initiate remedial measures to prevent slowness during fetching files from the repositories.

Target of the test : GitHub

Agent deploying the test : A remote agent

Outputs of the test : One set of the results for every repository created.

Configurable parameters for the test
Parameter Description

Test Period

How often should the test be executed. By default, this is set to 1800 seconds.

Host

The IP address of the host for which this test is to be configured.

Port

The port at which the specified host listens. By default, this is NULL

Username and Password

Specify the valid credentials of a user of the GitHub against the Username and Password parameters.

Confirm Password

Confirm the password by retyping it here.

DD Frequency

Refers to the frequency with which detailed diagnosis measures are to be generated for this test. The default is 6:1. This indicates that, by default, detailed measures will be generated every time this test runs, and also every time the test detects a problem. You can modify this frequency, if you so desire. Also, if you intend to disable the detailed diagnosis capability for this test, you can do so by specifying none against DD frequency.

Detailed Diagnosis

To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

  • The eG manager license should allow the detailed diagnosis capability
  • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Commits

Indicates the number of commit operations performed in this repository.

Number

A commit, or "revision", is an individual change to a file or set of files in the repository. When you save a file, except with Git, every time it creates a unique ID (a.k.a. the "SHA" or "hash") that allows you to keep record of what changes were made when and by who. Commits usually contain a commit message which is a brief description of what changes were made.

The detailed diagnosis of this measure reveals the name and email address of an author who created the file for which the commit operation was performed.

Pull requests

Indicates the number of pull requests made to this repository during the last measurement period.

Number

Pull requests are proposed changes to a repository submitted by a user and accepted or rejected by a repository's collaborators.

Once a pull request is opened, the particular user can discuss and review the potential changes with the collaborators and add follow-up commits before the changes are merged into the base branch.

Branches

Indicates the number of branches created in this repository.

Number

A branch is a parallel version of a repository. It is contained within the repository, but does not affect the primary or master branch allowing you to work freely without disrupting the live version. When you have made the changes you want to make, you can merge your branch back into the master branch to publish your changes.

Open issues

Indicates the number of issues that are still open/ unresolved in this repository.

Number

Issues are suggested improvements, tasks or questions related to the repository. Issues can be created by anyone (for public repositories), and are moderated by repository collaborators. Each issue contains its own discussion forum, can be labeled and assigned to a user.

A high value may indicate that more number of tasks and improvements are not completed yet which in turn may decrease the data integrity and reliability of the repositories.

Repository size

Indicates the size of this repository.

Number

The value reported by this measure helps a repository administrator to know whether the size of the repository is within an acceptable limit or has increased abnormally. If the size of the repository has increased abnormally, administrator should consider removing the large files from the repository to keep the repository smaller. The smaller repositories ensure that the GitHub server is fast and downloads are quick for users.

Watchers

Indicates the number of users who can watch the activities performed in this repository.

Number

Watchers are Github users who have asked to be notified of activity in a repository.

Repository ranking

Indicates the ranking of this repository.

Number

In GitHub, You can star repositories and topics to keep track of projects you find interesting and discover related content in your news feed. Starring makes it easy to find a repository or topic for future reference.

Starring a repository also shows appreciation to the repository administrator for their work. Many of GitHub's repository rankings depend on the number of stars a repository has. Therefore, a high value is preferred for this measure.

Forks

Indicates the number of forks in this repository.

Number

A fork is a personal copy of another user's repository that lives on your GitHub account. Forks allow you to freely make changes to a project without affecting the original. Forks remain attached to the original, allowing you to submit a pull request to the original's author to update with your changes. You can also keep your fork up to date by pulling in updates from the original.