Start · Sprachen · PHP · Referenz · scoutapm_list_instrumented_functions

scoutapm_list_instrumented_functions

Funktion

Gibt ein Array aller Funktionen zurück, die von der ScoutAPM-PHP-Erweiterung instrumentiert werden.

Kategorie: misc

Signatur

scoutapm_list_instrumented_functions(): array

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

Typ
array
Beschreibung
Gibt ein assoziatives oder indiziertes Array zurück, das alle von ScoutAPM instrumentierten Funktionsnamen bzw. Klasse-Methode-Paare enthält.

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.';
}
Anzahl instrumentierter Funktionen: 42 ...

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;
    }
}
curl_exec wird von ScoutAPM überwacht.

// 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.