mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
feat(openmetrics): add log level
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
This commit is contained in:
parent
d9d1d04e2e
commit
4da7137278
5 changed files with 68 additions and 0 deletions
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ class ExporterManager {
|
|||
Exporters\AppsInfo::class,
|
||||
Exporters\AppsCount::class,
|
||||
Exporters\Maintenance::class,
|
||||
Exporters\LogLevel::class,
|
||||
|
||||
// File exporters
|
||||
Exporters\FilesByType::class,
|
||||
|
|
|
|||
44
lib/private/OpenMetrics/Exporters/LogLevel.php
Normal file
44
lib/private/OpenMetrics/Exporters/LogLevel.php
Normal 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));
|
||||
}
|
||||
}
|
||||
21
tests/lib/OpenMetrics/Exporters/LogLevelTest.php
Normal file
21
tests/lib/OpenMetrics/Exporters/LogLevelTest.php
Normal 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));
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue