Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le applicazioni che vogliono misurare le prestazioni dei flussi di autenticazione in MSAL.js possono farlo manualmente o utilizzare le misure di prestazioni adottate dalla libreria stessa. Per utilizzare le misurazioni delle prestazioni, è necessario impostare il client per le prestazioni nelle opzioni di configurazione della telemetria e aggiungere il callback per le prestazioni.
Imposta il client per le prestazioni di telemetria
import { PublicClientApplication, BrowserPerformanceClient } from "@azure/msal-browser";
const msalConfig = {
auth: {
...
},
cache: {
...
},
system: {
...
}
}
const msalInstance = new PublicClientApplication({
...msalConfig,
telemetry: {
client: new BrowserPerformanceClient(msalConfig)
}
});
msalInstance.initialize();
Aggiungi il callback per le prestazioni
Le applicazioni possono registrare un callback per ricevere le misurazioni delle prestazioni eseguite dalla libreria. Queste misurazioni includono misurazioni end-to-end per le API di primo livello, nonché misurazioni per api interne importanti.
Nota per le applicazioni MSFT first-party: pubblicheremo una build interna di @azure/msal-browser già predisposta per raccogliere questi dati di telemetria. Per altri dettagli, contattare Microsoft.
Example
const msalInstance = new PublicClientApplication(config);
msalInstance.addPerformanceCallback((events: PerformanceEvent[]) => {
events.forEach(event => {
console.log(event);
});
});
Esempio di evento:
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"
}
I dettagli completi per PerformanceEvents gli oggetti sono disponibili qui. Di seguito è riportato un elenco di alcune proprietà rilevanti:
| Property | Tipo | Description |
|---|---|---|
name |
string |
Il nome dell'operazione, in genere corrisponde al nome dell'API di primo livello ( ad esempio acquireTokenSilent, acquireTokenByCode, ssoSilent). |
durationMs |
number |
Durata complessiva dell'operazione in millisecondi. |
success |
boolean |
Indica se l'operazione ha avuto esito positivo o negativo. |
fromCache |
boolean |
Indica se l'operazione ha recuperato il risultato dalla cache. |
correlationId |
string |
ID di correlazione usato per l'operazione (preferibilmente univoco per richiesta). |
libraryVersion |
string |
Versione di MSAL.js utilizzata per l'operazione. |
authority |
string |
Autorità utilizzata per l'operazione. |
<internalFunctionName>DurationMs |
number |
Durata in millisecondi per un'operazione interna. |
removePerformanceCallback
L'API addPerformanceCallback restituirà un ID di callback, che un'applicazione può passare a PublicClientApplication.removePerformanceCallback per annullare la registrazione del callback dalla ricezione di eventi di prestazioni. Restituisce un valore booleano che indica se il callback è stato rimosso correttamente.
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);
Misurazione delle prestazioni del browser
Le misurazioni delle prestazioni del browser sono disabilitate per impostazione predefinita a causa di un notevole sovraccarico delle prestazioni imposto. Le applicazioni che vogliono abilitare le misurazioni delle prestazioni segnalate nella sequenza temporale delle prestazioni del browser devono:
- Aprire gli strumenti di sviluppo del browser
- Browser Edge, Chrome e Firefox: premere F12
- Safari: passare alle preferenze di Safari (
Safari Menu>Preferences), selezionare e abilitareAdvanced TabShow features for web developers. Dopo aver abilitato il menu, sarà disponibile la console per sviluppatori facendo clic suDevelop>Show Javascript Console
- Passare a
Session Storage: - Selezionare il dominio di destinazione
- Aggiungere la chiave
msal.browser.performance.enabledaSession Storage, impostarne il valore su1, aggiornare la pagina e controllare la timeline delle prestazioni del browser.