Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aplikacje, które chcą mierzyć wydajność przepływów uwierzytelniania w MSAL.js, mogą to zrobić ręcznie lub korzystać z miar wydajności podjętych przez samą bibliotekę. Korzystanie z pomiarów wydajności wymaga skonfigurowania klienta wydajności w opcjach konfiguracji telemetrii oraz dodania funkcji wywołania zwrotnego wydajności.
Ustaw klienta telemetrii wydajnościowej
import { PublicClientApplication, BrowserPerformanceClient } from "@azure/msal-browser";
const msalConfig = {
auth: {
...
},
cache: {
...
},
system: {
...
}
}
const msalInstance = new PublicClientApplication({
...msalConfig,
telemetry: {
client: new BrowserPerformanceClient(msalConfig)
}
});
msalInstance.initialize();
Dodaj funkcję zwrotną wydajności
Aplikacje mogą zarejestrować wywołanie zwrotne w celu odbierania pomiarów wydajności wykonanych przez bibliotekę. Pomiary te obejmują kompleksowe pomiary interfejsów API najwyższego poziomu, a także pomiary ważnych wewnętrznych interfejsów API.
Uwaga dotycząca aplikacji własnych firmy MSFT: udostępnimy wewnętrzną kompilację @azure/msal-browser, która jest już wyposażona w mechanizmy do zbierania tych danych telemetrycznych. Aby uzyskać więcej informacji, skontaktuj się z nami.
Przykład
const msalInstance = new PublicClientApplication(config);
msalInstance.addPerformanceCallback((events: PerformanceEvent[]) => {
events.forEach(event => {
console.log(event);
});
});
Przykładowe zdarzenie:
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"
}
Szczegółowe informacje dotyczące PerformanceEvents obiektów można znaleźć tutaj. Poniżej znajduje się lista niektórych godnych uwagi właściwości:
| Property | Typ | Description |
|---|---|---|
name |
string |
Nazwa operacji zwykle odpowiada nazwie interfejsu API najwyższego poziomu (np. acquireTokenSilent, acquireTokenByCode). ssoSilent |
durationMs |
number |
Całkowity czas trwania operacji w milisekundach. |
success |
boolean |
Czy operacja zakończyła się pomyślnie, czy nie. |
fromCache |
boolean |
Czy operacja pobrała wynik z pamięci podręcznej. |
correlationId |
string |
Identyfikator korelacji używany do operacji (najlepiej unikatowy na żądanie). |
libraryVersion |
string |
Wersja MSAL.js używana do operacji. |
authority |
string |
Uprawnienie użyte do wykonania operacji. |
<internalFunctionName>DurationMs |
number |
Czas trwania w milisekundach dla operacji wewnętrznej. |
removePerformanceCallback
Interfejs API addPerformanceCallback zwróci identyfikator funkcji wywołania zwrotnego, który aplikacja może przekazać do PublicClientApplication.removePerformanceCallback, aby wyrejestrować tę funkcję wywołania zwrotnego z odbierania zdarzeń związanych z wydajnością. Zwróci wartość logiczną wskazującą, czy wywołanie zwrotne zostało pomyślnie usunięte.
Przykład
const msalInstance = new PublicClientApplication(config);
const callbackId: string = msalInstance.addPerformanceCallback((events: PerformanceEvent[]) => {
events.forEach(event => {
console.log(event);
});
});
const removed: boolean = msalInstance.removePerformanceCallback(callbackId);
Mierzenie wydajności przeglądarki
Pomiary wydajności przeglądarki są domyślnie wyłączone, ponieważ powodują znaczny narzut na wydajność. Aplikacje, które chcą włączyć pomiary wydajności zgłaszane do osi czasu wydajności przeglądarki, powinny:
- Otwórz narzędzia deweloperskie przeglądarki
- Przeglądarki Edge, Chrome i Firefox: naciśnij klawisz F12
- Safari: przejdź do preferencji przeglądarki Safari (
Safari Menu>Preferences), wybierz pozycjęAdvanced Tabi włącz .Show features for web developersPo włączeniu tego menu znajdziesz konsolę dewelopera, klikając pozycjęDevelop>Show Javascript Console
- Przejdź do
Session Storage: - Wybieranie domeny docelowej
- Dodaj klucz
msal.browser.performance.enableddoSession Storage, ustaw jego wartość na1, odśwież stronę i sprawdź oś czasu wydajności w przeglądarce.