PHPackages                             genesis/behat-stats-logger - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. genesis/behat-stats-logger

ActiveLibrary[Testing &amp; Quality](/categories/testing)

genesis/behat-stats-logger
==========================

Display a tree line of the time it takes to get through all the scenarios.

1.5.0(6y ago)21.4k↓40%2[6 issues](https://github.com/forceedge01/behat-stats-logger/issues)MITPHP

Since Mar 16Pushed 6y agoCompare

[ Source](https://github.com/forceedge01/behat-stats-logger)[ Packagist](https://packagist.org/packages/genesis/behat-stats-logger)[ RSS](/packages/genesis-behat-stats-logger/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (1)Versions (11)Used By (0)

Overview
--------

[](#overview)

Got a slow running pack and want to decipher what is going on but not sure where to start? Look no further. This package will give you all the reports you need to identify issues with your long running behat pack. With features such as sorting and highlighting long time consuming steps, scenarios, features or suites you'll be able to scan through those massive reports in no time.

Installation
------------

[](#installation)

[![After](https://github.com/forceedge01/behat-stats-logger/raw/master/assets/stats.png?raw=true#version=1)](https://github.com/forceedge01/behat-stats-logger/blob/master/assets/stats.png?raw=true#version=1)

```
composer require --dev genesis/behat-stats-logger

```

Add to your behat.yml file

```
default:
    suites:
        default:
            contexts:
                - Genesis\Stats\Context\StatsLoggerContext:
                    filePath: test/report/
                    printToScreen: true
                    topReport:
                        count: 5
                        sortBy: maxTime
                    suiteReport:
                        step: true
                    highlight:
                        scenario:
                            red: 7
                            yellow: 3
                        step:
                            red: 3
                            yellow: 2
                            brown: 1
                        suite:
                            red: 80
                            brown: 70
                            yellow: 50
```

Example project available in features folder.

```
filePath (string): Set where the reports are to be generated.
printToScreen (boolean): Whether to produce console output or not.
topReport (array):
    count (int): Number of step summaries to show in the top report.
    sortyBy (count|maxTime|cumulativeTime): Sort the output and file report by metrics.
suiteReport (array):
    step (boolean): Whether to output step details or not.
highlight (array):
     (array):
         (int): Number of seconds as the limit. Anything above the limit will be highlighted by the color.

```

type in (suite, feature, scenario, step)

color in (red, brow, blue, yellow, green, white)

Suite report:
-------------

[](#suite-report)

This report gives you a detailed view with full breakdown, you'll be able to follow the time taken step by step.

Top report:
-----------

[](#top-report)

This report gives you the top most time consuming steps based on the configuration you set. You can focus on the most time consuming steps in no time.

Suite summary:
--------------

[](#suite-summary)

This report gives you a summary breakdown of the suite execution with number of features, scenarios and steps executed in each. You can easily find time consumed by methods other than steps using this report such as hooks.

Reports produced:
-----------------

[](#reports-produced)

All stats produce files for you to analyse later by suite, based on the filePath you set. These contain all information gathered (disregards limits) but sorting is still applied.

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity23

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

10

Last Release

2293d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/3443293?v=4)[Wahab Qureshi](/maintainers/forceedge)[@forceedge](https://github.com/forceedge)

---

Top Contributors

[![forceedge01](https://avatars.githubusercontent.com/u/1619816?v=4)](https://github.com/forceedge01 "forceedge01 (19 commits)")

---

Tags

behat statsbehat statistics

###  Code Quality

TestsBehat

### Embed Badge

![Health badge](/badges/genesis-behat-stats-logger/health.svg)

```
[![Health](https://phpackages.com/badges/genesis-behat-stats-logger/health.svg)](https://phpackages.com/packages/genesis-behat-stats-logger)
```

###  Alternatives

[dms/phpunit-arraysubset-asserts

This package provides ArraySubset and related asserts once deprecated in PHPUnit 8

14429.2M361](/packages/dms-phpunit-arraysubset-asserts)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
