Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Anwendungen, die die Leistung von Authentifizierungsflüssen in MSAL.js messen möchten, können dies manuell ausführen oder die von der Bibliothek selbst ergriffenen Leistungsmaßnahmen nutzen. Für die Nutzung von Leistungsmessungen müssen Sie den Performance-Client in den Telemetrie-Konfigurationsoptionen festlegen sowie ein Performance-Callback hinzufügen.
Festlegen des Telemetrieleistungsclients
import { PublicClientApplication, BrowserPerformanceClient } from "@azure/msal-browser";
const msalConfig = {
auth: {
...
},
cache: {
...
},
system: {
...
}
}
const msalInstance = new PublicClientApplication({
...msalConfig,
telemetry: {
client: new BrowserPerformanceClient(msalConfig)
}
});
msalInstance.initialize();
Leistungsrückruffunktion hinzufügen
Anwendungen können einen Rückruf registrieren, um Leistungsmessungen der Bibliothek zu erhalten. Diese Messungen umfassen End-to-End-Messungen für APIs der obersten Ebene sowie Messungen für wichtige interne APIs.
Hinweis für MSFT-Erstanbieter-Apps: Wir werden einen internen Build von @azure/msal-browser bereitstellen, der bereits zur Erfassung dieser Telemetriedaten instrumentiert ist. Wenden Sie sich an uns, um weitere Details zu erhalten.
Example
const msalInstance = new PublicClientApplication(config);
msalInstance.addPerformanceCallback((events: PerformanceEvent[]) => {
events.forEach(event => {
console.log(event);
});
});
Beispielereignis:
const event: PerformanceEvent = {
correlationId: "aaaa0000-bb11-2222-33cc-444444dddddd",
durationMs: 1873,
endPageVisibility: "hidden",
fromCache: false,
name: "acquireTokenSilent",
startPageVisibility: "visible",
startTimeMs: 1636414041888,
success: true,
silentCacheClientAcquireTokenDurationMs: 0,
silentRefreshClientAcquireTokenDurationMs: 150,
silentIframeClientAcquireTokenDurationMs: 0
cryptoOptsGetPublicKeyThumbprintDurationMs: 200,
cryptoOptsSignJwtDurationMs: 8,
clientId: "00001111-aaaa-2222-bbbb-3333cccc4444",
authority: "https://login.microsoftonline.com/common",
libraryName: "@azure/msal-browser-1p",
libraryVersion: "5.0.0",
appName: "my-application",
appVersion: "1.0.0"
}
Die vollständigen Details zu PerformanceEvents Objekten finden Sie hier. Nachfolgend finden Sie eine Liste einiger wichtiger Eigenschaften:
| Property | Typ | Description |
|---|---|---|
name |
string |
Der Name des Vorgangs entspricht in der Regel dem API-Namen der obersten Ebene (z. B. acquireTokenSilent, , acquireTokenByCodessoSilent). |
durationMs |
number |
Gesamtdauer des Vorgangs in Millisekunden. |
success |
boolean |
Ob der Vorgang erfolgreich war oder nicht. |
fromCache |
boolean |
Gibt an, ob der Vorgang das Ergebnis aus dem Cache abgerufen hat. |
correlationId |
string |
Korrelations-ID, die für den Vorgang verwendet wird (vorzugsweise eindeutig pro Anforderung). |
libraryVersion |
string |
Für den Vorgang verwendete MSAL.js-Version. |
authority |
string |
Für den Vorgang verwendete Autorität. |
<internalFunctionName>DurationMs |
number |
Dauer in Millisekunden für einen internen Vorgang. |
removePerformanceCallback
Die addPerformanceCallback API gibt eine Callback-ID zurück, die eine Anwendung an PublicClientApplication.removePerformanceCallback übergeben kann, um die Registrierung dieses Callbacks für den Empfang von Leistungsereignissen aufzuheben. Es wird ein boolescher Wert zurückgegeben, der angibt, ob der Rückruf erfolgreich entfernt wurde.
Example
const msalInstance = new PublicClientApplication(config);
const callbackId: string = msalInstance.addPerformanceCallback((events: PerformanceEvent[]) => {
events.forEach(event => {
console.log(event);
});
});
const removed: boolean = msalInstance.removePerformanceCallback(callbackId);
Messen der Browserleistung
Browserleistungsmessungen werden standardmäßig aufgrund eines erheblichen Leistungsaufwands deaktiviert, den sie auferlegen. Anwendungen, die bewirken möchten, dass Leistungsmessungen in der Performance-Zeitachse des Browsers erfasst werden, sollten:
- Öffnen von Browserentwicklertools
- Edge-, Chrome- und Firefox-Browser: Drücken Sie F12
- Safari: Öffnen Sie die Safari-Einstellungen (
Safari Menu>Preferences), wählen SieAdvanced Tabaus und aktivieren SieShow features for web developers. Sobald dieses Menü aktiviert ist, finden Sie die Entwicklerkonsole, indem Sie aufDevelop>Show Javascript Console
- Navigieren Sie zu
Session Storage: - Zieldomäne auswählen
- Fügen Sie den
msal.browser.performance.enabled-Schlüssel zuSession Storagehinzu, setzen Sie seinen Wert auf1, aktualisieren Sie die Seite und überprüfen Sie die Leistungszeitachse im Browser.