Merge pull request #57768 from nextcloud/backport/57765/stable33

[stable33] fix(openmetrics): Multiple exporters per app
This commit is contained in:
Joas Schilling 2026-01-24 14:18:42 +01:00 committed by GitHub
commit 6f1502ceca
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -63,13 +63,18 @@ class ExporterManager {
if (!isset($appInfo[self::XML_ENTRY]) || !is_array($appInfo[self::XML_ENTRY])) {
continue;
}
foreach ($appInfo[self::XML_ENTRY] as $classname) {
if (isset($this->skippedClasses[$classname])) {
continue;
}
$exporter = $this->loadExporter($classname, $appId);
if ($exporter !== null) {
yield $exporter;
foreach ($appInfo[self::XML_ENTRY] as $classEntries) {
// When multiple exporters are specified, $classEntries will be an array, instead of a string
$classnames = is_array($classEntries) ? $classEntries : [$classEntries];
foreach ($classnames as $classname) {
if (isset($this->skippedClasses[$classname])) {
continue;
}
$exporter = $this->loadExporter($classname, $appId);
if ($exporter !== null) {
yield $exporter;
}
}
}
}