From 8fae1551b35d76ceb86ef1a96173ea255808d311 Mon Sep 17 00:00:00 2001
From: James Meickle <jmeickle@appneta.com>
Date: Tue, 26 Mar 2013 15:08:15 -0400
Subject: [PATCH] [drupal] Support profiling pre- and post- rendering in Panels.

---
 modules/tracelytics_early/tracelytics_early.module |   13 +++++++++++++
 modules/tracelytics_late/tracelytics_late.module   |   14 ++++++++++++++
 2 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/modules/tracelytics_early/tracelytics_early.module b/modules/tracelytics_early/tracelytics_early.module
index 2d94c69..59a6927 100644
--- a/modules/tracelytics_early/tracelytics_early.module
+++ b/modules/tracelytics_early/tracelytics_early.module
@@ -69,6 +69,19 @@ function tracelytics_early_views_pre_view(&$view, &$display_id, &$args) {
 function tracelytics_early_panels_pre_render($display, $renderer) {
   if (variable_get('tracelytics_layers', FALSE)) {
     oboe_log('drupal_panels', 'entry', array('Panel-Renderer' => $display->renderer, 'Panel-Layout' => $display->layout));
+    oboe_log('drupal_panels', 'profile_entry', array('ProfileName' => 'pre_render'));
+  }
+}
+
+/**
+ * Implements hook_panels_post_render().
+ *
+ * @param object $display
+ * @param object $renderer
+ */
+function tracelytics_early_panels_post_render($display, $renderer) {
+  if (variable_get('tracelytics_layers', FALSE)) {
+    oboe_log('drupal_panels', 'profile_entry', array('ProfileName' => 'post_render'));
   }
 }
 
diff --git a/modules/tracelytics_late/tracelytics_late.module b/modules/tracelytics_late/tracelytics_late.module
index 6917280..67ac2f7 100644
--- a/modules/tracelytics_late/tracelytics_late.module
+++ b/modules/tracelytics_late/tracelytics_late.module
@@ -50,6 +50,19 @@ function tracelytics_late_views_post_render(&$view, &$output, &$cache) {
 }
 
 /**
+ * Implements hook_panels_pre_render().
+ *
+ * @param object $display
+ * @param object $renderer
+ */
+
+function tracelytics_late_panels_pre_render($display, $renderer) {
+  if (variable_get('tracelytics_layers', FALSE)) {
+    oboe_log('drupal_panels', 'profile_exit', array('ProfileName' => 'pre_render'));
+  }
+}
+
+/**
  * Implements hook_panels_post_render().
  *
  * @param object $display
@@ -57,6 +70,7 @@ function tracelytics_late_views_post_render(&$view, &$output, &$cache) {
  */
 function tracelytics_late_panels_post_render($display, $renderer) {
   if (variable_get('tracelytics_layers', FALSE)) {
+    oboe_log('drupal_panels', 'profile_exit', array('ProfileName' => 'post_render'));
     oboe_log('drupal_panels', 'exit', array('Panel-Renderer' => $display->renderer, 'Panel-Layout' => $display->layout));
   }
 }
-- 
1.7.0.4

