-
-
Notifications
You must be signed in to change notification settings - Fork 9.6k
Performance issue in cache clear / warmup with dependency-injection 4.1.8 and 3.4.19 #29336
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Grrr. |
@nicolas-grekas thank you to have a look at it and of course you can ping me if I can test something. |
First simple idea: --- a/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
+++ b/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
@@ -156,16 +156,32 @@ class PhpDumper extends Dumper
(new AnalyzeServiceReferencesPass(false, !$this->getProxyDumper() instanceof NullDumper))->process($this->container);
$this->circularReferences = array();
- foreach (array(true, false) as $byConstructor) {
- foreach ($this->container->getCompiler()->getServiceReferenceGraph()->getNodes() as $id => $node) {
- if (!$node->getValue() instanceof Definition) {
- continue;
+ $entryNodes = array();
+ foreach ($this->container->getCompiler()->getServiceReferenceGraph()->getNodes() as $id => $node) {
+ if (!$node->getValue() instanceof Definition) {
+ continue;
+ }
+ if (!$isEntryNode = $node->getValue()->isPublic()) {
+ $isEntryNode = true;
+ foreach ($node->getInEdges() as $edge) {
+ if (!$edge->isLazy() && !$edge->isWeak()) {
+ $isEntryNode = false;
+ break;
+ }
}
+ }
+ if ($isEntryNode) {
+ $entryNodes[$id] = $node;
+ }
+ }
+ foreach (array(true, false) as $byConstructor) {
+ foreach ($entryNodes as $id => $node) {
$currentPath = array($id => true);
$this->analyzeCircularReferences($node->getOutEdges(), $currentPath, $id, $byConstructor);
}
}
$this->container->getCompiler()->getServiceReferenceGraph()->clear();
+ $entryNodes = array();
$this->docStar = $options['debug'] ? '*' : ''; |
@nicolas-grekas its a little bit faster but still a huge difference to v4.1.7 v4.1.8 with your patch:
v4.1.8:
v4.1.7:
Can't give any stats about the website kernel/container build currently as it seems to run endless (>5min vs 6.58s before) on 4.1.8 with and without the patch on my current machine. |
Hi, We are on 3.4 and I just upgraded from 3.4.18 to 3.4.19 this morning. I also started experiencing this problem - as in, I assume it is this problem. I am not able to run a performance benchmark also as it doesn't seem to finish either on my machine after 300 seconds. What I noticed is that the first time I load a page, there seems to be no problem, but after making a few changes to my code (e.g. Controller, Repository) this problem occurs. Just downgraded to 3.4.18... If this helps: 3.4.18 Sorry I can't be of more help, but I am not very familiar with the PhpDumper... |
Relative numbers are similar for me (using 3.4.x). The patch reduces the number of calls to the ServiceReferenceGraphNode and ServiceReferenceGraphEdge methods from ~2.4m to ~2.0m and the calls to PhpDumper::analyzeCircularReferences() by about 10%. Thanks for caring @nicolas-grekas |
I don't have a better patch right now. Are you using PHP 7.2? Because while I measure a tremendously higher number of calls to analyzeCircularReferences in v4.1.8, that translates to a 2x increase in computation time for me (from ~1.5s to ~3.5s). |
When removing xDebug completely, it's about factor 5 between Symfony 3.4.18 and 3.4.19 (4s vs. 21s) without patch. Regarding the absolute numbers, your test container might be less complex - maybe the algorithm has at least quadratic complexity and the decline in performance starts to kick in badly if the container reaches a certain threshold? |
I'm using the above sulu container tonne able to compare. Continuing... :) |
@nicolas-grekas as there seems to be also a big difference betweens Disabling xDebug with Admin: time php -n bin/adminconsole cache:clear --env=prod
Website: time php -n bin/websiteconsole cache:clear --env=prod
So in case of the admin its a lot better when disabling xdebug but for the website its still very long. Its a little bit strange as the website kernel is in case of dependencies smaller as the admin kernel. Admin Services: ~1511 (bin/adminconsole debug:container --show-private) So the container difference look like this not sure if this helps: Difference in debug:containerdiff --git a/admin.txt b/admin.txt
index f089e1b..b0003fb 100644
--- a/admin.txt
+++ b/website.txt
@@ -2,9 +2,9 @@
Symfony Container Services
==========================
Service ID Class name
-------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------
Doctrine\Bundle\PHPCRBundle\Command\LoadFixtureCommand Doctrine\Bundle\PHPCRBundle\Command\LoadFixtureCommand
Doctrine\Bundle\PHPCRBundle\Command\MigratorMigrateCommand Doctrine\Bundle\PHPCRBundle\Command\MigratorMigrateCommand
Doctrine\Bundle\PHPCRBundle\Command\NodeDumpCommand Doctrine\Bundle\PHPCRBundle\Command\NodeDumpCommand
@@ -39,7 +39,7 @@ Symfony Container Services
FOS\RestBundle\View\ViewHandlerInterface alias for "fos_rest.view_handler.default"
JMS\Serializer\ArrayTransformerInterface alias for "jms_serializer.serializer"
JMS\Serializer\SerializerInterface alias for "jms_serializer.serializer"
- PHPCR\SessionInterface alias for "sulu_document_manager.decorated_default_session"
+ PHPCR\SessionInterface alias for "sulu_document_manager.decorated_live_session"
Psr\Cache\CacheItemPoolInterface alias for "cache.app"
Psr\Container\ContainerInterface alias for "service_container"
Psr\Log\LoggerInterface alias for "monolog.logger"
@@ -49,7 +49,6 @@ Symfony Container Services
Sulu\Component\Rest\ListBuilder\ListRestHelperInterface alias for "sulu_core.list_rest_helper"
Sulu\Component\Rest\ListBuilder\Metadata\FieldDescriptorFactoryInterface alias for "sulu_core.list_builder.field_descriptor_factory"
Sulu\Component\Rest\RestHelperInterface alias for "sulu_core.rest_helper"
- Sulu\Component\Security\Authorization\SecurityCheckerInterface alias for "sulu_security.security_checker"
Sulu\Component\Webspace\Manager\WebspaceManagerInterface alias for "sulu_core.webspace.webspace_manager"
Swift_Mailer alias for "swiftmailer.mailer.default"
Swift_Spool alias for "swiftmailer.mailer.default.spool.memory"
@@ -77,29 +76,14 @@ Symfony Container Services
Symfony\Component\HttpKernel\HttpKernelInterface alias for "http_kernel"
Symfony\Component\HttpKernel\KernelInterface alias for "kernel"
Symfony\Component\PropertyAccess\PropertyAccessorInterface alias for "property_accessor"
- Symfony\Component\Routing\Generator\UrlGeneratorInterface alias for "router.default"
- Symfony\Component\Routing\Matcher\UrlMatcherInterface alias for "router.default"
+ Symfony\Component\Routing\Generator\UrlGeneratorInterface alias for "cmf_routing.router"
+ Symfony\Component\Routing\Matcher\UrlMatcherInterface alias for "cmf_routing.router"
Symfony\Component\Routing\RequestContext alias for "router.request_context"
- Symfony\Component\Routing\RequestContextAwareInterface alias for "router.default"
- Symfony\Component\Routing\RouterInterface alias for "router.default"
- Symfony\Component\Security\Core\Authentication\AuthenticationManagerInterface alias for "security.authentication.manager"
- Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface alias for "security.token_storage"
- Symfony\Component\Security\Core\Authorization\AccessDecisionManagerInterface alias for "debug.security.access.decision_manager"
- Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface alias for "security.authorization_checker"
- Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface alias for "security.encoder_factory.generic"
- Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface alias for "security.user_password_encoder.generic"
- Symfony\Component\Security\Core\Role\RoleHierarchyInterface alias for "security.role_hierarchy"
- Symfony\Component\Security\Core\Security alias for "security.helper"
- Symfony\Component\Security\Core\User\UserCheckerInterface alias for "security.user_checker"
- Symfony\Component\Security\Core\User\UserProviderInterface alias for "sulu_security.user_provider"
+ Symfony\Component\Routing\RequestContextAwareInterface alias for "cmf_routing.router"
+ Symfony\Component\Routing\RouterInterface alias for "cmf_routing.router"
Symfony\Component\Security\Csrf\CsrfTokenManagerInterface alias for "security.csrf.token_manager"
Symfony\Component\Security\Csrf\TokenGenerator\TokenGeneratorInterface alias for "security.csrf.token_generator"
Symfony\Component\Security\Csrf\TokenStorage\TokenStorageInterface alias for "security.csrf.token_storage"
- Symfony\Component\Security\Guard\GuardAuthenticatorHandler alias for "security.authentication.guard_handler"
- Symfony\Component\Security\Http\Authentication\AuthenticationUtils alias for "security.authentication_utils"
- Symfony\Component\Security\Http\Firewall alias for "debug.security.firewall"
- Symfony\Component\Security\Http\HttpUtils alias for "security.http_utils"
- Symfony\Component\Security\Http\Session\SessionAuthenticationStrategyInterface alias for "security.authentication.session_strategy"
Symfony\Component\Serializer\Encoder\DecoderInterface alias for "serializer"
Symfony\Component\Serializer\Encoder\EncoderInterface alias for "serializer"
Symfony\Component\Serializer\Mapping\ClassDiscriminatorResolverInterface alias for "serializer.mapping.class_discriminator_resolver"
@@ -133,8 +117,6 @@ Symfony Container Services
argument_resolver.session Symfony\Component\HttpKernel\Controller\ArgumentResolver\SessionValueResolver
argument_resolver.variadic Symfony\Component\HttpKernel\Controller\ArgumentResolver\VariadicValueResolver
assets._default_package Symfony\Component\Asset\PathPackage
- assets._package_sulu_admin Symfony\Component\Asset\PathPackage
- assets._version_sulu_admin Symfony\Component\Asset\VersionStrategy\JsonManifestVersionStrategy
assets.context Symfony\Component\Asset\Context\RequestStackContext
assets.empty_package Symfony\Component\Asset\Package
assets.empty_version_strategy Symfony\Component\Asset\VersionStrategy\EmptyVersionStrategy
@@ -163,8 +145,6 @@ Symfony Container Services
cache.default_redis_provider alias for ".cache_connection.GD_MSZC"
cache.global_clearer Symfony\Component\HttpKernel\CacheClearer\Psr6CacheClearer
cache.property_access Symfony\Component\Cache\Adapter\ArrayAdapter
- cache.security_expression_language Symfony\Component\Cache\Adapter\TraceableAdapter
- cache.security_expression_language.recorder_inner Symfony\Component\Cache\Adapter\AdapterInterface
cache.serializer Symfony\Component\Cache\Adapter\TraceableAdapter
cache.serializer.recorder_inner Symfony\Component\Cache\Adapter\AdapterInterface
cache.system Symfony\Component\Cache\Adapter\TraceableAdapter
@@ -174,6 +154,27 @@ Symfony Container Services
cache.validator.recorder_inner Symfony\Component\Cache\Adapter\AdapterInterface
cache_clearer Symfony\Component\HttpKernel\CacheClearer\ChainCacheClearer
cache_warmer Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerAggregate
+ cmf_routing.dynamic_router Symfony\Cmf\Bundle\RoutingBundle\Routing\DynamicRouter
+ cmf_routing.enhancer.content_repository Symfony\Cmf\Component\Routing\Enhancer\ContentRepositoryEnhancer
+ cmf_routing.enhancer.controller_for_templates_by_class Symfony\Cmf\Component\Routing\Enhancer\FieldByClassEnhancer
+ cmf_routing.enhancer.controllers_by_class Symfony\Cmf\Component\Routing\Enhancer\FieldByClassEnhancer
+ cmf_routing.enhancer.controllers_by_type Symfony\Cmf\Component\Routing\Enhancer\FieldMapEnhancer
+ cmf_routing.enhancer.default_controller Symfony\Cmf\Component\Routing\Enhancer\FieldPresenceEnhancer
+ cmf_routing.enhancer.explicit_template Symfony\Cmf\Component\Routing\Enhancer\FieldPresenceEnhancer
+ cmf_routing.enhancer.route_content Symfony\Cmf\Component\Routing\Enhancer\RouteContentEnhancer
+ cmf_routing.enhancer.templates_by_class Symfony\Cmf\Component\Routing\Enhancer\FieldByClassEnhancer
+ cmf_routing.final_matcher Symfony\Cmf\Component\Routing\NestedMatcher\UrlMatcher
+ cmf_routing.generator Symfony\Cmf\Component\Routing\ContentAwareGenerator
+ cmf_routing.matcher.dummy_collection Symfony\Component\Routing\RouteCollection
+ cmf_routing.matcher.dummy_context Symfony\Component\Routing\RequestContext
+ cmf_routing.nested_matcher Symfony\Cmf\Component\Routing\NestedMatcher\NestedMatcher
+ cmf_routing.persistence.doctrine.route_condition_metadata_listener Symfony\Cmf\Bundle\RoutingBundle\Doctrine\RouteConditionMetadataListener
+ cmf_routing.redirect_controller Symfony\Cmf\Bundle\RoutingBundle\Controller\RedirectController
+ cmf_routing.route_provider alias for "sulu_website.provider.content"
+ cmf_routing.route_type_form_type Symfony\Cmf\Bundle\RoutingBundle\Form\Type\RouteTypeType
+ cmf_routing.router Symfony\Cmf\Component\Routing\ChainRouter
+ cmf_routing.validator.route_defaults Symfony\Cmf\Bundle\RoutingBundle\Validator\Constraints\RouteDefaultsTemplatingValidator
+ cmf_sulu_custom_urls.final_matcher Symfony\Cmf\Component\Routing\NestedMatcher\UrlMatcher
config.resource.self_checking_resource_checker Symfony\Component\Config\Resource\SelfCheckingResourceChecker
config_cache_factory Symfony\Component\Config\ResourceCheckerConfigCacheFactory
console.command.about Symfony\Bundle\FrameworkBundle\Command\AboutCommand
@@ -268,7 +269,6 @@ Symfony Container Services
data_collector.memory Symfony\Component\HttpKernel\DataCollector\MemoryDataCollector
data_collector.request Symfony\Component\HttpKernel\DataCollector\RequestDataCollector
data_collector.router Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector
- data_collector.security Symfony\Bundle\SecurityBundle\DataCollector\SecurityDataCollector
data_collector.time Symfony\Component\HttpKernel\DataCollector\TimeDataCollector
data_collector.translation Symfony\Component\Translation\DataCollector\TranslationDataCollector
data_collector.twig Symfony\Bridge\Twig\DataCollector\TwigDataCollector
@@ -279,9 +279,6 @@ Symfony Container Services
debug.file_link_formatter Symfony\Component\HttpKernel\Debug\FileLinkFormatter
debug.file_link_formatter.url_format string
debug.log_processor Symfony\Bridge\Monolog\Processor\DebugProcessor
- debug.security.access.decision_manager Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager
- debug.security.access.decision_manager.inner Symfony\Component\Security\Core\Authorization\AccessDecisionManager
- debug.security.firewall Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener
debug.validator Symfony\Component\Validator\Validator\TraceableValidator
debug.validator.inner Symfony\Component\Validator\Validator\ValidatorInterface
dependency_injection.config.container_parameters_resource_checker Symfony\Component\DependencyInjection\Config\ContainerParametersResourceChecker
@@ -372,9 +369,6 @@ Symfony Container Services
doctrine_cache.providers.doctrine.orm.default_metadata_cache Doctrine\Common\Cache\ArrayCache
doctrine_cache.providers.doctrine.orm.default_query_cache Doctrine\Common\Cache\ArrayCache
doctrine_cache.providers.doctrine.orm.default_result_cache Doctrine\Common\Cache\ArrayCache
- doctrine_cache.providers.sulu_collaboration_connection Doctrine\Common\Cache\FilesystemCache
- doctrine_cache.providers.sulu_collaboration_entity Doctrine\Common\Cache\FilesystemCache
- doctrine_cache.providers.sulu_preview Doctrine\Common\Cache\FilesystemCache
doctrine_cache.stats_command Doctrine\Bundle\DoctrineCacheBundle\Command\StatsCommand
doctrine_phpcr Doctrine\Bundle\PHPCRBundle\ManagerRegistry
doctrine_phpcr.admin.default_credentials PHPCR\SimpleCredentials
@@ -391,7 +385,7 @@ Symfony Container Services
doctrine_phpcr.credentials PHPCR\SimpleCredentials
doctrine_phpcr.data_collector Doctrine\Bundle\PHPCRBundle\DataCollector\PHPCRDataCollector
doctrine_phpcr.default_credentials PHPCR\SimpleCredentials
- doctrine_phpcr.default_session alias for "sulu_document_manager.decorated_default_session"
+ doctrine_phpcr.default_session Jackalope\Session
doctrine_phpcr.default_session.event_manager Symfony\Bridge\Doctrine\ContainerAwareEventManager
doctrine_phpcr.initializer_manager Doctrine\Bundle\PHPCRBundle\Initializer\InitializerManager
doctrine_phpcr.jackalope.repository.default Jackalope\Repository
@@ -414,7 +408,7 @@ Symfony Container Services
doctrine_phpcr.logger.chain Jackalope\Transport\Logging\LoggerChain
doctrine_phpcr.logger.profiling Jackalope\Transport\Logging\DebugStack
doctrine_phpcr.logger.stop_watch Doctrine\Bundle\PHPCRBundle\DataCollector\StopWatchLogger
- doctrine_phpcr.session alias for "sulu_document_manager.decorated_default_session"
+ doctrine_phpcr.session alias for "sulu_document_manager.decorated_live_session"
doctrine_phpcr.session.event_manager Symfony\Bridge\Doctrine\ContainerAwareEventManager
dtl_content.form.factory.document_type Sulu\Component\Content\Form\Type\DocumentObjectType
dtl_content.form.type.home Sulu\Bundle\ContentBundle\Form\Type\HomeDocumentType
@@ -488,7 +482,7 @@ Symfony Container Services
fos_rest.normalizer.camel_keys_with_leading_underscore FOS\RestBundle\Normalizer\CamelKeysNormalizerWithLeadingUnderscore
fos_rest.request.param_fetcher FOS\RestBundle\Request\ParamFetcher
fos_rest.request.param_fetcher.reader FOS\RestBundle\Request\ParamReader
- fos_rest.router alias for "router.default"
+ fos_rest.router alias for "cmf_routing.router"
fos_rest.routing.loader.controller FOS\RestBundle\Routing\Loader\RestRouteLoader
fos_rest.routing.loader.directory FOS\RestBundle\Routing\Loader\DirectoryRouteLoader
fos_rest.routing.loader.processor FOS\RestBundle\Routing\Loader\RestRouteProcessor
@@ -513,8 +507,6 @@ Symfony Container Services
fos_rest.zone_request_matcher Symfony\Component\HttpFoundation\RequestMatcher
fos_rest.zone_request_matcher.65ad4850deb1c91d8dff16de50b0fb5d12ed31b093115543cfee6418680cfb21e70354fe Symfony\Component\HttpFoundation\RequestMatcher
fragment.handler Symfony\Component\HttpKernel\DependencyInjection\LazyLoadingFragmentHandler
- fragment.listener Symfony\Component\HttpKernel\EventListener\FragmentListener
- fragment.renderer.hinclude Symfony\Component\HttpKernel\Fragment\HIncludeFragmentRenderer
fragment.renderer.inline Symfony\Component\HttpKernel\Fragment\InlineFragmentRenderer
framework_extra_bundle.argument_name_convertor Sensio\Bundle\FrameworkExtraBundle\Request\ArgumentNameConverter
framework_extra_bundle.date_time_param_converter Sensio\Bundle\FrameworkExtraBundle\Request\ParamConverter\DateTimeParamConverter
@@ -674,7 +666,6 @@ Symfony Container Services
monolog.logger.profiler Symfony\Bridge\Monolog\Logger
monolog.logger.request Symfony\Bridge\Monolog\Logger
monolog.logger.router Symfony\Bridge\Monolog\Logger
- monolog.logger.security Symfony\Bridge\Monolog\Logger
monolog.logger.sulu_document_manager Symfony\Bridge\Monolog\Logger
monolog.logger.templating Symfony\Bridge\Monolog\Logger
monolog.logger.translation Symfony\Bridge\Monolog\Logger
@@ -695,7 +686,7 @@ Symfony Container Services
request_stack Symfony\Component\HttpFoundation\RequestStack
resolve_controller_name_subscriber Symfony\Bundle\FrameworkBundle\EventListener\ResolveControllerNameSubscriber
response_listener Symfony\Component\HttpKernel\EventListener\ResponseListener
- router alias for "router.default"
+ router alias for "cmf_routing.router"
router.cache_warmer Symfony\Bundle\FrameworkBundle\CacheWarmer\RouterCacheWarmer
router.default Symfony\Bundle\FrameworkBundle\Routing\Router
router.request_context Symfony\Component\Routing\RequestContext
@@ -711,99 +702,9 @@ Symfony Container Services
routing.loader.xml Symfony\Component\Routing\Loader\XmlFileLoader
routing.loader.yml Symfony\Component\Routing\Loader\YamlFileLoader
routing.resolver Symfony\Component\Config\Loader\LoaderResolver
- security.access.authenticated_voter Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter
- security.access.decision_manager alias for "debug.security.access.decision_manager"
- security.access.expression_voter Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter
- security.access.simple_role_voter Symfony\Component\Security\Core\Authorization\Voter\RoleVoter
- security.access_listener Symfony\Component\Security\Http\Firewall\AccessListener
- security.access_map Symfony\Component\Security\Http\AccessMap
- security.authentication.basic_entry_point Symfony\Component\Security\Http\EntryPoint\BasicAuthenticationEntryPoint
- security.authentication.custom_failure_handler Symfony\Component\Security\Http\Authentication\CustomAuthenticationFailureHandler
- security.authentication.custom_success_handler Symfony\Component\Security\Http\Authentication\CustomAuthenticationSuccessHandler
- security.authentication.failure_handler Symfony\Component\Security\Http\Authentication\DefaultAuthenticationFailureHandler
- security.authentication.failure_handler.admin.json_login Symfony\Component\Security\Http\Authentication\CustomAuthenticationFailureHandler
- security.authentication.form_entry_point Symfony\Component\Security\Http\EntryPoint\FormAuthenticationEntryPoint
- security.authentication.guard_handler Symfony\Component\Security\Guard\GuardAuthenticatorHandler
- security.authentication.listener.abstract
- security.authentication.listener.anonymous Symfony\Component\Security\Http\Firewall\AnonymousAuthenticationListener
- security.authentication.listener.anonymous.admin Symfony\Component\Security\Http\Firewall\AnonymousAuthenticationListener
- security.authentication.listener.basic Symfony\Component\Security\Http\Firewall\BasicAuthenticationListener
- security.authentication.listener.form Symfony\Component\Security\Http\Firewall\UsernamePasswordFormAuthenticationListener
- security.authentication.listener.guard Symfony\Component\Security\Guard\Firewall\GuardAuthenticationListener
- security.authentication.listener.json Symfony\Component\Security\Http\Firewall\UsernamePasswordJsonAuthenticationListener
- security.authentication.listener.json.admin Symfony\Component\Security\Http\Firewall\UsernamePasswordJsonAuthenticationListener
- security.authentication.listener.rememberme Symfony\Component\Security\Http\Firewall\RememberMeListener
- security.authentication.listener.remote_user Symfony\Component\Security\Http\Firewall\RemoteUserAuthenticationListener
- security.authentication.listener.simple_form Symfony\Component\Security\Http\Firewall\SimpleFormAuthenticationListener
- security.authentication.listener.simple_preauth Symfony\Component\Security\Http\Firewall\SimplePreAuthenticationListener
- security.authentication.listener.x509 Symfony\Component\Security\Http\Firewall\X509AuthenticationListener
- security.authentication.manager Symfony\Component\Security\Core\Authentication\AuthenticationProviderManager
- security.authentication.provider.anonymous Symfony\Component\Security\Core\Authentication\Provider\AnonymousAuthenticationProvider
- security.authentication.provider.anonymous.admin Symfony\Component\Security\Core\Authentication\Provider\AnonymousAuthenticationProvider
- security.authentication.provider.dao Symfony\Component\Security\Core\Authentication\Provider\DaoAuthenticationProvider
- security.authentication.provider.dao.admin Symfony\Component\Security\Core\Authentication\Provider\DaoAuthenticationProvider
- security.authentication.provider.guard Symfony\Component\Security\Guard\Provider\GuardAuthenticationProvider
- security.authentication.provider.ldap_bind Symfony\Component\Security\Core\Authentication\Provider\LdapBindAuthenticationProvider
- security.authentication.provider.pre_authenticated Symfony\Component\Security\Core\Authentication\Provider\PreAuthenticatedAuthenticationProvider
- security.authentication.provider.rememberme Symfony\Component\Security\Core\Authentication\Provider\RememberMeAuthenticationProvider
- security.authentication.provider.simple Symfony\Component\Security\Core\Authentication\Provider\SimpleAuthenticationProvider
- security.authentication.rememberme.services.abstract
- security.authentication.rememberme.services.persistent Symfony\Component\Security\Http\RememberMe\PersistentTokenBasedRememberMeServices
- security.authentication.rememberme.services.simplehash Symfony\Component\Security\Http\RememberMe\TokenBasedRememberMeServices
- security.authentication.retry_entry_point Symfony\Component\Security\Http\EntryPoint\RetryAuthenticationEntryPoint
- security.authentication.session_strategy Symfony\Component\Security\Http\Session\SessionAuthenticationStrategy
- security.authentication.session_strategy.admin alias for "security.authentication.session_strategy"
- security.authentication.session_strategy_noop Symfony\Component\Security\Http\Session\SessionAuthenticationStrategy
- security.authentication.simple_success_failure_handler Symfony\Component\Security\Http\Authentication\SimpleAuthenticationHandler
- security.authentication.success_handler Symfony\Component\Security\Http\Authentication\DefaultAuthenticationSuccessHandler
- security.authentication.success_handler.admin.json_login Symfony\Component\Security\Http\Authentication\CustomAuthenticationSuccessHandler
- security.authentication.switchuser_listener Symfony\Component\Security\Http\Firewall\SwitchUserListener
- security.authentication.trust_resolver Symfony\Component\Security\Core\Authentication\AuthenticationTrustResolver
- security.authentication_utils Symfony\Component\Security\Http\Authentication\AuthenticationUtils
- security.authorization_checker Symfony\Component\Security\Core\Authorization\AuthorizationChecker
- security.channel_listener Symfony\Component\Security\Http\Firewall\ChannelListener
- security.command.user_password_encoder Symfony\Bundle\SecurityBundle\Command\UserPasswordEncoderCommand
- security.context_listener Symfony\Component\Security\Http\Firewall\ContextListener
- security.context_listener.0 Symfony\Component\Security\Http\Firewall\ContextListener
security.csrf.token_generator Symfony\Component\Security\Csrf\TokenGenerator\UriSafeTokenGenerator
security.csrf.token_manager Symfony\Component\Security\Csrf\CsrfTokenManager
security.csrf.token_storage Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage
- security.encoder_factory alias for "security.encoder_factory.generic"
- security.encoder_factory.generic Symfony\Component\Security\Core\Encoder\EncoderFactory
- security.exception_listener Symfony\Component\Security\Http\Firewall\ExceptionListener
- security.exception_listener.admin Symfony\Component\Security\Http\Firewall\ExceptionListener
- security.expression_language Symfony\Component\Security\Core\Authorization\ExpressionLanguage
- security.firewall alias for "debug.security.firewall"
- security.firewall.config Symfony\Bundle\SecurityBundle\Security\FirewallConfig
- security.firewall.context Symfony\Bundle\SecurityBundle\Security\FirewallContext
- security.firewall.map Symfony\Bundle\SecurityBundle\Security\FirewallMap
- security.firewall.map.config.admin Symfony\Bundle\SecurityBundle\Security\FirewallConfig
- security.firewall.map.context.admin Symfony\Bundle\SecurityBundle\Security\FirewallContext
- security.helper Symfony\Component\Security\Core\Security
- security.http_utils Symfony\Component\Security\Http\HttpUtils
- security.logout.handler.cookie_clearing Symfony\Component\Security\Http\Logout\CookieClearingLogoutHandler
- security.logout.handler.csrf_token_clearing Symfony\Component\Security\Http\Logout\CsrfTokenClearingLogoutHandler
- security.logout.handler.session Symfony\Component\Security\Http\Logout\SessionLogoutHandler
- security.logout.success_handler Symfony\Component\Security\Http\Logout\DefaultLogoutSuccessHandler
- security.logout_listener Symfony\Component\Security\Http\Firewall\LogoutListener
- security.logout_listener.admin Symfony\Component\Security\Http\Firewall\LogoutListener
- security.logout_url_generator Symfony\Component\Security\Http\Logout\LogoutUrlGenerator
- security.password_encoder alias for "security.user_password_encoder.generic"
- security.rememberme.response_listener Symfony\Component\Security\Http\RememberMe\ResponseListener
- security.rememberme.token.provider.in_memory Symfony\Component\Security\Core\Authentication\RememberMe\InMemoryTokenProvider
- security.role_hierarchy Symfony\Component\Security\Core\Role\RoleHierarchy
- security.token_storage Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage
- security.user.provider.chain Symfony\Component\Security\Core\User\ChainUserProvider
- security.user.provider.concrete.sulu alias for "sulu_security.user_provider"
- security.user.provider.in_memory Symfony\Component\Security\Core\User\InMemoryUserProvider
- security.user.provider.in_memory.user Symfony\Component\Security\Core\User\User
- security.user.provider.ldap Symfony\Component\Security\Core\User\LdapUserProvider
- security.user.provider.missing Symfony\Component\Security\Core\User\MissingUserProvider
- security.user_checker Symfony\Component\Security\Core\User\UserChecker
- security.user_checker.admin alias for "security.user_checker"
- security.user_password_encoder.generic Symfony\Component\Security\Core\Encoder\UserPasswordEncoder
- security.user_value_resolver Symfony\Component\Security\Http\Controller\UserValueResolver
- security.validator.user_password Symfony\Component\Security\Core\Validator\Constraints\UserPasswordValidator
sensio_framework_extra.cache.listener Sensio\Bundle\FrameworkExtraBundle\EventListener\HttpCacheListener
sensio_framework_extra.controller.listener Sensio\Bundle\FrameworkExtraBundle\EventListener\ControllerListener
sensio_framework_extra.converter.doctrine.orm Sensio\Bundle\FrameworkExtraBundle\Request\ParamConverter\DoctrineParamConverter
@@ -816,7 +717,6 @@ Symfony Container Services
sensio_framework_extra.routing.loader.annot_file Symfony\Component\Routing\Loader\AnnotationFileLoader
sensio_framework_extra.security.expression_language alias for "sensio_framework_extra.security.expression_language.default"
sensio_framework_extra.security.expression_language.default Sensio\Bundle\FrameworkExtraBundle\Security\ExpressionLanguage
- sensio_framework_extra.security.listener Sensio\Bundle\FrameworkExtraBundle\EventListener\SecurityListener
sensio_framework_extra.view.guesser Sensio\Bundle\FrameworkExtraBundle\Templating\TemplateGuesser
sensio_framework_extra.view.listener Sensio\Bundle\FrameworkExtraBundle\EventListener\TemplateListener
serializer Symfony\Component\Serializer\Serializer
@@ -910,17 +810,6 @@ Symfony Container Services
sulu.repository.tag Sulu\Bundle\TagBundle\Entity\TagRepository
sulu.repository.user Sulu\Bundle\SecurityBundle\Entity\UserRepository
sulu.util.node_helper Sulu\Component\Util\SuluNodeHelper
- sulu_admin.admin_controller Sulu\Bundle\AdminBundle\Controller\AdminController
- sulu_admin.admin_pool Sulu\Bundle\AdminBundle\Admin\AdminPool
- sulu_admin.field_type_option_registry Sulu\Bundle\AdminBundle\FieldType\FieldTypeOptionRegistry
- sulu_admin.form_metadata.form_xml_loader Sulu\Bundle\AdminBundle\FormMetadata\FormXmlLoader
- sulu_admin.js_config_pool Sulu\Bundle\AdminBundle\Admin\JsConfigPool
- sulu_admin.metadata.resource_metadata_mapper Sulu\Bundle\AdminBundle\ResourceMetadata\ResourceMetadataMapper
- sulu_admin.metadata.resource_metadata_pool Sulu\Bundle\AdminBundle\ResourceMetadata\ResourceMetadataPool
- sulu_admin.metadata.resource_metadata_provider.form Sulu\Bundle\AdminBundle\ResourceMetadata\FormResourceMetadataProvider
- sulu_admin.navigation_registry Sulu\Bundle\AdminBundle\Admin\NavigationRegistry
- sulu_admin.route_registry Sulu\Bundle\AdminBundle\Admin\RouteRegistry
- sulu_category.admin Sulu\Bundle\CategoryBundle\Admin\CategoryAdmin
sulu_category.category_manager Sulu\Bundle\CategoryBundle\Category\CategoryManager
sulu_category.category_repository alias for "sulu.repository.category"
sulu_category.category_request_handler Sulu\Component\Category\Request\CategoryRequestHandler
@@ -930,13 +819,9 @@ Symfony Container Services
sulu_category.keyword_repository alias for "sulu.repository.keyword"
sulu_category.reference_store.category Sulu\Bundle\WebsiteBundle\ReferenceStore\ReferenceStore
sulu_category.twig_extension Sulu\Bundle\CategoryBundle\Twig\CategoryTwigExtension
- sulu_collaboration.connection_cache alias for "doctrine_cache.providers.sulu_collaboration_connection"
- sulu_collaboration.entity_cache alias for "doctrine_cache.providers.sulu_collaboration_entity"
- sulu_collaboration.jsconfig Sulu\Bundle\AdminBundle\Admin\JsConfig
sulu_contact.account_factory Sulu\Bundle\ContactBundle\Contact\AccountFactory
sulu_contact.account_listener Sulu\Bundle\ContactBundle\EventListener\AccountListener
sulu_contact.account_manager Sulu\Bundle\ContactBundle\Contact\AccountManager
- sulu_contact.admin Sulu\Bundle\ContactBundle\Admin\ContactAdmin
sulu_contact.command.recover Sulu\Bundle\ContactBundle\Command\AccountRecoverCommand
sulu_contact.contact_manager Sulu\Bundle\ContactBundle\Contact\ContactManager
sulu_contact.contact_title_repository Sulu\Bundle\ContactBundle\Entity\ContactTitleRepository
@@ -954,7 +839,6 @@ Symfony Container Services
sulu_contact.twig.cache Doctrine\Common\Cache\ArrayCache
sulu_contact.util.id_converter Sulu\Bundle\ContactBundle\Util\CustomerIdConverter
sulu_contact.util.index_comparator Sulu\Bundle\ContactBundle\Util\IndexComparator
- sulu_content.admin Sulu\Bundle\ContentBundle\Admin\ContentAdmin
sulu_content.command.cleanup_history Sulu\Bundle\ContentBundle\Command\CleanupHistoryCommand
sulu_content.command.copy_locale Sulu\Bundle\ContentBundle\Command\ContentLocaleCopyCommand
sulu_content.command.dump_content_types Sulu\Bundle\ContentBundle\Command\ContentTypesDumpCommand
@@ -970,7 +854,6 @@ Symfony Container Services
sulu_content.compat.serializer.handler.page_bridge Sulu\Component\Content\Compat\Serializer\PageBridgeHandler
sulu_content.compat.structure.legacy_property_factory Sulu\Component\Content\Compat\Structure\LegacyPropertyFactory
sulu_content.content_repository Sulu\Component\Content\Repository\ContentRepository
- sulu_content.content_repository.event_subscriber Sulu\Component\Content\Repository\Serializer\SerializerEventListener
sulu_content.controller_name_converter alias for "controller_name_converter"
sulu_content.document.serializer.handler.extension_container Sulu\Bundle\ContentBundle\Serializer\Handler\ExtensionContainerHandler
sulu_content.document.serializer.handler.structure Sulu\Bundle\ContentBundle\Serializer\Handler\StructureHandler
@@ -995,9 +878,7 @@ Symfony Container Services
sulu_content.import.webspace.xliff12 Sulu\Component\Import\Format\Xliff12
sulu_content.js_config.webspace_input_types Sulu\Bundle\ContentBundle\Admin\WebspaceInputTypesJsConfig
sulu_content.jsconfig Sulu\Bundle\AdminBundle\Admin\JsConfig
- sulu_content.jsconfig.texteditor_toolbar Sulu\Bundle\ContentBundle\Admin\TextEditorJsConfig
sulu_content.link_tag Sulu\Bundle\ContentBundle\Markup\LinkTag
- sulu_content.link_tag.js_config Sulu\Bundle\ContentBundle\Admin\LinkProviderJsConfig
sulu_content.link_tag.page_provider Sulu\Bundle\ContentBundle\Markup\Link\PageLinkProvider
sulu_content.link_tag.provider_pool Sulu\Bundle\ContentBundle\Markup\Link\LinkProviderPool
sulu_content.node_repository Sulu\Bundle\ContentBundle\Repository\NodeRepository
@@ -1005,8 +886,6 @@ Symfony Container Services
sulu_content.preview.defaults_provider Sulu\Bundle\ContentBundle\Preview\PageRouteDefaultsProvider
sulu_content.preview.object_provider Sulu\Bundle\ContentBundle\Preview\PageObjectProvider
sulu_content.reference_store.content Sulu\Bundle\WebsiteBundle\ReferenceStore\ReferenceStore
- sulu_content.resource_locator_controller Sulu\Bundle\ContentBundle\Controller\ResourcelocatorController
- sulu_content.resource_metadata_provider.structure Sulu\Bundle\ContentBundle\ResourceMetadata\StructureResourceMetadataProvider
sulu_content.rl_repository Sulu\Bundle\ContentBundle\Repository\ResourceLocatorRepository
sulu_content.search.event_subscriber.blame_timestamp Sulu\Bundle\ContentBundle\Search\EventSubscriber\BlameTimestampSubscriber
sulu_content.search.event_subscriber.structure Sulu\Bundle\ContentBundle\Search\EventSubscriber\StructureSubscriber
@@ -1025,8 +904,6 @@ Symfony Container Services
sulu_content.teaser.manager Sulu\Bundle\ContentBundle\Teaser\TeaserManager
sulu_content.teaser.provider.content Sulu\Bundle\ContentBundle\Teaser\ContentTeaserProvider
sulu_content.teaser.provider_pool Sulu\Bundle\ContentBundle\Teaser\Provider\TeaserProviderPool
- sulu_content.teaser.serializer.event_subscriber Sulu\Bundle\ContentBundle\EventListener\TeaserSerializeEventSubscriber
- sulu_content.webspace.serializer.event_subscriber Sulu\Bundle\ContentBundle\EventListener\WebspaceSerializeEventSubscriber
sulu_core.array_serialization_visitor Sulu\Component\Serializer\ArraySerializationVisitor
sulu_core.build.builder.database Sulu\Bundle\CoreBundle\Build\DatabaseBuilder
sulu_core.build.builder.fixtures Sulu\Bundle\CoreBundle\Build\FixturesBuilder
@@ -1056,7 +933,10 @@ Symfony Container Services
sulu_core.proxy_manager.configuration ProxyManager\Configuration
sulu_core.proxy_manager.file_locator ProxyManager\FileLocator\FileLocator
sulu_core.proxy_manager.file_writer_generator_strategy ProxyManager\GeneratorStrategy\FileWriterGeneratorStrategy
- sulu_core.request_processor.admin Sulu\Component\Webspace\Analyzer\Attributes\AdminRequestProcessor
+ sulu_core.request_processor.parameter Sulu\Component\Webspace\Analyzer\Attributes\ParameterRequestProcessor
+ sulu_core.request_processor.portal_information Sulu\Component\Webspace\Analyzer\Attributes\PortalInformationRequestProcessor
+ sulu_core.request_processor.url Sulu\Component\Webspace\Analyzer\Attributes\UrlRequestProcessor
+ sulu_core.request_processor.website Sulu\Component\Webspace\Analyzer\Attributes\WebsiteRequestProcessor
sulu_core.rest.datetime_handler Sulu\Component\Rest\Handler\DateHandler
sulu_core.rest.view_handler.csv Sulu\Component\Rest\Csv\CsvHandler
sulu_core.rest_helper Sulu\Component\Rest\RestHelper
@@ -1074,13 +954,24 @@ Symfony Container Services
sulu_core.webspace.url_provider.default Sulu\Component\Webspace\Url\WebspaceUrlProvider
sulu_core.webspace.webspace_manager Sulu\Component\Webspace\Manager\WebspaceManager
sulu_core.webspace.webspace_manager.url_replacer Sulu\Component\Webspace\Url\Replacer
- sulu_custom_urls.admin Sulu\Bundle\CustomUrlBundle\Admin\CustomUrlAdmin
sulu_custom_urls.domain_generator Sulu\Component\CustomUrl\Generator\Generator
sulu_custom_urls.event_subscriber.invalidation Sulu\Component\CustomUrl\Document\Subscriber\InvalidationSubscriber
sulu_custom_urls.initializer Sulu\Component\CustomUrl\Document\Initializer\CustomUrlInitializer
sulu_custom_urls.manager Sulu\Component\CustomUrl\Manager\CustomUrlManager
sulu_custom_urls.repository Sulu\Component\CustomUrl\Repository\CustomUrlRepository
- sulu_custom_urls.serializer.event_subscriber Sulu\Bundle\CustomUrlBundle\EventListener\CustomUrlSerializeEventSubscriber
+ sulu_custom_urls.request_processor Sulu\Bundle\CustomUrlBundle\Request\CustomUrlRequestProcessor
+ sulu_custom_urls.routing.generator Symfony\Cmf\Component\Routing\ProviderBasedGenerator
+ sulu_custom_urls.routing.nested_matcher Symfony\Cmf\Component\Routing\NestedMatcher\NestedMatcher
+ sulu_custom_urls.routing.provider Sulu\Component\CustomUrl\Routing\CustomUrlRouteProvider
+ sulu_custom_urls.routing.route_enhancers.content Sulu\Component\CustomUrl\Routing\Enhancers\ContentEnhancer
+ sulu_custom_urls.routing.route_enhancers.external_link Sulu\Component\CustomUrl\Routing\Enhancers\ExternalLinkEnhancer
+ sulu_custom_urls.routing.route_enhancers.internal_link Sulu\Component\CustomUrl\Routing\Enhancers\InternalLinkEnhancer
+ sulu_custom_urls.routing.route_enhancers.redirect Sulu\Component\CustomUrl\Routing\Enhancers\RedirectEnhancer
+ sulu_custom_urls.routing.route_enhancers.seo Sulu\Component\CustomUrl\Routing\Enhancers\SeoEnhancer
+ sulu_custom_urls.routing.route_enhancers.structure Sulu\Component\CustomUrl\Routing\Enhancers\StructureEnhancer
+ sulu_custom_urls.routing.route_enhancers.trailing_html Sulu\Component\CustomUrl\Routing\Enhancers\TrailingHTMLEnhancer
+ sulu_custom_urls.routing.route_enhancers.trailing_slash Sulu\Component\CustomUrl\Routing\Enhancers\TrailingSlashEnhancer
+ sulu_custom_urls.routing.router Symfony\Cmf\Bundle\RoutingBundle\Routing\DynamicRouter
sulu_custom_urls.subscriber Sulu\Component\CustomUrl\Document\Subscriber\CustomUrlSubscriber
sulu_custom_urls.url_provider Sulu\Component\CustomUrl\WebspaceCustomUrlProvider
sulu_document_manager.command.fixtures_load Sulu\Bundle\DocumentManagerBundle\Command\FixturesLoadCommand
@@ -1091,8 +982,8 @@ Symfony Container Services
sulu_document_manager.decorated_default_session Sulu\Bundle\DocumentManagerBundle\Session\Session
sulu_document_manager.decorated_default_session.inner Jackalope\Session
sulu_document_manager.decorated_live_session Sulu\Bundle\DocumentManagerBundle\Session\Session
- sulu_document_manager.decorated_live_session.inner Jackalope\Session
- sulu_document_manager.default_session alias for "sulu_document_manager.decorated_default_session"
+ sulu_document_manager.decorated_live_session.inner alias for "sulu_document_manager.decorated_default_session"
+ sulu_document_manager.default_session alias for "sulu_document_manager.decorated_live_session"
sulu_document_manager.document.subscriber.compat.content_mapper Sulu\Component\Content\Document\Subscriber\Compat\ContentMapperSubscriber
sulu_document_manager.document.subscriber.extension Sulu\Component\Content\Document\Subscriber\ExtensionSubscriber
sulu_document_manager.document.subscriber.fallback_localization Sulu\Component\Content\Document\Subscriber\FallbackLocalizationSubscriber
@@ -1183,7 +1074,6 @@ Symfony Container Services
sulu_media.adapter.gd Imagine\Gd\Imagine
sulu_media.adapter.gmagick Imagine\Gmagick\Imagine
sulu_media.adapter.imagick Imagine\Imagick\Imagine
- sulu_media.admin Sulu\Bundle\MediaBundle\Admin\MediaAdmin
sulu_media.collection_manager Sulu\Bundle\MediaBundle\Collection\Manager\CollectionManager
sulu_media.collection_repository Sulu\Bundle\MediaBundle\Entity\CollectionRepository
sulu_media.command.clear_cache Sulu\Bundle\MediaBundle\Command\ClearCacheCommand
@@ -1211,7 +1101,6 @@ Symfony Container Services
sulu_media.image.transformation.paste Sulu\Bundle\MediaBundle\Media\ImageConverter\Transformation\PasteTransformation
sulu_media.image.transformation.sharpen Sulu\Bundle\MediaBundle\Media\ImageConverter\Transformation\SharpenTransformation
sulu_media.image.transformation_pool Sulu\Bundle\MediaBundle\Media\ImageConverter\TransformationPool
- sulu_media.js_config Sulu\Bundle\AdminBundle\Admin\JsConfig
sulu_media.markup Sulu\Bundle\MediaBundle\Markup\MediaTag
sulu_media.media_manager Sulu\Bundle\MediaBundle\Media\Manager\MediaManager
sulu_media.permission_listener Sulu\Bundle\MediaBundle\Search\EventListener\PermissionListener
@@ -1232,12 +1121,6 @@ Symfony Container Services
sulu_media.type_manager Sulu\Bundle\MediaBundle\Media\TypeManager\TypeManager
sulu_media.video_thumbnail_generator Sulu\Bundle\MediaBundle\Media\Video\VideoThumbnailService
sulu_navigationContext.document.subscriber.navigation_context Sulu\Component\Content\Document\Subscriber\NavigationContextSubscriber
- sulu_preview.js_config Sulu\Bundle\AdminBundle\Admin\JsConfig
- sulu_preview.preview Sulu\Bundle\PreviewBundle\Preview\Preview
- sulu_preview.preview.cache alias for "doctrine_cache.providers.sulu_preview"
- sulu_preview.preview.kernel_factory Sulu\Bundle\PreviewBundle\Preview\Renderer\WebsiteKernelFactory
- sulu_preview.preview.renderer Sulu\Bundle\PreviewBundle\Preview\Renderer\PreviewRenderer
- sulu_preview.preview_controller Sulu\Bundle\PreviewBundle\Controller\PreviewController
sulu_redirect_type.document.subscriber.redirect_type Sulu\Component\Content\Document\Subscriber\RedirectTypeSubscriber
sulu_resource_segment.document.subscriber.resource_segment Sulu\Component\Content\Document\Subscriber\ResourceSegmentSubscriber
sulu_route.chain_generator Sulu\Bundle\RouteBundle\Generator\ChainRouteGenerator
@@ -1248,50 +1131,40 @@ Symfony Container Services
sulu_route.manager.conflict_resolver.auto_increment Sulu\Bundle\RouteBundle\Manager\AutoIncrementConflictResolver
sulu_route.manager.route_manager Sulu\Bundle\RouteBundle\Manager\RouteManager
sulu_route.routing.defaults_provider Sulu\Bundle\RouteBundle\Routing\Defaults\RouteDefaultsProvider
+ sulu_route.routing.final_matcher Symfony\Cmf\Component\Routing\NestedMatcher\UrlMatcher
+ sulu_route.routing.generator Symfony\Cmf\Component\Routing\ProviderBasedGenerator
+ sulu_route.routing.nested_matcher Symfony\Cmf\Component\Routing\NestedMatcher\NestedMatcher
+ sulu_route.routing.provider Sulu\Bundle\RouteBundle\Routing\RouteProvider
sulu_route.routing.proxy_factory ProxyManager\Factory\LazyLoadingValueHolderFactory
+ sulu_route.routing.router Symfony\Cmf\Bundle\RoutingBundle\Routing\DynamicRouter
sulu_search.build.index Sulu\Bundle\SearchBundle\Build\IndexBuilder
- sulu_search.controller.search Sulu\Bundle\SearchBundle\Controller\SearchController
+ sulu_search.controller.website_search Sulu\Bundle\SearchBundle\Controller\WebsiteSearchController
+ sulu_search.event_listener.hit Sulu\Bundle\ContentBundle\Search\EventListener\HitListener
sulu_search.index_configuration_provider Sulu\Bundle\SearchBundle\Search\Configuration\IndexConfigurationProvider
sulu_search.search.factory Sulu\Bundle\SearchBundle\Search\Factory
sulu_security.access_control_manager Sulu\Component\Security\Authorization\AccessControl\AccessControlManager
- sulu_security.admin Sulu\Bundle\SecurityBundle\Admin\SecurityAdmin
sulu_security.authentication_entry_point Sulu\Bundle\SecurityBundle\Security\AuthenticationEntryPoint
sulu_security.authentication_handler Sulu\Bundle\SecurityBundle\Security\AuthenticationHandler
sulu_security.build.user Sulu\Bundle\SecurityBundle\Build\UserBuilder
sulu_security.command.create_role Sulu\Bundle\SecurityBundle\Command\CreateRoleCommand
sulu_security.command.create_user Sulu\Bundle\SecurityBundle\Command\CreateUserCommand
- sulu_security.doctrine_access_control_provider Sulu\Component\Security\Authorization\AccessControl\DoctrineAccessControlProvider
sulu_security.document.serializer.subscriber.security Sulu\Bundle\SecurityBundle\Serializer\Subscriber\SecuritySubscriber
- sulu_security.encoder_factory alias for "security.encoder_factory.generic"
- sulu_security.event_listener.security Sulu\Bundle\SecurityBundle\EventListener\SuluSecurityListener
sulu_security.group_repository Sulu\Bundle\SecurityBundle\Entity\GroupRepository
- sulu_security.js_config Sulu\Bundle\SecurityBundle\Security\SecurityConfig
- sulu_security.last_login_listener Sulu\Bundle\SecurityBundle\EventListener\LastLoginListener
sulu_security.logout_success_handler Sulu\Bundle\SecurityBundle\Security\LogoutSuccessHandler
sulu_security.mask_converter Sulu\Component\Security\Authorization\MaskConverter
- sulu_security.permission_controller Sulu\Bundle\SecurityBundle\Controller\PermissionController
- sulu_security.phpcr_access_control_provider Sulu\Component\Security\Authorization\AccessControl\PhpcrAccessControlProvider
- sulu_security.profile_controller Sulu\Bundle\SecurityBundle\Controller\ProfileController
sulu_security.salt_generator Sulu\Component\Security\Authentication\SaltGenerator
- sulu_security.security_checker Sulu\Component\Security\Authorization\SecurityChecker
sulu_security.security_context_voter Sulu\Component\Security\Authorization\SecurityContextVoter
- sulu_security.security_systems_select_helper Sulu\Bundle\SecurityBundle\Admin\Helper\SecuritySystemsSelect
- sulu_security.serializer.handler.secured_entity Sulu\Component\Security\Serializer\Subscriber\SecuredEntitySubscriber
- sulu_security.system_language_select_helper Sulu\Bundle\SecurityBundle\Admin\Helper\SystemLanguageSelect
sulu_security.token_generator Sulu\Bundle\SecurityBundle\Util\TokenGenerator
sulu_security.twig_extension.user Sulu\Bundle\SecurityBundle\Twig\UserTwigExtension
sulu_security.twig_extension.user.cache Doctrine\Common\Cache\ArrayCache
- sulu_security.user_locale_listener Sulu\Bundle\SecurityBundle\EventListener\UserLocaleListener
sulu_security.user_manager Sulu\Bundle\SecurityBundle\UserManager\UserManager
sulu_security.user_provider Sulu\Bundle\SecurityBundle\User\UserProvider
sulu_security.user_repository Sulu\Component\Security\Authentication\UserRepository
sulu_security.user_setting_repository Sulu\Component\Security\Authentication\UserSettingRepository
- sulu_snippet.admin Sulu\Bundle\SnippetBundle\Admin\SnippetAdmin
sulu_snippet.command.export Sulu\Bundle\SnippetBundle\Command\SnippetExportCommand
sulu_snippet.command.import Sulu\Bundle\SnippetBundle\Command\SnippetImportCommand
sulu_snippet.command.locale_copy Sulu\Bundle\SnippetBundle\Command\SnippetLocaleCopyCommand
sulu_snippet.content.snippet Sulu\Bundle\SnippetBundle\Content\SnippetContent
- sulu_snippet.controller.snippet Sulu\Bundle\SnippetBundle\Controller\SnippetController
sulu_snippet.default_snippet.manager Sulu\Bundle\SnippetBundle\Snippet\DefaultSnippetManager
sulu_snippet.document.snippet_initializer Sulu\Bundle\SnippetBundle\Document\SnippetInitializer
sulu_snippet.export.snippet Sulu\Component\Snippet\Export\SnippetExport
@@ -1308,7 +1181,6 @@ Symfony Container Services
sulu_snippet.twig.default_snippet Sulu\Bundle\SnippetBundle\Twig\DefaultSnippetTwigExtension
sulu_snippet.twig.snippet Sulu\Bundle\SnippetBundle\Twig\SnippetTwigExtension
sulu_snippet.twig.snippet.memoized Sulu\Bundle\SnippetBundle\Twig\MemoizedSnippetTwigExtension
- sulu_tag.admin Sulu\Bundle\TagBundle\Admin\TagAdmin
sulu_tag.content.type.tag_list Sulu\Bundle\TagBundle\Content\Types\TagList
sulu_tag.reference_store.tag Sulu\Bundle\WebsiteBundle\ReferenceStore\ReferenceStore
sulu_tag.search.tags_converter Sulu\Bundle\TagBundle\Search\TagsConverter
@@ -1316,17 +1188,24 @@ Symfony Container Services
sulu_tag.tag_repository Sulu\Bundle\TagBundle\Entity\TagRepository
sulu_tag.tag_request_handler Sulu\Component\Tag\Request\TagRequestHandler
sulu_tag.twig_extension Sulu\Bundle\TagBundle\Twig\TagTwigExtension
- sulu_website.admin Sulu\Bundle\WebsiteBundle\Admin\WebsiteAdmin
- sulu_website.analytics.event_subscriber Sulu\Bundle\WebsiteBundle\EventSubscriber\AnalyticsSerializeEventSubscriber
sulu_website.analytics.manager Sulu\Bundle\WebsiteBundle\Analytics\AnalyticsManager
sulu_website.analytics.repository Sulu\Bundle\WebsiteBundle\Entity\AnalyticsRepository
+ sulu_website.analytics.response_listener Sulu\Bundle\WebsiteBundle\EventListener\AppendAnalyticsListener
sulu_website.command.dump_sitemap Sulu\Bundle\WebsiteBundle\Command\DumpSitemapCommand
+ sulu_website.data_collector.sulu_collector Sulu\Bundle\WebsiteBundle\DataCollector\SuluCollector
+ sulu_website.default_locale.portal_provider Sulu\Bundle\WebsiteBundle\Locale\PortalDefaultLocaleProvider
+ sulu_website.default_locale.provider alias for "sulu_website.default_locale.portal_provider"
+ sulu_website.default_locale.request_provider Sulu\Bundle\WebsiteBundle\Locale\RequestDefaultLocaleProvider
sulu_website.domains.repository Sulu\Bundle\WebsiteBundle\Entity\DomainRepository
- sulu_website.event_listener.translator Sulu\Bundle\WebsiteBundle\EventListener\TranslatorEventListener
- sulu_website.exception.controller alias for "twig.controller.exception"
+ sulu_website.event_subscriber.generator Sulu\Bundle\WebsiteBundle\EventSubscriber\GeneratorEventSubscriber
+ sulu_website.exception.controller alias for "sulu_website.exception_controller"
+ sulu_website.exception_controller Sulu\Bundle\WebsiteBundle\Controller\ExceptionController
+ sulu_website.exception_controller.inner Symfony\Bundle\TwigBundle\Controller\ExceptionController
sulu_website.http_cache.clearer Sulu\Bundle\WebsiteBundle\Cache\CacheClearer
sulu_website.navigation_mapper Sulu\Bundle\WebsiteBundle\Navigation\NavigationMapper
sulu_website.navigation_mapper.query_builder Sulu\Bundle\WebsiteBundle\Navigation\NavigationQueryBuilder
+ sulu_website.provider.content Sulu\Bundle\WebsiteBundle\Routing\ContentRouteProvider
+ sulu_website.redirect_exception_listener Sulu\Bundle\WebsiteBundle\EventListener\RedirectExceptionSubscriber
sulu_website.reference_store_pool Sulu\Bundle\WebsiteBundle\ReferenceStore\ReferenceStorePool
sulu_website.resolver.parameter Sulu\Bundle\WebsiteBundle\Resolver\ParameterResolver
sulu_website.resolver.request_analyzer Sulu\Bundle\WebsiteBundle\Resolver\RequestAnalyzerResolver
@@ -1396,8 +1275,6 @@ Symfony Container Services
templating.engine.twig Symfony\Bundle\TwigBundle\TwigEngine
templating.filename_parser Symfony\Bundle\FrameworkBundle\Templating\TemplateFilenameParser
templating.finder Symfony\Bundle\FrameworkBundle\CacheWarmer\TemplateFinder
- templating.helper.logout_url Symfony\Bundle\SecurityBundle\Templating\Helper\LogoutUrlHelper
- templating.helper.security Symfony\Bundle\SecurityBundle\Templating\Helper\SecurityHelper
templating.loader alias for "templating.loader.filesystem"
templating.loader.cache Symfony\Component\Templating\Loader\CacheLoader
templating.loader.chain Symfony\Component\Templating\Loader\ChainLoader
@@ -1446,7 +1323,7 @@ Symfony Container Services
twig.command.debug Symfony\Bridge\Twig\Command\DebugCommand
twig.command.lint Symfony\Bundle\TwigBundle\Command\LintCommand
twig.configurator.environment Symfony\Bundle\TwigBundle\DependencyInjection\Configurator\EnvironmentConfigurator
- twig.controller.exception Symfony\Bundle\TwigBundle\Controller\ExceptionController
+ twig.controller.exception alias for "sulu_website.exception_controller"
twig.controller.preview_error Symfony\Bundle\TwigBundle\Controller\PreviewErrorController
twig.exception_listener Symfony\Component\HttpKernel\EventListener\ExceptionListener
twig.extension.assets Symfony\Bridge\Twig\Extension\AssetExtension
@@ -1458,10 +1335,8 @@ Symfony Container Services
twig.extension.form Symfony\Bridge\Twig\Extension\FormExtension
twig.extension.httpfoundation Symfony\Bridge\Twig\Extension\HttpFoundationExtension
twig.extension.httpkernel Symfony\Bridge\Twig\Extension\HttpKernelExtension
- twig.extension.logout_url Symfony\Bridge\Twig\Extension\LogoutUrlExtension
twig.extension.profiler Symfony\Bridge\Twig\Extension\ProfilerExtension
twig.extension.routing Symfony\Bridge\Twig\Extension\RoutingExtension
- twig.extension.security Symfony\Bridge\Twig\Extension\SecurityExtension
twig.extension.security_csrf Symfony\Bridge\Twig\Extension\CsrfExtension
twig.extension.trans Symfony\Bridge\Twig\Extension\TranslationExtension
twig.extension.weblink Symfony\Bridge\Twig\Extension\WebLinkExtension
@@ -1507,5 +1382,5 @@ Symfony Container Services
web_server.command.server_start Symfony\Bundle\WebServerBundle\Command\ServerStartCommand
web_server.command.server_status Symfony\Bundle\WebServerBundle\Command\ServerStatusCommand
web_server.command.server_stop Symfony\Bundle\WebServerBundle\Command\ServerStopCommand
|
same problem here, building DI its taking 9 minutes. Downgraded to v 4.1.7 and it's back to ~47s. |
Same problem here with Symfony 3.4.19. (cache:warmup or first request take 5 minutes with with a very intensive CPU use), few seconds with 3.4.18. In dev env, it's juste unusable. |
…e graph (nicolas-grekas) This PR was merged into the 3.4 branch. Discussion ---------- [DI] fix combinatorial explosion when analyzing the service graph | Q | A | ------------- | --- | Branch? | 3.4 | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | #29336 | License | MIT | Doc PR | - and a few minor things found meanwhile. Commits ------- 0d0be12 [DI] fix combinatorial explosion when analyzing the service graph
fixed |
Sorry, but with 3.4.20, the bug stills not fixed. With 3.4.18, on XPS 9350 2,7Ghz, PHP 7.2, bin/console cache:clear takes only 20s |
@frenchcomp Can you create a small example application that allows to reproduce the issue? |
@xabbuh , Sorry, I start investigation.
The infinite loop is caused by PHPDumper, in addInlineReference. In 3.4.18, with lazy service, the DI is compiled, but not with 3.4.20. It's probably caused by : in PHPDumper::addInlineReference (line 744). When I remove it, the DI is compiled, tests are green and website run. (Edit: I'm embarrassed, I can not get performance issues anymore. So I delete message about them.) |
@frenchcomp please open an issue with your findings/reproducer |
Please try again with |
I was using xdebug, anyway I'm not able to reproduce it on php 5.6 because current sulu requirement is php 7.1+ and I'm not so much familiar with that. I think @alexander-schranz should respond for this issue and current situation. |
@UBERPHP the issue should not longer exist as linked in here @nicolas-grekas did made a lot of improvements in #29369 ❤️. Just make sure you are not using one of the effected symfony versions (4.1.8, 3.4.19). And xdebug does slow down php processing and if your system is not very fast you should enable xdebug only when really needed. |
My team is experiencing huge issues with container built times on Symfony 3.4.42. We are working heavily on performing the update to 4.4 but it is an interesting sight, and it would mean quite a lot if i could get @nicolas-grekas thoughts on this particular Blackfire profile. This is a cold start, a first pageload of an application without var/cache/*... As you might imagine, 29 million method calls takes quite a lot of time, and prevents us from using xdebug at all (its not installed in the container that was used to make the abovementioned profile), or often makes blackfire probe unavailable because of timeouts. We do have 1.501 manually registered services, most of which use autowiring and autoconfiguration, and we do not let the app scan for services automagically. Any kind of hint would help. <3 |
@markomitranic please open a separate issue, nothing wil happen on closed ones (the Blackfire profile is interesting). |
Yeah, i figured since this is more of an interesting support request, and related to this one, this was a better place. Sure, thanks for the response! |
Symfony version(s) affected: 4.1.8, confirmed by others 3.4.19 also affected
Description
We at sulu did found a huge performance difference when building the cache after upgrading from 4.1.7 to 4.1.8.
It ends up in max_execution_timeout in some cases.
How to reproduce
time bin/adminconsole cache:clear
user 1,06s system 93% cpu 7,242 total
user 1,14s system 99% cpu 27,885 total
time bin/websiteconsole cache:clear
user 0,82s system 98% cpu 5,843 total
user 0,97s system 99% cpu 1:03,26 total
Possible solution
Not sure as there seems to be many changes in the dependency-injection component which could cause the issue symfony/dependency-injection@v4.1.7...v4.1.8.This seems to be the commit where the container build performance changed:
symfony/dependency-injection@5ec6098
Should be this PRs: #29247
The text was updated successfully, but these errors were encountered: