Task/Collect/ServiceTagTypesCollector.php
protected function getCollectorServiceIds(\Symfony\Component\DependencyInjection\TaggedContainerInterface $container_builder) {
    // Get the details of all service collector services.
    // Note that the docs for this method are completely wrong.
    // Also, there are TWO possible tags for collectors, and the lazy version,
    // 'service_id_collector', doesn't specify any data such as the 'call'
    // property.
    $service_collectors_info = $container_builder->findTaggedServiceIds('service_collector');
    $service_id_collectors_info = $container_builder->findTaggedServiceIds('service_id_collector');

    array_walk($service_collectors_info, function(&$item) {
      $item['collector_type'] = 'service_collector';
    });
    array_walk($service_id_collectors_info, function(&$item) {
      $item['collector_type'] = 'service_id_collector';
    });

    // We're going to assume that there is no collecting service that uses BOTH
    // systems to collect two tags, that would be crazy.
    $collectors_info = $service_collectors_info + $service_id_collectors_info;

    // Filter for testing sample data collection.
    if (!empty($this->environment->sample_data_write)) {
      $collectors_info = array_intersect_key($collectors_info, $this->testingServiceCollectorNames);
    }

    return $collectors_info;
  }
protected function getCollectorServiceIds(\Symfony\Component\DependencyInjection\TaggedContainerInterface $container_builder) {
    // Get the details of all service collector services.
    // Note that the docs for this method are completely wrong.
    // Also, there are TWO possible tags for collectors, and the lazy version,
    // 'service_id_collector', doesn't specify any data such as the 'call'
    // property.
    $service_collectors_info = $container_builder->findTaggedServiceIds('service_collector');
    $service_id_collectors_info = $container_builder->findTaggedServiceIds('service_id_collector');

    array_walk($service_collectors_info, function(&$item) {
      $item['collector_type'] = 'service_collector';
    });
    array_walk($service_id_collectors_info, function(&$item) {
      $item['collector_type'] = 'service_id_collector';
    });

    // We're going to assume that there is no collecting service that uses BOTH
    // systems to collect two tags, that would be crazy.
    $collectors_info = $service_collectors_info + $service_id_collectors_info;

    // Filter for testing sample data collection.
    if (!empty($this->environment->sample_data_write)) {
      $collectors_info = array_intersect_key($collectors_info, $this->testingServiceCollectorNames);
    }

    return $collectors_info;
  }
protected function getCollectorServiceIds ( \ Symfony \ Component \ DependencyInjection \ TaggedContainerInterface $ container_builder ) { // Get the details of all service collector services. // Note that the docs for this method are completely wrong. // Also, there are TWO possible tags for collectors, and the lazy version, // 'service_id_collector', doesn't specify any data such as the 'call' // property. $ service_collectors_info = $ container_builder -> findTaggedServiceIds ( 'service_collector' ) ; $ service_id_collectors_info = $ container_builder -> findTaggedServiceIds ( 'service_id_collector' ) ; array_walk ( $ service_collectors_info , function ( & $ item ) { $ item [ 'collector_type' ] = 'service_collector' ; } ) ; array_walk ( $ service_id_collectors_info , function ( & $ item ) { $ item [ 'collector_type' ] = 'service_id_collector' ; } ) ; // We're going to assume that there is no collecting service that uses BOTH // systems to collect two tags, that would be crazy. $ collectors_info = $ service_collectors_info + $ service_id_collectors_info ; // Filter for testing sample data collection. if ( ! empty ( $ this -> environment -> sample_data_write ) ) { $ collectors_info = array_intersect_key ( $ collectors_info , $ this -> testingServiceCollectorNames ) ; } return $ collectors_info ; }
Gets the names of all service collector services from the container.

@param \Symfony\Component\DependencyInjection\TaggedContainerInterface $container_builder
The container.

@return string[]
An array of data about services. Structure is as follows:
@code
"path_processor_manager" => array:2 [
"collector_type" => "service_collector"
0 => array:2 [
"tag" => "path_processor_inbound"
"call" => "addInbound"
]
1 => array:2 [
"tag" => "path_processor_outbound"
"call" => "addOutbound"
]
]
@endcode
Gets the names of all service collector services from the container .