[NFR]: Decouple collectors from framework event names (bridge + canonical signals)
I maintainer di solito rispondono entro 3 giorni
@niden ci sta già lavorando.
Dal 22/7/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Summary
Collectors gather data by subscribing to MVC-specific event names, so nothing collects under ADR or any non-MVC stack. Introduce a neutral seam - a canonical debug-bar signal set, a per-framework bridge, and a direct push API - so collectors receive data regardless of the host application's event vocabulary, or the absence of one.
Current coupling
Collectors call subscribe(ManagerInterface $eventsManager) and attach to framework event names:
DatabaseCollector→db:beforeQuery,db:afterQueryViewCollector→view:beforeRenderView,view:afterRenderViewRouteCollector→router:matchedRouteExceptionsCollector→dispatch:beforeExceptionCacheCollector→ cache events
These names are emitted by the MVC stack. ADR fires a different vocabulary (APPLICATION_*, ADR_*, PIPELINE_*), and some hosts have no events manager at all.
Proposed direction (three layers)
- Canonical signal set owned by the bar - a small, stable vocabulary (
query,view.rendered,route.matched,request.received,response.sending). Collectors subscribe only to these. - Per-framework bridge that maps native signals to canonical ones. The MVC bridge listens to
db:afterQuery/view:*/router:matchedRouteand re-emits canonical signals (current behavior, refactored behind the bridge). The ADR bridge listens toPIPELINE_*/APPLICATION_*, or instruments directly where no matching event exists. - Direct push API on collectors (e.g.
record(...)) for hosts with no events manager - the bridge pushes directly.
The events manager becomes an implementation detail of the active bridge, not a hard dependency of the collectors.
Acceptance
- A collector receives data through the canonical signals with no reference to a framework-specific event name.
- The MVC bridge preserves current behavior (as used by
phalcon/vokuro), verified by the existing tests. - A collector can be fed with no events manager present (push API).
- Lingua principale
- PHP
- Stelle
- 6
- Fork
- 3
- Merge medio
- 1g 17h
- PR unite (30g)
- 3
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di phalcon/debugbar
-
[NFR]: History Panel enhancementsForse già presa @niden l’ha presa 10 giorni fa. Apertaenhancement
phalcon/debugbar#32 · 1 assegnatario ·
I maintainer di solito rispondono entro 3 giorni
-
[NFR]: Collector source adapters for ADR data sources (DB / View / Route)Forse di nuovo libera @niden l’ha presa 76 giorni fa e non c’è nessuna pull request aperta. Apertaenhancement
phalcon/debugbar#16 · 1 assegnatario ·
I maintainer di solito rispondono entro 3 giorni
-
[NFR]: Framework-neutral integration seam: boot and response injection without Mvc\ApplicationForse di nuovo libera @niden l’ha presa 76 giorni fa e non c’è nessuna pull request aperta. Apertaenhancement
phalcon/debugbar#14 · 1 assegnatario ·
I maintainer di solito rispondono entro 3 giorni
-
[NFR]: Debug bar support for ADR / non-MVC appsForse di nuovo libera @niden l’ha presa 76 giorni fa e non c’è nessuna pull request aperta. Apertaenhancement
phalcon/debugbar#13 · 1 assegnatario ·
I maintainer di solito rispondono entro 3 giorni
-
[NFR]: Services panel for DebugBarForse di nuovo libera @niden l’ha presa 86 giorni fa e non c’è nessuna pull request aperta. Apertaenhancement
phalcon/debugbar#5 · 1 assegnatario ·
I maintainer di solito rispondono entro 3 giorni
Tutte le issue di phalcon/debugbar
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Awaiting Triage bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
product / databases
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
VilnaCRM-Org/user-service#525 ·
I maintainer di solito rispondono entro 21 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
shukiv/jabali-panel#2029 ·
I maintainer di solito rispondono entro 1 giorno