Signatur
Beschreibung
scoutapm_list_instrumented_functions() ist eine Hilfsfunktion der ScoutAPM-PHP-Erweiterung (scoutapm). Sie liefert eine vollständige Liste aller PHP-Funktionen und -Methoden, die die Erweiterung automatisch überwacht und für das Application Performance Monitoring (APM) aufzeichnet.
Die Funktion ist nützlich, um während der Entwicklung oder Konfiguration zu prüfen, welche Funktionsaufrufe von ScoutAPM automatisch gemessen werden – zum Beispiel Datenbankabfragen, Dateioperationen oder Curl-Anfragen. So lässt sich schnell feststellen, ob eine bestimmte Funktion bereits instrumentiert ist oder ob manuelle Tracing-Aufrufe notwendig sind.
Das zurückgegebene Array ist typischerweise nach Funktionsnamen bzw. Klassen-/Methoden-Paaren strukturiert und spiegelt den Stand der installierten Erweiterungsversion wider. Die Liste kann je nach Version der Erweiterung variieren.
Diese Funktion steht nur zur Verfügung, wenn die PHP-Erweiterung scoutapm geladen ist. Ohne die Erweiterung ist die Funktion nicht definiert und ein Aufruf führt zu einem fatalen Fehler.
Rückgabewert
Beispiele
Alle instrumentierten Funktionen ausgeben
<?php
// Prüfen, ob die scoutapm-Erweiterung geladen ist
if (function_exists('scoutapm_list_instrumented_functions')) {
$functions = scoutapm_list_instrumented_functions();
echo 'Anzahl instrumentierter Funktionen: ' . count($functions) . PHP_EOL;
foreach ($functions as $key => $value) {
echo $key . ' => ' . (is_array($value) ? implode(', ', $value) : $value) . PHP_EOL;
}
} else {
echo 'ScoutAPM-Erweiterung ist nicht geladen.';
}
Prüfen, ob eine bestimmte Funktion instrumentiert ist
<?php
if (function_exists('scoutapm_list_instrumented_functions')) {
$instrumented = scoutapm_list_instrumented_functions();
// Prüfen ob 'curl_exec' in der Liste enthalten ist
$flat = array_values($instrumented);
if (in_array('curl_exec', $flat, true)) {
echo 'curl_exec wird von ScoutAPM überwacht.' . PHP_EOL;
} else {
echo 'curl_exec ist NICHT instrumentiert — manuelles Tracing empfohlen.' . PHP_EOL;
}
}
// Wichtig · Fallstricke
Voraussetzung: Die Funktion existiert nur, wenn die PECL-Erweiterung scoutapm installiert und in der php.ini aktiviert ist (extension=scoutapm.so). Vor dem Aufruf sollte immer function_exists('scoutapm_list_instrumented_functions') geprüft werden, um einen fatalen Fehler zu vermeiden.
Die genaue Struktur des zurückgegebenen Arrays (flach, assoziativ, verschachtelt) ist von der Version der Erweiterung abhängig und nicht Teil einer stabilen API. Die Ausgabe sollte daher nicht ohne Weiteres für produktiven Steuerungs-Code verwendet werden.