Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las aplicaciones que quieran medir el rendimiento de los flujos de autenticación en MSAL.js pueden hacerlo manualmente o consumir las medidas de rendimiento tomadas por la propia biblioteca. Para obtener mediciones de rendimiento es necesario configurar el cliente de rendimiento en opciones de configuración de telemetría y añadir una llamada de retorno de rendimiento.
Configurar el cliente de rendimiento de telemetría
import { PublicClientApplication, BrowserPerformanceClient } from "@azure/msal-browser";
const msalConfig = {
auth: {
...
},
cache: {
...
},
system: {
...
}
}
const msalInstance = new PublicClientApplication({
...msalConfig,
telemetry: {
client: new BrowserPerformanceClient(msalConfig)
}
});
msalInstance.initialize();
Añadir llamada de retorno de rendimiento
Las aplicaciones pueden registrar una llamada de retorno para recibir las mediciones de rendimiento realizadas por la biblioteca. Estas medidas incluirán medidas de un extremo a otro para las API de nivel superior, así como medidas para las API internas importantes.
Nota para las aplicaciones propias de MSFT: publicaremos una compilación interna de @azure/msal-browser que ya está instrumentada para capturar esta telemetría. Póngase en contacto con nosotros para obtener más información.
Example
const msalInstance = new PublicClientApplication(config);
msalInstance.addPerformanceCallback((events: PerformanceEvent[]) => {
events.forEach(event => {
console.log(event);
});
});
Evento de ejemplo:
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"
}
Puede encontrar aquí los detalles completos sobre los objetos PerformanceEvents. A continuación se muestra una lista de algunas propiedades importantes:
| Property | Tipo | Description |
|---|---|---|
name |
string |
Nombre de la operación, normalmente coincide con el nombre de LA API de nivel superior (por ejemplo acquireTokenSilent, , acquireTokenByCode, ssoSilent). |
durationMs |
number |
Duración de un extremo a otro en milisegundos para la operación. |
success |
boolean |
Indica si la operación se realizó correctamente o no. |
fromCache |
boolean |
Indica si la operación recuperó el resultado de la memoria caché. |
correlationId |
string |
Id. de correlación usado para la operación (preferiblemente único por solicitud). |
libraryVersion |
string |
Versión de MSAL.js usada para la operación. |
authority |
string |
Autoridad usada para la operación. |
<internalFunctionName>DurationMs |
number |
Duración en milisegundos para una operación interna. |
removePerformanceCallback
La addPerformanceCallback API devolverá un identificador de callback que una aplicación puede pasar a PublicClientApplication.removePerformanceCallback para dar de baja esa callback y hacer que deje de recibir eventos de rendimiento. Devolverá un valor booleano que indica si el callback se eliminó correctamente o no.
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);
Medición del rendimiento del explorador
Las medidas de rendimiento del explorador están deshabilitadas de forma predeterminada debido a una sobrecarga significativa de rendimiento que imponen. Las aplicaciones que quieran habilitar las medidas de rendimiento notificadas a la escala de tiempo de rendimiento del explorador deben:
- Abrir las herramientas de desarrollo del explorador
- Exploradores Edge, Chrome y Firefox: presione F12
- Safari: vaya a las preferencias de Safari (
Safari Menu>Preferences), seleccioneAdvanced Taby habiliteShow features for web developers. Una vez habilitado ese menú, encontrará la consola del desarrollador haciendo clic enDevelop>Show Javascript Console
- Vaya a
Session Storage: - Selección del dominio de destino
- Añada la clave
msal.browser.performance.enabledaSession Storage, establezca su valor en1, actualice la página y compruebe la cronología de rendimiento del navegador.