PHPackages                             aeatech/web-snapshot-profiler-xhprof-bundle - 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. [Debugging &amp; Profiling](/categories/debugging)
4. /
5. aeatech/web-snapshot-profiler-xhprof-bundle

ActiveSymfony-bundle[Debugging &amp; Profiling](/categories/debugging)

aeatech/web-snapshot-profiler-xhprof-bundle
===========================================

Web snapshot profiler xhprof bundle for symfony (production ready)

1.0.1(4mo ago)03MITPHPPHP &gt;=8.2CI passing

Since Dec 23Pushed 4mo agoCompare

[ Source](https://github.com/AEATech/web-snapshot-profiler-xhprof-bundle)[ Packagist](https://packagist.org/packages/aeatech/web-snapshot-profiler-xhprof-bundle)[ RSS](/packages/aeatech-web-snapshot-profiler-xhprof-bundle/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (9)Versions (3)Used By (0)

AEATech - Web snapshot profiler xhprof bundle
=============================================

[](#aeatech---web-snapshot-profiler-xhprof-bundle)

[![Code Coverage](.build/coverage_badge.svg)](.build/clover.xml)

The package contains symfony bundle to profile web applications with xhprof. It can be used for production profiling.

System requirements:

- PHP &gt;= 8.2
- ext-xhprof
- xhgui (tested on [xhgui/xhgui:0.22.1](https://hub.docker.com/r/xhgui/xhgui/tags?name=0.22.1))

Installation (Composer):

```
composer require aeatech/web-snapshot-profiler-xhprof-bundle
```

Auto installation
-----------------

[](#auto-installation)

You can install it with custom recipe.

```
composer config extra.symfony.allow-contrib true
composer config --json --merge extra.symfony.endpoint '["https://api.github.com/repos/AEATech/recipes/contents/index.json?ref=main", "flex://defaults"]'
composer require aeatech/web-snapshot-profiler-xhprof-bundle
```

Manual installation
-------------------

[](#manual-installation)

Enable bundle in dev and prod env.

```
// config/bundles.php

return [
    // ...
    AEATech\WebSnapshotProfilerXhprofBundle\AEATechWebSnapshotProfilerXhprofBundle::class => ['dev' => true, 'prod' => true],
    // ...
];
```

Configuration
-------------

[](#configuration)

Symfony Flex generates a default configuration in config/packages/aea\_tech\_web\_snapshot\_profiler\_xhprof.yaml

```
aea_tech_web_snapshot_profiler_xhprof:
    # Enable/Disable profiling
    is_profiling_enabled: false

    # Application info for snapshot naming
    app_version: '0.0.1'

    # XHGUI configuration
    xhgui:
        import_uri: '%env(string:AEA_TECH_WEB_SNAPSHOT_PROFILER_XHPROF_XHGUI)%'
        import_timeout: 1

    ###
    # xhprof configuration
    # - collect internal functions info
    # - collect memory allocation info
    ###
    xhprof:
        collect_additional_info: '1'
        flags:
            - !php/const Xhgui\Profiler\ProfilingFlags::MEMORY

    ###
    # Event matched configuration - START
    ###
    event_matcher:
        # Enable/Disable all routes profiling
        is_profile_all_routes: false

        # Enable profile if header was set (\AEATech\WebSnapshotProfilerEventSubscriber\EventMatcher\HeaderEventMatcher)
        header:
            is_enabled: false
            name: 'x-profiling-header'
            value: '1'

        # Enable profile if request param was set and route matched (\AEATech\WebSnapshotProfilerEventSubscriber\EventMatcher\RequestParamAwareRouteEventMatcher)
        request:
            is_enabled: false
            name: 'x-profile-request-param'
            route_to_probability:
                # 1% probability to profile route
                -
                    route_name: 'app_route_name_1'
                    probability: 1
                # 100% probability to profile route
                -
                    route_name: 'app_route_name_2'
                    probability: 100

        # Enabled profile if route matched and probability happened
        route:
            is_enabled: false
            route_to_probability:
                # 1% probability to profile route
                -
                    route_name: 'app_route_name_1'
                    probability: 1
                # 100% probability to profile route
                -
                    route_name: 'app_route_name_2'
                    probability: 100
    ###
    # Event matched configuration - END
    ###
```

License
-------

[](#license)

MIT License. See [LICENSE](./LICENSE) for details.

###  Health Score

37

—

LowBetter than 82% of packages

Maintenance80

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 52% 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

2

Last Release

137d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3a789d3d8b50eb0adce203b40b314622991aac04bdd37422e09874831eec447a?d=identicon)[aeatech2025](/maintainers/aeatech2025)

---

Top Contributors

[![ekosogin](https://avatars.githubusercontent.com/u/13533292?v=4)](https://github.com/ekosogin "ekosogin (13 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (12 commits)")

---

Tags

bundlewebsnapshotprofilerxhprofaeatech

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/aeatech-web-snapshot-profiler-xhprof-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/aeatech-web-snapshot-profiler-xhprof-bundle/health.svg)](https://phpackages.com/packages/aeatech-web-snapshot-profiler-xhprof-bundle)
```

###  Alternatives

[lexik/translation-bundle

This bundle allows to import translation files content into the database and provide a GUI to edit translations.

4362.7M19](/packages/lexik-translation-bundle)[laracraft-tech/laravel-xhprof

Easy XHProf setup to profile your laravel application!

235321.4k](/packages/laracraft-tech-laravel-xhprof)[bavix/laravel-xhprof

Quick profiling of your code for Laravel

22156.6k](/packages/bavix-laravel-xhprof)[staabm/xhprof.io

GUI to analyze the profiling data collected using XHProf - A Hierarchical Profiler for PHP.

424.4k](/packages/staabm-xhprofio)[sandstorm/plumber

Profiling Toolkit for Neos Flow and Neos

364.9k](/packages/sandstorm-plumber)[vasek-purchart/tracy-blue-screen-bundle

This bundle lets you use the Tracy's debug screen in combination with the the default profiler in your Symfony application.

1177.6k](/packages/vasek-purchart-tracy-blue-screen-bundle)

PHPackages © 2026

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