Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save bfodeke/848013c4152c972e96ce32c9a46e8a3b to your computer and use it in GitHub Desktop.
Save bfodeke/848013c4152c972e96ce32c9a46e8a3b to your computer and use it in GitHub Desktop.
/**
* Implements hook_page_alter().
*/
function mymodule_page_alter(&$page) {
if (!extension_loaded('newrelic')) {
return;
}
$name = NULL;
// Look for a panel page...
$panel_page = page_manager_get_current_page();
if (isset($panel_page['name'])) {
// If it's a node page put the argument's node type into the transaction
// name.
if ($panel_page['name'] == 'node_view') {
if (isset($panel_page['contexts']['argument_entity_id:node_1']->data)) {
$node = $panel_page['contexts']['argument_entity_id:node_1']->data;
$name = 'page_manager_node_view_page/' . $node->type;
}
}
// If it's a page_manager page use the panel name.
else if ($panel_page['task']['task type'] == 'page') {
$name = 'page_manager_page_execute/' . $panel_page['name'];
}
}
else {
$menu_item = menu_get_item();
if ($menu_item['path'] == 'node/%') {
// Looks like panels didn't have a variant and it's falling back to
// node_page_view.
$name = 'node_page_view/' . $menu_item['page_arguments'][0]->type;
}
}
if ($name) {
newrelic_name_transaction($name);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment