Page MenuHomePhabricator

D7601.diff
No OneTemporary

D7601.diff

Index: src/aphront/console/plugin/DarkConsoleServicesPlugin.php
===================================================================
--- src/aphront/console/plugin/DarkConsoleServicesPlugin.php
+++ src/aphront/console/plugin/DarkConsoleServicesPlugin.php
@@ -15,17 +15,36 @@
return 'Information about services.';
}
+ public static function getQueryAnalyzerHeader() {
+ return 'X-Phabricator-QueryAnalyzer';
+ }
+
+ public static function isQueryAnalyzerRequested() {
+ if (!empty($_REQUEST['__analyze__'])) {
+ return true;
+ }
+
+ $header = AphrontRequest::getHTTPHeader(self::getQueryAnalyzerHeader());
+ if ($header) {
+ return true;
+ }
+
+ return false;
+ }
+
/**
* @phutil-external-symbol class PhabricatorStartup
*/
public function generateData() {
+ $should_analyze = self::isQueryAnalyzerRequested();
+
$log = PhutilServiceProfiler::getInstance()->getServiceCallLog();
foreach ($log as $key => $entry) {
$config = idx($entry, 'config', array());
unset($log[$key]['config']);
- if (empty($_REQUEST['__analyze__'])) {
+ if (!$should_analyze) {
$log[$key]['explain'] = array(
'sev' => 7,
'size' => null,
@@ -139,7 +158,7 @@
'analyzeURI' => (string)$this
->getRequestURI()
->alter('__analyze__', true),
- 'didAnalyze' => isset($_REQUEST['__analyze__']),
+ 'didAnalyze' => $should_analyze,
);
}
Index: src/view/page/PhabricatorStandardPageView.php
===================================================================
--- src/view/page/PhabricatorStandardPageView.php
+++ src/view/page/PhabricatorStandardPageView.php
@@ -185,6 +185,9 @@
if (DarkConsoleXHProfPluginAPI::isProfilerStarted()) {
$headers[DarkConsoleXHProfPluginAPI::getProfilerHeader()] = 'page';
}
+ if (DarkConsoleServicesPlugin::isQueryAnalyzerRequested()) {
+ $headers[DarkConsoleServicesPlugin::getQueryAnalyzerHeader()] = true;
+ }
Javelin::initBehavior(
'dark-console',

File Metadata

Mime Type
text/plain
Expires
Sat, Dec 21, 11:44 PM (21 h, 2 m)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6916564
Default Alt Text
D7601.diff (2 KB)

Event Timeline