yoanbernabeu/periscope-bundle
最新稳定版本:v0.1.0-alpha
Composer 安装命令:
composer require yoanbernabeu/periscope-bundle
包简介
Agent-first CLI observability for Symfony Messenger and Scheduler.
README 文档
README
See through the surface of your queues.
Agent-first CLI observability for Symfony Messenger and Symfony Scheduler.
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|yamlfor pipelines.
No web UI. No prompts. No surprises.
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
composer require yoanbernabeu/periscope-bundle php bin/console periscope:install
CLI commands
| Command | Description | Exit 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 <uuid> |
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 / 3 |
Every 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
Early development — the bundle is not yet functional. The product definition lives in PRD.md; releases are tracked in CHANGELOG.md.
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 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
MIT — see LICENSE.
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 5
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-04-16