Chassis / Chassis_XHGui

A Chassis extension to install and setup XHGui on your server
1 stars 2 forks source link

Missing step to start profiling? #11

Closed joemcgill closed 6 years ago

joemcgill commented 6 years ago

First off, this is bonkers cool.

I got this set up on a project that is using a custom hostname and path (i.e., chassis in a subdirectory). I've got XHGui available at http://custom-path.local/chassis/xhgui, but it doesn't seem to be getting any data.

screen shot 2018-08-16 at 2 22 40 pm

Is there a missing step I need to take to begin profiling? And if so, can we update the README to include that step?

BronsonQuick commented 6 years ago

Let me double check this setup with another custom path for you today.

The things that spring to mind initially looking at this is that maybe local-config-extensions.php isn't including:

if ( file_exists( __DIR__ . '/extensions/cavalcade/local-config.php' ) )
    require_once __DIR__ . '/extensions/cavalcade/local-config.php

Which should bring in a file that does:

if ( file_exists( __DIR__ . '/xhgui/external/header.php' ) ) {
    require_once __DIR__ . '/xhgui/external/header.php';
}

Which should start the profiling for you.

Also could you please check that the extension created /extensions/chassis-xhgui/xhgui/config/config.php for you as that contains all the settings. Specially the bit in that file that profiles every request is:

    'profiler.enable' => function() {
        return true;
    },

Thanks for the bug report. I'll get some coffees into me and start digging into this myself!

joemcgill commented 6 years ago

Thanks B. local-config-extensions.php seems fine (I assume you meant to paste in the xhgui config path and not cavalcade above, but ☕️ ☕️)

Here's that file:

// This is generated automatically by Puppet. Edit at your own risk.

if ( file_exists( __DIR__ . '/extensions/query-monitor/local-config.php' ) )
        require_once __DIR__ . '/extensions/query-monitor/local-config.php';

if ( file_exists( __DIR__ . '/extensions/xdebug/local-config.php' ) )
        require_once __DIR__ . '/extensions/xdebug/local-config.php';

if ( file_exists( __DIR__ . '/extensions/phpcs/local-config.php' ) )
        require_once __DIR__ . '/extensions/phpcs/local-config.php';

if ( file_exists( __DIR__ . '/extensions/sequelpro/local-config.php' ) )
        require_once __DIR__ . '/extensions/sequelpro/local-config.php';

if ( file_exists( __DIR__ . '/extensions/xhprof/local-config.php' ) )
        require_once __DIR__ . '/extensions/xhprof/local-config.php';

if ( file_exists( __DIR__ . '/extensions/example/local-config.php' ) )
        require_once __DIR__ . '/extensions/example/local-config.php';

if ( file_exists( __DIR__ . '/extensions/memcache/local-config.php' ) )
        require_once __DIR__ . '/extensions/memcache/local-config.php';

if ( file_exists( __DIR__ . '/extensions/tester/local-config.php' ) )
        require_once __DIR__ . '/extensions/tester/local-config.php';

if ( file_exists( __DIR__ . '/extensions/mailhog/local-config.php' ) )
        require_once __DIR__ . '/extensions/mailhog/local-config.php';

if ( file_exists( __DIR__ . '/extensions/chassis-xhgui/local-config.php' ) )
        require_once __DIR__ . '/extensions/chassis-xhgui/local-config.php';

if ( file_exists( __DIR__ . '/extensions/cavalcade/local-config.php' ) )
        require_once __DIR__ . '/extensions/cavalcade/local-config.php';

If I do cat ./extensions/chassis-xhgui/local-config.php' from that location, I get this:

<?php
if ( file_exists( __DIR__ . '/xhgui/external/header.php' ) ) {
    require_once __DIR__ . '/xhgui/external/header.php';
}

If I cat that file, I see this:

<?php
// Use the config directory defined in the xhgui application.
define('XHGUI_CONFIG_DIR', dirname(__DIR__) . '/config/');

//Include autoload
require_once dirname(__DIR__) . '/vendor/autoload.php';

// Include collector script.
require_once dirname(__DIR__) . '/vendor/chassis/xhgui-collector/external/header.php';

Everything seems to be working correctly and mongodb is up and running.

I see a few of these in my error log, not sure if it's related:

PHP Fatal error:  require_once(): Failed opening required '/chassis/.config/load.php' (include_path='.:/usr/share/php') in /vagrant/local-config.php on line 2

One thing to note, when I first tried firing this up, I had the query-monitor extension loaded and got a fatal error during the initial provision, I've since removed the query-monitor extension and re-provisioned, but it's still not working.