Merge pull request #57792 from nextcloud/backport/57759/stable33

[stable33] feat(openmetrics): add log level
This commit is contained in:
Andy Scherzinger 2026-01-25 23:05:25 +01:00 committed by GitHub
commit 0b168dc5b9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 68 additions and 0 deletions

View file

@ -1939,6 +1939,7 @@ return array(
'OC\\OpenMetrics\\Exporters\\Cached' => $baseDir . '/lib/private/OpenMetrics/Exporters/Cached.php',
'OC\\OpenMetrics\\Exporters\\FilesByType' => $baseDir . '/lib/private/OpenMetrics/Exporters/FilesByType.php',
'OC\\OpenMetrics\\Exporters\\InstanceInfo' => $baseDir . '/lib/private/OpenMetrics/Exporters/InstanceInfo.php',
'OC\\OpenMetrics\\Exporters\\LogLevel' => $baseDir . '/lib/private/OpenMetrics/Exporters/LogLevel.php',
'OC\\OpenMetrics\\Exporters\\Maintenance' => $baseDir . '/lib/private/OpenMetrics/Exporters/Maintenance.php',
'OC\\OpenMetrics\\Exporters\\RunningJobs' => $baseDir . '/lib/private/OpenMetrics/Exporters/RunningJobs.php',
'OC\\OpenMetrics\\Exporters\\UsersByBackend' => $baseDir . '/lib/private/OpenMetrics/Exporters/UsersByBackend.php',

View file

@ -1980,6 +1980,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OC\\OpenMetrics\\Exporters\\Cached' => __DIR__ . '/../../..' . '/lib/private/OpenMetrics/Exporters/Cached.php',
'OC\\OpenMetrics\\Exporters\\FilesByType' => __DIR__ . '/../../..' . '/lib/private/OpenMetrics/Exporters/FilesByType.php',
'OC\\OpenMetrics\\Exporters\\InstanceInfo' => __DIR__ . '/../../..' . '/lib/private/OpenMetrics/Exporters/InstanceInfo.php',
'OC\\OpenMetrics\\Exporters\\LogLevel' => __DIR__ . '/../../..' . '/lib/private/OpenMetrics/Exporters/LogLevel.php',
'OC\\OpenMetrics\\Exporters\\Maintenance' => __DIR__ . '/../../..' . '/lib/private/OpenMetrics/Exporters/Maintenance.php',
'OC\\OpenMetrics\\Exporters\\RunningJobs' => __DIR__ . '/../../..' . '/lib/private/OpenMetrics/Exporters/RunningJobs.php',
'OC\\OpenMetrics\\Exporters\\UsersByBackend' => __DIR__ . '/../../..' . '/lib/private/OpenMetrics/Exporters/UsersByBackend.php',

View file

@ -37,6 +37,7 @@ class ExporterManager {
Exporters\AppsInfo::class,
Exporters\AppsCount::class,
Exporters\Maintenance::class,
Exporters\LogLevel::class,
// File exporters
Exporters\FilesByType::class,

View file

@ -0,0 +1,44 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OC\OpenMetrics\Exporters;
use Generator;
use OCP\IConfig;
use OCP\ILogger;
use OCP\OpenMetrics\IMetricFamily;
use OCP\OpenMetrics\Metric;
use OCP\OpenMetrics\MetricType;
class LogLevel implements IMetricFamily {
public function __construct(
private IConfig $config,
) {
}
public function name(): string {
return 'log_level';
}
public function type(): MetricType {
return MetricType::gauge;
}
public function unit(): string {
return '';
}
public function help(): string {
return 'Current log level (lower level means more logs)';
}
public function metrics(): Generator {
yield new Metric((int)$this->config->getSystemValue('loglevel', ILogger::WARN));
}
}

View file

@ -0,0 +1,21 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace Test\OpenMetrics\Exporters;
use OC\OpenMetrics\Exporters\LogLevel;
use OCP\IConfig;
use OCP\OpenMetrics\IMetricFamily;
use OCP\Server;
class LogLevelTest extends ExporterTestCase {
protected function getExporter():IMetricFamily {
return new LogLevel(Server::get(IConfig::class));
}
}