Created
January 5, 2017 15:45
-
-
Save bfodeke/47804cbea9fa95cc90d40d5a09229cd4 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Implements hook_page_alter(). | |
* | |
* We want to provide more detail to New Relic on the transaction and late in | |
* the page build seemed like the simplest place. | |
*/ | |
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. | |
elseif ($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; | |
} | |
} | |
// Add that name to list of transactions on newrelic. | |
if ($name) { | |
newrelic_name_transaction($name); | |
} | |
} | |
/** | |
* Implements hook_form_alter(). | |
* | |
* Give more detailed reports as to which forms are taking the longest to | |
* load. | |
*/ | |
function MYMODULE_form_alter(&$form, &$form_state, $form_id) { | |
if (!extension_loaded('newrelic')) { | |
return; | |
} | |
$name = 'drupal_get_form/' . $form_id; | |
newrelic_name_transaction($name); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment