parameters:
    pim_analytics.data_collector.chained.class:          Akeneo\Tool\Component\Analytics\ChainedDataCollector
    pim_analytics.data_collector.request.class:          Akeneo\Platform\Bundle\AnalyticsBundle\DataCollector\RequestDataCollector
    pim_analytics.data_collector.token_storage.class:    Akeneo\Platform\Bundle\AnalyticsBundle\DataCollector\TokenStorageDataCollector
    pim_analytics.data_collector.operating_system.class: Akeneo\Platform\Bundle\AnalyticsBundle\DataCollector\OSDataCollector
    pim_analytics.data_collector.version.class:          Akeneo\Platform\Bundle\AnalyticsBundle\DataCollector\VersionDataCollector
    pim_analytics.data_collector.database.class:         Akeneo\Platform\Bundle\AnalyticsBundle\DataCollector\DBDataCollector
    pim_analytics.data_collector.bundles.class:          Akeneo\Platform\Bundle\AnalyticsBundle\DataCollector\BundlesDataCollector
    pim_analytics.data_collector.storage.class:          Akeneo\Platform\Bundle\AnalyticsBundle\DataCollector\StorageDataCollector
    pim_analytics.data_collector.attribute.class:        Akeneo\Platform\Bundle\AnalyticsBundle\DataCollector\AttributeDataCollector

services:
    pim_analytics.data_collector.chained:
        class: '%pim_analytics.data_collector.chained.class%'

    pim_analytics.data_collector.request:
        class: '%pim_analytics.data_collector.request.class%'
        arguments:
            - '@request_stack'
        tags:
            - { name: pim_analytics.data_collector, type: update_checker }

    pim_analytics.data_collector.token_storage:
        class: '%pim_analytics.data_collector.token_storage.class%'
        arguments:
            - '@security.token_storage'
        tags:
            - { name: pim_analytics.data_collector, type: update_checker }

    pim_analytics.data_collector.version:
        class: '%pim_analytics.data_collector.version.class%'
        arguments:
            - '@request_stack'
            - '@pim_catalog.version_provider'
            - '@pim_installer.install_status_manager'
            - '%kernel.environment%'
        tags:
            - { name: pim_analytics.data_collector, type: update_checker }
            - { name: pim_analytics.data_collector, type: system_info_report }

    pim_analytics.data_collector.database:
        class: '%pim_analytics.data_collector.database.class%'
        arguments:
            - '@pim_volume_monitoring.persistence.query.count_channels'
            - '@pim_volume_monitoring.persistence.query.count_products'
            - '@pim_volume_monitoring.persistence.query.count_locales'
            - '@pim_volume_monitoring.persistence.query.count_families'
            - '@pim_volume_monitoring.persistence.query.count_attributes'
            - '@pim_volume_monitoring.persistence.query.count_users'
            - '@pim_volume_monitoring.persistence.query.count_product_models'
            - '@pim_volume_monitoring.persistence.query.count_variant_products'
            - '@pim_volume_monitoring.persistence.query.count_categories'
            - '@pim_volume_monitoring.persistence.query.count_category_trees'
            - '@pim_volume_monitoring.persistence.query.average_max_categories_in_one_category'
            - '@pim_volume_monitoring.persistence.query.average_max_category_levels'
            - '@pim_volume_monitoring.persistence.query.aggregated_count_product_and_product_model_values'
            - '@pim_volume_monitoring.persistence.query.aggregated_average_max_product_and_product_model_values'
            - '@pim_volume_monitoring.persistence.query.average_max_product_values_per_family'
            - '@pim_analytics.query.email_domains'
            - '@pim_analytics.query.api_connection_count'
            - '@pim_analytics.query.media_count'
            - '@pim_analytics.query.is_demo_catalog'
            - '@pim_analytics.query.active_event_subscription_count'
            - '@pim_analytics.query.get_connected_apps_identifiers'
        tags:
            - { name: pim_analytics.data_collector, type: update_checker }
            - { name: pim_analytics.data_collector, type: system_info_report }

    pim_analytics.data_collector.attribute:
        class: '%pim_analytics.data_collector.attribute.class%'
        arguments:
            - '@pim_volume_monitoring.persistence.query.count_attributes'
            - '@pim_volume_monitoring.persistence.query.count_localizable_attributes'
            - '@pim_volume_monitoring.persistence.query.count_scopable_attributes'
            - '@pim_volume_monitoring.persistence.query.count_localizable_and_scopable_attributes'
            - '@pim_volume_monitoring.persistence.query.count_useable_as_grid_filter_attributes'
            - '@pim_volume_monitoring.persistence.query.average_max_localizable_attributes_per_family'
            - '@pim_volume_monitoring.persistence.query.average_max_scopable_attributes_per_family'
            - '@pim_volume_monitoring.persistence.query.average_max_localizable_and_scopable_attributes_per_family'
            - '@pim_volume_monitoring.persistence.query.average_max_attributes_per_family'
        tags:
            - { name: pim_analytics.data_collector, type: system_info_report }

    pim_analytics.data_collector.operating_system:
        class: '%pim_analytics.data_collector.operating_system.class%'
        tags:
            - { name: pim_analytics.data_collector, type: update_checker }
            - { name: pim_analytics.data_collector, type: system_info_report }

    pim_analytics.data_collector.bundles:
        class: '%pim_analytics.data_collector.bundles.class%'
        arguments:
            - '%kernel.bundles%'
        tags:
            - { name: pim_analytics.data_collector, type: system_info_report }

    pim_analytics.data_collector.storage:
        class: '%pim_analytics.data_collector.storage.class%'
        arguments:
            - '@database_connection'
        tags:
            - { name: pim_analytics.data_collector, type: system_info_report }
