Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Toepassingen die de prestaties van verificatiestromen in MSAL.js willen meten, kunnen dit handmatig doen of de prestatiemetingen gebruiken die door de bibliotheek zelf zijn genomen. Voor het verwerken van prestatiemetingen moet u de performance-client instellen in de opties voor telemetrieconfiguratie en een performance-callback toevoegen.
Telemetrieprestatieclient instellen
import { PublicClientApplication, BrowserPerformanceClient } from "@azure/msal-browser";
const msalConfig = {
auth: {
...
},
cache: {
...
},
system: {
...
}
}
const msalInstance = new PublicClientApplication({
...msalConfig,
telemetry: {
client: new BrowserPerformanceClient(msalConfig)
}
});
msalInstance.initialize();
Callback voor prestaties toevoegen
Toepassingen kunnen een callback registreren om prestatiemetingen te ontvangen die door de bibliotheek zijn uitgevoerd. Deze meting omvat end-to-end metingen voor API's op het hoogste niveau, evenals metingen voor belangrijke interne API's.
Opmerking voor interne MSFT-toepassingen: We zullen een interne build van @azure/msal-browser publiceren die al is geïnstrumenteerd om deze telemetrie vast te leggen. Neem contact met ons op voor meer informatie.
Voorbeeld
const msalInstance = new PublicClientApplication(config);
msalInstance.addPerformanceCallback((events: PerformanceEvent[]) => {
events.forEach(event => {
console.log(event);
});
});
Voorbeeld van een gebeurtenis:
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"
}
De volledige details voor PerformanceEvents objecten vindt u hier. Hieronder ziet u een lijst met enkele belangrijke eigenschappen:
| Property | Type | Description |
|---|---|---|
name |
string |
De naam van de bewerking komt meestal overeen met de API-naam op het hoogste niveau (bijvoorbeeld acquireTokenSilent, acquireTokenByCode). ssoSilent |
durationMs |
number |
End-to-end-duur in milliseconden voor de bewerking. |
success |
boolean |
Of de bewerking is geslaagd of niet. |
fromCache |
boolean |
Of de bewerking het resultaat heeft opgehaald uit de cache. |
correlationId |
string |
Correlatie-id die wordt gebruikt voor de bewerking (bij voorkeur uniek per aanvraag). |
libraryVersion |
string |
Versie van MSAL.js gebruikt voor de bewerking. |
authority |
string |
Autoriteit die voor de handeling wordt gebruikt. |
<internalFunctionName>DurationMs |
number |
Duur in milliseconden voor een interne bewerking. |
removePerformanceCallback
De addPerformanceCallback API geeft een callback-id terug, die een applicatie kan doorgeven aan PublicClientApplication.removePerformanceCallback om de registratie van die callback voor het ontvangen van prestatiegebeurtenissen ongedaan te maken. Er wordt een Booleaanse waarde geretourneerd die aangeeft of de callback wel of niet is verwijderd.
Voorbeeld
const msalInstance = new PublicClientApplication(config);
const callbackId: string = msalInstance.addPerformanceCallback((events: PerformanceEvent[]) => {
events.forEach(event => {
console.log(event);
});
});
const removed: boolean = msalInstance.removePerformanceCallback(callbackId);
Browserprestaties meten
Browserprestatiemetingen zijn standaard uitgeschakeld vanwege aanzienlijke prestatie-overhead die ze opleggen. Toepassingen die prestatiemetingen willen inschakelen die zijn gerapporteerd aan de tijdlijn voor prestaties van de browser, moeten:
- Hulpprogramma's voor browserontwikkelaars openen
- Edge-, Chrome- en Firefox-browsers: druk op F12
- Safari: ga naar de voorkeuren van Safari (
Safari Menu>Preferences), selecteer hetAdvanced Taben schakel deze inShow features for web developers. Zodra dat menu is ingeschakeld, vindt u de ontwikkelaarsconsole door te klikken opDevelop>Show Javascript Console
- Ga naar
Session Storage: - Doeldomein selecteren
- Voeg sleutel toe
msal.browser.performance.enabledaanSession Storage, stel de waarde1in op, vernieuw de pagina en controleer de prestatietijdlijn van de browser.