Skip to content

Commit

Permalink
feat(profiler): Add support for profiler in occ commands
Browse files Browse the repository at this point in the history
Commands will appear in available profiles after the command ran.
Method is set to "occ" and URL to the command line with parameters.

Signed-off-by: Côme Chilliet <[email protected]>
  • Loading branch information
come-nc committed Jun 27, 2024
1 parent 01dbb8f commit 9a5ab73
Showing 1 changed file with 30 additions and 1 deletion.
31 changes: 30 additions & 1 deletion console.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@
require_once __DIR__ . '/lib/versioncheck.php';

use OC\Console\Application;
use OCP\AppFramework\Http\Response;
use OCP\Diagnostics\IEventLogger;
use OCP\IRequest;
use OCP\Profiler\IProfiler;
use Symfony\Component\Console\Input\ArgvInput;
use Symfony\Component\Console\Output\ConsoleOutput;

Expand Down Expand Up @@ -67,9 +71,34 @@ function exceptionHandler($exception) {
echo "Additionally the function 'pcntl_signal' and 'pcntl_signal_dispatch' need to be enabled in your php.ini." . PHP_EOL;
}

$eventLogger = \OCP\Server::get(IEventLogger::class);
$eventLogger->start('console:build_application', 'Build Application instance and load commands');

$application = \OCP\Server::get(Application::class);
$application->loadCommands(new ArgvInput(), new ConsoleOutput());
$application->run();

$eventLogger->end('console:build_application');
$eventLogger->start('console:run', 'Run the command');

$application->setAutoExit(false);
$exitCode = $application->run();

$eventLogger->end('console:run');

$profiler = \OCP\Server::get(IProfiler::class);
if ($profiler->isEnabled()) {
$eventLogger->end('runtime');
$profile = $profiler->collect(\OCP\Server::get(IRequest::class), new Response());
$profile->setMethod('occ');
$profile->setUrl(implode(' ', $argv));
$profiler->saveProfile($profile);
}

if ($exitCode > 255) {
$exitCode = 255;
}

exit($exitCode);
} catch (Exception $ex) {
exceptionHandler($ex);
} catch (Error $ex) {
Expand Down

0 comments on commit 9a5ab73

Please sign in to comment.