PHPackages                             yoanbernabeu/periscope-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. [Logging &amp; Monitoring](/categories/logging)
4. /
5. yoanbernabeu/periscope-bundle

ActiveSymfony-bundle[Logging &amp; Monitoring](/categories/logging)

yoanbernabeu/periscope-bundle
=============================

Agent-first CLI observability for Symfony Messenger and Scheduler.

v0.1.0-alpha(3mo ago)001[13 issues](https://github.com/yoanbernabeu/PeriscopeBundle/issues)[2 PRs](https://github.com/yoanbernabeu/PeriscopeBundle/pulls)MITPHPPHP &gt;=8.4CI passing

Since Apr 16Pushed 3mo agoCompare

[ Source](https://github.com/yoanbernabeu/PeriscopeBundle)[ Packagist](https://packagist.org/packages/yoanbernabeu/periscope-bundle)[ RSS](/packages/yoanbernabeu-periscope-bundle/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (1)Dependencies (17)Versions (2)Used By (0)

PeriscopeBundle
===============

[](#periscopebundle)

> See through the surface of your queues.

Agent-first CLI observability for [Symfony Messenger](https://symfony.com/doc/current/messenger.html) and [Symfony Scheduler](https://symfony.com/doc/current/scheduler.html).

[![License: MIT](https://camo.githubusercontent.com/784362b26e4b3546254f1893e778ba64616e362bd6ac791991d2c9e880a3a64e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e2e737667)](./LICENSE)

Overview
--------

[](#overview)

PeriscopeBundle records every Messenger message and Scheduler run that flows through your Symfony application and exposes them through a suite of `bin/console periscope:*` commands. Output is designed to be:

- **Machine-friendly by default** (compact tabular text when piped), so coding agents and scripts can consume it cheaply;
- **Human-friendly on demand** (rich tables, colors) when run in an interactive terminal;
- **Strictly structured** via `--format=ndjson|json|yaml` for pipelines.

No web UI. No prompts. No surprises.

Requirements
------------

[](#requirements)

- PHP 8.4+
- Symfony 7.4 LTS or 8.x
- Doctrine DBAL 3.8+ or 4.x
- A database supported by the Doctrine storage backend (PostgreSQL recommended, MySQL/MariaDB, SQLite)

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

[](#installation)

```
composer require yoanbernabeu/periscope-bundle
php bin/console periscope:install
```

CLI commands
------------

[](#cli-commands)

CommandDescriptionExit codes`periscope:install`Create the Periscope schema on the configured connection. Idempotent; `--dump-sql` prints the statements without executing.0`periscope:messages`List observed Messenger/Scheduler messages. Supports `--status`, `--transport`, `--class`, `--scheduled`, `--since`, `--until`, `--limit`, `--offset`, `--format`, `--fields`.0 results / 1 no result / 2 invalid input`periscope:message `Full event timeline of a single message identified by its periscope id.0 / 1 unknown id / 2 invalid input`periscope:schedules`Every recurring message configured in the application, with its next run. `--schedule=name` filters.0 / 1 none / 2`periscope:queues`On-demand depth of every observed Messenger transport.0 / 1 no transport / 2`periscope:purge`Delete events older than the retention window. `--older-than=7d` overrides, `--dry-run` previews.0 / 2`periscope:health`Aggregated snapshot and threshold check, designed for cron/alerting scripts. `--threshold-failure-rate` and `--threshold-min-total` exit with code 3 on breach.0 / 2 / 3Every command supports `--format=auto|compact|pretty|json|ndjson|yaml`. `auto` picks `pretty` on a TTY and `compact` otherwise, which is what agents and pipes expect.

Status
------

[](#status)

Early development — the bundle is not yet functional. The product definition lives in [`PRD.md`](./PRD.md); releases are tracked in [`CHANGELOG.md`](./CHANGELOG.md).

Development
-----------

[](#development)

A local Symfony application with Postgres running in Docker is used to exercise the bundle end-to-end. The scaffold lives under `playground/` and is intentionally not committed — each contributor generates it locally. See [`docs/DEVELOPMENT.md`](./docs/DEVELOPMENT.md) once it is in place.

Quality tooling:

```
composer ci          # full pipeline (cs, phpstan, phpunit)
composer phpstan     # PHPStan at max level
composer cs          # PHP-CS-Fixer (dry-run)
composer cs-fix      # apply style fixes
composer test        # PHPUnit
```

License
-------

[](#license)

MIT — see [`LICENSE`](./LICENSE).

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance81

Actively maintained with recent releases

Popularity1

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity37

Early-stage or recently created project

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

Unknown

Total

1

Last Release

99d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/21f6c1e090b5d45bb8bd5569f7779bde35d19fd06844327ed0d369c3544fa2e8?d=identicon)[yoanbernabeu](/maintainers/yoanbernabeu)

---

Tags

schedulerclisymfonymonitoringSymfony BundleMessengerobservability

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/yoanbernabeu-periscope-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/yoanbernabeu-periscope-bundle/health.svg)](https://phpackages.com/packages/yoanbernabeu-periscope-bundle)
```

###  Alternatives

[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k17.9M400](/packages/easycorp-easyadmin-bundle)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

9421.6k64](/packages/open-dxp-opendxp)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.5k5.9M754](/packages/sylius-sylius)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M215](/packages/sulu-sulu)[pimcore/pimcore

Content &amp; Product Management Framework (CMS/PIM/E-Commerce)

3.8k3.8M511](/packages/pimcore-pimcore)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.6M600](/packages/shopware-core)

PHPackages © 2026

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