fix(openmetrics): Multiple exporters per app

Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
This commit is contained in:
Marcel Müller 2026-01-23 17:35:38 +01:00 committed by backportbot[bot]
parent 1e66afdf0e
commit e371926c8a

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;
}
}
}
}