Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Os dados de desempenho relacionados com os carregamentos de página e os pedidos de rede de saída da Interface Unificada (UCI) estão disponíveis para aplicações condicionadas por modelo.
Que tipo de carregamentos de página estão disponíveis?
| Tipo | Dados de desempenho e diagnóstico disponíveis |
|---|---|
| Carregamento do Dashboard (UCI) – Browser | Sim |
| Carregamento do Dashboard (UCI) – Incorporado | Sim |
| Carregamento do Dashboard (UCI) – MobileApplication | Sim |
| Carregamento do Dashboard (UCI) – MailApp | Sim |
| Carregamento do Dashboard (UCI) – MobileApplication | Sim |
| Carregamento do EditForm (UCI) – Browser | Sim |
| Carregamento do EditForm (UCI) – Incorporado | Sim |
| Carregamento do EditForm (UCI) – MailApp | Sim |
| Carregamento do EditForm (UCI) – MobileApplication | Sim |
| Carregamento do EntityList (UCI) – Browser | Sim |
| Carregamento do EntityList (UCI) – Incorporado | Sim |
| Carregamento do EntityList (UCI) – MailApp | Sim |
| Carregamento do EntityList (UCI) – MobileApplication | Sim |
| Iniciar Aplicação – (UCI) – Browser | Sim |
| Iniciar Aplicação – (UCI) – Incorporado | Sim |
| Iniciar Aplicação – (UCI) – MailApp | Sim |
| Iniciar Aplicação – (UCI) – MobileApplication | Sim |
| Carregamento do QuickCreateForm (UCI) – Browser | Sim |
| Carregamento do QuickCreateForm (UCI) – Incorporado | Sim |
| Carregamento do QuickCreateForm (UCI) – MailApp | Sim |
| Carregamento do QuickCreateForm (UCI) – MobileApplication | Sim |
| SaveForm | Atualmente não disponível |
| Ações CommandButton | Atualmente não disponível |
Onde estão disponíveis os dados de carregamento da página?
Estes dados vão para a tabela pageViews no Application Insights. Uma entrada é registada sempre que um utilizador carrega uma página na Interface Unificada. Os dados registados incluem apenas carregamentos "limpos". Os carregamentos cuja duração não possa ser medida com precisão—navegação rápida, afastando-se da aplicação, uma mensagem de alerta—não são incluídos. Por isso, recomendamos que não utilize estes dados para números precisos relacionados com a análise de utilização.
Existem outras propriedades em customDimensions que fornecem mais detalhes para os carregamentos de página da Interface Unificada. Por exemplo, esta consulta devolve os valores para todos os atributos na tabela pageViews.
pageViews
| take 1
Os atributos da tabela pageViews incluem:
- appModule: o nome do módulo da aplicação.
- entityName: este atributo está presente quando relevante. Está disponível em tipos de página como EditForm, EntityList e Dashboards quando estão vinculados a uma entidades. Em alguns cenários, o formulário não está vinculado a uma entidade e o valor aparece como indefinido.
- formId: o formId identifica de forma exclusiva um formulário e pode ser utilizado para fazer a correlação dos problemas que afetam esse formulário específico.
- hostType: Navegador / MobileApplication / Embedded
- isBoot: este é o primeiro carregamento de uma sessão?
-
loadType
- 0: primeira visita a um determinado tipo de página (por exemplo, a primeira visita a um formulário).
- 1: primeira visita a uma determinada configuração (por exemplo, a primeira visita a um formulário de conta).
- 2: primeira visita a um determinado registo (por exemplo, a primeira visita a um registo de conta A2).
- 3: este URL exato já foi visitado anteriormente.
- navigationOrigin: o tipo de página de onde o utilizador navegou.
- networkConnectivityState: se o dispositivo tem uma ligação.
- pageName: o tipo de carregamento de página.
- serverConnectivityState: se a aplicação está ligada ao servidor.
- syncRequestTime: o tempo gasto à espera de pedidos sincronizados.
- coldLatency: a primeira estimativa da latência da rede, que inclui o tempo de handshake de SSL.
- warmLatency: a estimativa subsequente da latência da rede, que é a latência típica esperada para cada pedido.
- warmThroughput: a produção estimada da rede, em Kbps.
Para eventos do Microsoft Dataverse, o campo ID ou operation_ParentId no Application Insights é x-ms-service-request-id. O operationId mapeia para a activityId na parte de trás para fins de resolução de problemas e pedidos de suporte.
Que tipo de dados estão disponíveis para os pedidos de rede de saída da UCI?
Estas são chamadas para outras dependências feitas pela Interface Unificada para compor uma determinada página. Podem ser chamadas de saída para o Dataverse ou para outras integrações, como o Azure DevOps ou o Office. Utilize a seguinte consulta para obter estes dados, que está disponível na tabela de dependência do Pedido UCI:
dependencies
| where type == "UCI REQUEST"
A tabela de dependência do Pedido UCI tem os seguintes campos:
Nome: o URL a ser invocado pela Interface Unificada.
Destino: atualmente o mesmo que Nome.
Sucesso: se a chamada foi bem sucedida ou falhou.
UserId: o ID de utilizador do sistema do Dataverse do utilizador com sessão iniciada.
Duração: a duração da chamada.
customDimensions: contém os seguintes atributos:
- appModule: o appModule que faz a chamada.
- bodySize: o tamanho da resposta, codificado e descodificado.
- colocado em cache: se o pedido foi para a cache local ou teve de ir para o servidor. Isto não funciona como esperado se o utilizador final estivesse no browser Internet Explorer.
- transferência: o tempo necessário para transferir a resposta.
- paragem: o momento em que o pedido esteva à espera na fila do browser.
- ttfb: o tempo gasto à espera da resposta inicial, também conhecido como "tempo para o primeiro byte". Este tempo captura a latência de uma viagem de ida e volta ao servidor, para além do tempo gasto à espera que o servidor entregue a resposta.
- coldLatency: a primeira estimativa da latência da rede, que inclui o tempo de handshake de SSL.
- warmLatency: a estimativa subsequente da latência da rede, que é a latência típica esperada para cada pedido.
- warmThroughput: a produção estimada da rede, em Kbps.
Detetar e analisar cenários
Porque é que alguns dos meus utilizadores estão a sofrer de lentidão na Interface Unificada?
Um cenário em que a deteção e a análise podem ser valiosas é quando um utilizador de uma região (digamos, Ásia) relata que um formulário está a funcionar lentamente. Este utilizador sediado na Ásia pode estar a aceder a um ambiente ou organização na América do Norte. Os detalhes mostram o tempo total de carregamento para além da duração relacionada com a rede. Pode ser que esta seja uma causa do desempenho lento percebido pelo utilizador.
Pode utilizar os atributos warmLatency, warmThroughput e coldLatency para entender a desagregação de onde o tempo é gasto em carregamentos de página e outros pedidos da Interface Unificada, como mostra a imagem seguinte.
No pedido acima, o pedido da Interface Unificada demora mais tempo do que o pedido real da API do Dataverse (API Web). A discriminação neste caso é a duração da chamada à API do Dataverse (56 ms) mais o valor de CustomDimensions.warmLatency (89 ms), o que soma quase a duração de toda a operação (144 ms). O valor de warmLatency é indicativo de lentidão para esse cliente em particular e pode ser um problema que pode analisar ao nível do utilizador utilizando a seguinte consulta:
dependencies
| where ['type'] == "UCI REQUEST"
| summarize avg(toint(customDimensions.warmLatency)), avg(toint(customDimensions.coldLatency)), avg(toint(customDimensions.warmThroughput)) by user_Id
pageViews
| summarize avg(toint(customDimensions.warmLatency)), avg(toint(customDimensions.coldLatency)), avg(toint(customDimensions.warmThroughput)) by user_Id
Posso determinar como o utilizador está a aceder ao sistema?
O atributo userAgent no campo customDimensions na tabela pedidos do Application Insights tem estes dados. Pode utilizar a seguinte consulta para obter uma descrição geral das diferentes origens de onde os utilizadores estão a aceder ao sistema:
pageViews
| summarize count() by tostring(customDimensions.userAgent), user_Id
dependencies
| where ['type'] == "UCI REQUEST"
| Quando o valor customDimensions.userAgent começa com | De onde é que o utilizador está a aceder ao sistema? |
|---|---|
| Mozilla | Versão do Tipo de browser |
| azure-logic-apps | Azure Logic Apps |
| PowerApps | Power Apps |
| Microsoft Office Excel | Office Excel |
| Portais | Portais |
| DynamicsDataIntegration | Integração de Dados do Dynamics |
| XrmToolBox.exe | XrmToolBox |
| PluginRegistration | Registo do Plug-in |
| LogicAppsDesigner | Designer de Logic Apps |
| Apache-HttpClient | Cliente HTTP Apache |
| Microsoft Flow | Power Automate |
| UnifiedServiceDesk | Central de Serviços Unificada |
| PostmanRuntime | Postman |
| OfficeGroupsConnector | Conector de Grupos do Office |
| Microsoft.Data.Mashup | Power Query |
| Apache-Olingo | Apache Olingo |
| Dalvik | Android |
| Jakarta Commons-Http | Jakarta |
| Informatica | Informatica |
| axios | Axios |
| node-fetch | NodeJS |
| LinkedInBot | LinkedInBot |
Como é que consigo uma contagem de utilizadores que acedem a aplicações de browser, móveis ou incorporadas?
pageViews
| summarize count() by tostring(customDimensions.hostType)
A imagem a seguir mostra um exemplo de resultados desta consulta.
Como posso limitar-me a um utilizador específico?
pageViews
| where user_Id == "[userid]"
| summarize count() by tostring(customDimensions.hostType)
Como uso o Application Insights com o Monitor?
Azure Monitor ajuda na resolução de problemas em tempo real numa sessão do lado da Interface Unificada. Os pedidos de transação de ponto a ponto estarão provavelmente disponíveis no Application Insights. Para ver os registos para uma determinada ação, observe o ID de atividade de uma linha na página de detalhes do evento no Monitor. Poderá encontrar os registos utilizando a seguinte consulta:
union *
| where operation_Id contains "[ActivityIdHere]"
O Monitor é uma ferramenta de depuração em tempo real; no entanto, os dados podem não estar disponíveis por algumas horas.
Porque é que os utilizadores estão a ter problemas com um formulário específico?
O utilizador pode partilhar o seu ID de sessão a partir da secção Acerca na Interface Unificada para a organização específica.
Em seguida, pode usar este ID para encontrar problemas, olhando para todas as atividades nessa sessão. Utilize a consulta seguinte:
union *
| where session_Id == '[sessionIdHere]'
Que formulários estão a ser usados em diferentes locais e qual o desempenho do carregamento dos formulários nestes locais?
pageViews
| summarize avg(duration) by name, client_City, client_CountryOrRegion
Uma chamada à API externa a falha e posso desagregar na pilha de erros para ajudar a depurar?
A vista Browser do painel Falhas contém os pedidos de saída da Interface Unificada. Os pedidos que vão para o Dataverse ou para a organização contêm o URL da organização. Pode haver outros pedidos que vão para outros URLs (por exemplo, na imagem seguinte, a organização tem uma personalização a chamar para dc.services.visualstudio.com). Pode olhar para a transação de ponto a ponto para examinar mais aprofundadamente as falhas destas chamadas externas de saída.
Posso definir um alerta sobre o limiar de desempenho para certas ações de formulário? Quando o alerta for recebido, permitirá que um criador efetue o diagnóstico e resolva o problema?
Sim. Pode configurar alertas no Application Insights para monitorizar o estado de funcionamento da sua aplicação.