Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os aplicativos que desejam medir o desempenho dos fluxos de autenticação no MSAL.js podem fazer isso manualmente ou consumir as medidas de desempenho tomadas pela própria biblioteca. Para consumir medições de desempenho, é necessário configurar o cliente de desempenho nas opções de configuração de telemetria e adicionar um callback de desempenho.
Definir o cliente de desempenho de 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();
Adicionar retorno de chamada de desempenho
Os aplicativos podem registrar uma função de callback para receber medições de desempenho realizadas pela biblioteca. Essas medidas incluirão medidas de ponta a ponta para APIs de nível superior, bem como medidas para APIs internas importantes.
Observação para aplicativos proprietários da MSFT: publicaremos um build interno de @azure/msal-browser já instrumentado para capturar essa telemetria. Entre em contato conosco para obter mais detalhes.
Example
const msalInstance = new PublicClientApplication(config);
msalInstance.addPerformanceCallback((events: PerformanceEvent[]) => {
events.forEach(event => {
console.log(event);
});
});
Evento de exemplo:
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"
}
Os detalhes completos dos PerformanceEvents objetos podem ser encontrados aqui. Veja abaixo uma lista de algumas propriedades notáveis:
| Property | Tipo | Description |
|---|---|---|
name |
string |
Nome da operação, geralmente corresponde ao nome da API de nível superior (por exemploacquireTokenSilent, , acquireTokenByCode, ). ssoSilent |
durationMs |
number |
Duração total da operação em milissegundos. |
success |
boolean |
Se a operação foi bem-sucedida ou não. |
fromCache |
boolean |
Se a operação recuperou o resultado do cache. |
correlationId |
string |
ID de correlação usada para a operação (preferencialmente exclusiva por solicitação). |
libraryVersion |
string |
Versão de MSAL.js usada para a operação. |
authority |
string |
Autoridade usada para a operação. |
<internalFunctionName>DurationMs |
number |
Duração em milissegundos para uma operação interna. |
removePerformanceCallback
A API addPerformanceCallback retornará uma ID de callback, que um aplicativo pode passar para PublicClientApplication.removePerformanceCallback para cancelar o registro desse callback, para que ele deixe de receber eventos de desempenho. Ele retornará um booleano indicando se o callback foi removido com sucesso ou não.
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);
Medindo o desempenho do navegador
As medidas de desempenho do navegador são desabilitadas por padrão devido à sobrecarga de desempenho significativa imposta. Os aplicativos que desejam habilitar as medidas de desempenho relatadas à linha do tempo de desempenho do navegador devem:
- Abrir ferramentas de desenvolvedor do navegador
- Navegadores Edge, Chrome e Firefox: pressione F12
- Safari: acesse as preferências do Safari (
Safari Menu>Preferences), selecioneAdvanced Tabe habiliteShow features for web developers. Depois que esse menu estiver habilitado, você encontrará o console do desenvolvedor clicando emDevelop>Show Javascript Console
- Navegue até
Session Storage: - Selecionar domínio de destino
- Adicione a chave
msal.browser.performance.enabledaSession Storage, defina seu valor como1, atualize a página e verifique a linha do tempo de desempenho no navegador.