Engineering Metrics
Introduction
Bunnyshell grants its users access to key metrics that allow them to monitor the efficiency of their release schedule. Named Engineering Metrics, this feature includes two main indicators:
Average Cycle Time
Deployment Frequency
Based on these two, we also display these additional indicators:
Monthly Cycle Time
Cycle Time Breakdown
Monthly Deployment Frequency
Accessing the Engineering Metrics
1. Log in to your Bunnyshell account.
2. Click the
Engineering Metrics icon on the left-side of the main interface.
Repositories
By default, Bunnyshell displays the cumulated statistics for all your connected repositories.
You can also access statistics for each of the repositories from the drop-down menu on the upper-left side of the Engineering Metrics interface, as displayed in the screenshot below.

How to select the repositories to monitor
To choose the repositories that will be analyzed by Bunnyshell, follow the steps below:
1. Go to the Engineering Metrics interface.
2. Click the Settings button.
3. In the Git Repositories section, add or remove the desired repos.
Setting Release Detection
The central element on which we compile the data is the Release. Bunnyshell allows you to select the way in which releases are detected.
Users have the following two options to choose from:
Detect releases based on Pull Requests to a dedicated branch: based on branch regular expression provided by the user, our platform will detect releases every time a Pull Request is merged into a branch matching the regular expression
Detect releases based on tags: our platform will detect releases based on created git tags matching the regular expression.
Release detection is set at a Project level.
How to set Release Detection
1. Go to the Engineering Metrics interface.
2. Click the Settings button.
3. In the Release Detection section, choose one of the two available options.
The changes made here will impact all monitored repositories.
Regular Expressions
Depending on the Release Detection type , you can provide a regular expression to help Bunnyshell more easily identify releases.
1. Go to the Engineering Metrics interface.
2. Click the Settings button.
3. In the Regular Expression section, fill in the necessary info.
To get the most out of the Engineering Metrics feature, you will have to fill in a branch regular expression. This means only pushes made on the specified branch (or branches) will be recorded by Bunnyshell as actual Releases.
If no Tag regular expression is given (or if you type .*), then all tags will be considered releases.
Examples:
If you type
^master$in this field, then Bunnyshell will only record the pushes made on the master branch as Releases.If you type
^master$|^main$in this field, then Bunnyshell will only record the pushes made on the master and main branches as Releases.If you type
^masterin this field, then Bunnyshell will record the pushes made to any branch whose name starts with master.
Tag Regular Expressions enable Bunnyshell to provide you with more accurate metrics.
For example, if you type ^v6 in this field, then Bunnyshell will only record releases that include the tag v6.
When releases are detected based on tags, you can choose to provide a regular expression or not.
If no Tag regular expression is given (or if you type .*), then all tags will be considered releases.
Average Cycle Time
The cycle time represents the time it takes for a feature to get into production. From a technical point of view, it represents the average difference between two moments:
The time when the branch enters a release (see above definition of a release)
The time when the first commit is made
The Average Cycle Time itself represents a useful statistic, as the Git Version Control System itself cannot capture the exact moment when work on a particular feature started.

Important! Only released branches are part of these statistics, as for the unreleased branches, the cycle time has not ended yet.
Cycle Time Breakdown
The cycle time is further broken down into four intervals.
This is the time interval between the first commit and the opening of the Pull Request.
If a Pull Request has no comments, the approval time will be considered instead.
This is the interval between the opening of Pull Request and the first comment on it.
In case the Pull Request has no comments, the approval time will be taken.
This is the interval between the first comment on a Pull Request and its approval.
In case the Pull Request has no comments, this time will be considered equal to 0.
This is the time since the Pull Request has been approved, until it was released (see above definition of a release).
Deployment Frequency
This metric indicates the average number of releases per month.
The value displayed for the current month is running. This is why in some cases it may be lower when compared to previous months.
Monthly Deployment Frequency
The deployment frequency is further broken down by month. Bunnyshell will always display the deployment frequency for the last six months on the selected repositories.

Settings
You can personalize the Engineering Metrics further by clicking on the Settings button located in the upper-right corner of the main interface.
Git Repositories
Here you can select which repositories will be analyzed by Bunnyshell. By default, all your connected repositories are included, but you do have the possibility to select individual ones.
See the Repositories section for additional information.
Release Detection
This is where you select the way in which releases are detected. Read more about this in the Setting Release Detection section.
Regular expression
Here you can provide a regular expression to help Bunnyshell easily identify releases.
Scroll to the Regular Expressions section for additional info.
Last updated
Was this helpful?
