php-profiler icon indicating copy to clipboard operation
php-profiler copied to clipboard

cumulative counts are off

Open dadamssg opened this issue 3 years ago • 2 comments

I'm running this within a php 8.1 alpine docker image and noticed that the cumulative counts are way off.

image

I'm using the Profiler::PROFILER_TIDEWAYS_XHPROF profiler.

        $builtIns = (int) ($_GET['xhprof_builtins'] ?? 0);

        $flags = [
            ProfilingFlags::CPU,
            ProfilingFlags::MEMORY,
            ProfilingFlags::NO_SPANS,
            ProfilingFlags::NO_BUILTINS
        ];

        if ($builtIns === 1) {
            unset($flags[3]);
        }

        $profiler = new \Xhgui\Profiler\Profiler([
            'profiler' => Profiler::PROFILER_TIDEWAYS_XHPROF,
            'profiler.enable' => function () {
                $queryToken = $_ENV['XHPROF_QUERY_TOKEN'] ?? null;
                $incomingToken = $_GET['xhprof'] ?? null;
                return !empty($queryToken) && $incomingToken === $queryToken;
            },
            'profiler.flags' => $flags,
            'save.handler' => \Xhgui\Profiler\Profiler::SAVER_UPLOAD,
            'save.handler.upload' => array(
                'url' => $_ENV['XHGUI_HOST'] . '/run/import',
                'timeout' => 3,
                'token' => $_ENV['XHGUI_UPLOAD_TOKEN'],
            ),
        ]);

dadamssg avatar Oct 20 '22 18:10 dadamssg

https://github.com/perftools/php-profiler is just a helper to capture profiling data from the extension, encapsulate and send it to xhgui.

your problem is either in the profiler:

  • https://github.com/tideways/php-xhprof-extension

or the GUI:

  • https://github.com/perftools/xhgui

You should probably use the FILE saver to save data from the extension to json and check if the json is incorrect:

  • https://github.com/perftools/php-profiler#file-saver

glensc avatar Oct 20 '22 23:10 glensc