Search…
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.
BRANCH REGULAR EXPRESSION
TAG REGULAR EXPRESSION
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 ^master in 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.
CODING TIME
PICKUP TIME
REVIEW TIME
DEPLOY TIME
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.
Copy link
On this page
Introduction
Accessing the Engineering Metrics
Repositories
How to select the repositories to monitor
Setting Release Detection
How to set Release Detection
Regular Expressions
Average Cycle Time
Cycle Time Breakdown
Deployment Frequency
Monthly Deployment Frequency
Settings