You are here

public function RoutingTransactionNameSubscriber::addTransactionNamesToRoutes in New Relic 2.x

Same name and namespace in other branches
  1. 8 src/EventSubscriber/RoutingTransactionNameSubscriber.php \Drupal\new_relic_rpm\EventSubscriber\RoutingTransactionNameSubscriber::addTransactionNamesToRoutes()
  2. 2.0.x src/EventSubscriber/RoutingTransactionNameSubscriber.php \Drupal\new_relic_rpm\EventSubscriber\RoutingTransactionNameSubscriber::addTransactionNamesToRoutes()

Add transaction names/callbacks to individual routes.

File

src/EventSubscriber/RoutingTransactionNameSubscriber.php, line 34

Class

RoutingTransactionNameSubscriber
Enhances routes with a transaction name or transaction name callback.

Namespace

Drupal\new_relic_rpm\EventSubscriber

Code

public function addTransactionNamesToRoutes(RouteBuildEvent $event) {
  $collection = $event
    ->getRouteCollection();

  // Set a transaction name for the route.
  foreach ($collection as $route_name => $route) {
    $route
      ->setDefault('_transaction_name', $route_name);
    if (substr_compare($route_name, 'entity.', 0)) {
      $route
        ->setDefault('_transaction_name_callback', [
        self::class,
        'entityBundleRouteTransactionName',
      ]);
    }
  }
  if ($route = $collection
    ->get('node.add')) {
    $route
      ->setDefault('_transaction_name_callback', [
      self::class,
      'nodeAddTransactionName',
    ]);
  }
}