Summary
Even once collectors are decoupled from event names, three collectors have no data source under ADR, because the ADR stack uses different technologies than MVC. Provide one source adapter per collector, selectable per application, so DB, View, and Route data can be collected in an ADR app (phalcon/vokuro-adr as the reference).
Missing data sources under ADR
- Database - ADR uses
Phalcon\DataMapper\Pdo\Connection, which does not fire db:beforeQuery / db:afterQuery. Needs a DataMapper source (a profiler or a decorating connection) alongside the MVC Db\Adapter (events) source - two adapters feeding one query signal.
- View - ADR renders
.phtml through Phalcon\Mvc\View\Simple with no events manager attached, so view:* never fires. Needs a source that instruments the ADR renderer/responder, or attaches an events manager to Simple.
- Route - ADR uses
Phalcon\ADR\Router, not the MVC router, so router:matchedRoute never fires. Needs an ADR route source.
Proposed direction
- Define a per-collector source contract, and provide two implementations where relevant (MVC and ADR/DataMapper). The active bridge selects the appropriate source.
- Ship the DataMapper DB source as the first concrete second-adapter - the most valuable, and the clearest example of "two adapters, one collector".
Acceptance
- In an ADR app, the Database, View, and Route collectors show real data.
- The MVC sources are unchanged.
Depends on
Summary
Even once collectors are decoupled from event names, three collectors have no data source under ADR, because the ADR stack uses different technologies than MVC. Provide one source adapter per collector, selectable per application, so DB, View, and Route data can be collected in an ADR app (
phalcon/vokuro-adras the reference).Missing data sources under ADR
Phalcon\DataMapper\Pdo\Connection, which does not firedb:beforeQuery/db:afterQuery. Needs a DataMapper source (a profiler or a decorating connection) alongside the MVCDb\Adapter(events) source - two adapters feeding onequerysignal..phtmlthroughPhalcon\Mvc\View\Simplewith no events manager attached, soview:*never fires. Needs a source that instruments the ADR renderer/responder, or attaches an events manager toSimple.Phalcon\ADR\Router, not the MVC router, sorouter:matchedRoutenever fires. Needs an ADR route source.Proposed direction
Acceptance
Depends on