Одна из приятных особенностей DIC (Dependency Injection Container) заключается в том, что сервисы создаются только тогда, когда они вам действительно нужны. Это означает, что большинство служб будут вызываться и, таким образом, создаваться из контроллера.
Чтобы ответить на ваш вопрос, перед контроллером происходит событие kernel.request
, поэтому вы можете использовать его.