Quais dados estão disponíveis para aplicativos baseados em modelo?
Os dados de desempenho relacionados a carregamentos de página e solicitações de rede de saída da Interface Unificada (UCI) estão disponíveis para aplicativos baseados em modelo.
Que tipo de carregamento de página está disponível?
Digitar | Dados de desempenho e diagnóstico disponíveis |
---|---|
Carga do Painel (UCI) - navegador | Sim |
Carga do Painel (UCI) - incorporado | Sim |
Carga do Painel (UCI) - MobileApplication | Sim |
Carga do Painel (UCI) - MailApp | Sim |
Carga do Painel (UCI) - MobileApplication | Sim |
Carga de EditForm (UCI) - Navegador | Sim |
Carga de EditForm (UCI) - Incorporado | Sim |
Carga de EditForm (UCI) - MailApp | Sim |
Carga de EditForm (UCI) - MobileApplication | Sim |
Carga de EntityList (UCI) - Navegador | Sim |
Carga EntityList (UCI) - Incorporado | Sim |
Carga de EntityList (UCI) - MailApp | Sim |
Carga de EntityList (UCI) - MobileApplication | Sim |
Iniciar Aplicativo - (UCI) – Navegador | Sim |
Iniciar Aplicativo - (UCI) - Incorporado | Sim |
Iniciar Aplicativo - (UCI) – MailApp | Sim |
Iniciar Aplicativo - (UCI) - MobileApplication | Sim |
Carga de QuickCreateForm (UCI) - Navegador | Sim |
Carga de QuickCreateForm (UCI) -Incorporado | Sim |
Carga de QuickCreateForm (UCI) - MailApp | Sim |
Carga de QuickCreateForm (UCI) – MobileApplication | Sim |
SaveForm | Não disponível no momento |
Ações do CommandButton | Não disponível no momento |
Onde os dados de carregamento da página estão disponíveis?
Esses dados vão para a tabela pageViews no Application Insights. Uma entrada é registrada sempre que um usuário carrega uma página em Interface Unificada. Os dados registrados incluem apenas cargas "limpas". Cargas cuja duração não pode ser medida com precisão, navegação rápida, ao sair do aplicativo, uma mensagem de alerta, não serão incluídas. Por isso, não recomendamos o uso desses dados para números precisos relacionados à análise de uso.
Existem outras propriedades em customDimensions que fornecem mais detalhes para carregamentos de página da Interface Unificada. Por exemplo, esta consulta retorna os valores de todos os atributos na tabela pageViews.
pageViews
| take 1
Os atributos da tabela pageViews incluem:
- appModule: O nome do módulo do aplicativo.
- entityName: Este atributo está presente quando relevante. Está disponível em tipos de página como EditForm, EntityList e Dashboards quando eles estão vinculados a uma entidade. Em alguns cenários, o formulário não está vinculado a uma entidade e o valor aparece como indefinido.
- formId: O formId identifica exclusivamente um formulário e pode ser usado para correlacionar problemas que afetam esse formulário específico.
- hostType: Navegador/Aplicativo Móvel/Incorporado
- isBoot: Este é o primeiro carregamento de uma sessão?
- Tipo de carga
- 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 registro (por exemplo, a primeira visita a um registro de conta A2).
- 3: Este URL exato foi visitado anteriormente.
- navigationOrigin: O tipo de página de onde o usuário navegou.
- networkConnectivityState: Se o dispositivo tem uma conexão.
- pageName: O tipo de carregamento da página.
- serverConnectivityState: Se o aplicativo está conectado ao servidor.
- syncRequestTime: O tempo gasto esperando por solicitações síncronas.
- coldLatency: A primeira estimativa da latência da rede, que inclui o tempo de handshake SSL.
- warmLatency: A estimativa subsequente da latência da rede, que é a latência típica esperada para cada solicitação.
- warmThroughput: A taxa de transferência estimada da rede, em Kbps.
Para eventos do Microsoft Dataverse, o campo ID ou operation_ParentId no Application Insights é o x-ms-service-request-id. o operationId é mapeado para o activityId no back-end para fins de solução de problemas e solicitações de suporte.
Que tipo de dados estão disponíveis para solicitações de rede de saída UCI?
Essas são chamadas para outras dependências feitas por Interface Unificada para renderizar uma determinada página. Eles podem ser chamadas de saída para o Dataverse ou para outras integrações como Azure DevOps ou Office. Use a seguinte consulta para obter esses dados, que estão disponíveis na tabela de dependência da Solicitação de UCI:
dependencies
| where type == "UCI REQUEST"
A tabela de dependência de solicitação de UCI tem os seguintes campos:
Nome: A URL invocada por Interface Unificada.
Alvo: Atualmente o mesmo que Nome.
Sucesso: se a chamada foi bem-sucedida ou falhou.
UserId: O Dataverse ID do usuário do sistema do usuário conectado.
Duração: A duração da chamada.
customDimensions: contém os seguintes atributos:
- appModule: O appModule que faz a chamada.
- bodySize: O tamanho do resposta, codificado e decodificado.
- cached: Se a solicitação foi para o cache local ou teve que ir para o servidor. Isso não funciona conforme o esperado se o usuário final estiver no navegador Internet Explorer.
- download: O tempo necessário para baixar o resposta.
- stall: O tempo em que a solicitação ficou aguardando na fila do navegador.
- ttfb: O tempo gasto esperando pelo Resposta Inicial, também conhecido como "tempo para o primeiro byte". Esse tempo captura a latência de uma viagem de ida e volta ao servidor, além do tempo gasto esperando o servidor entregar o resposta.
- coldLatency: A primeira estimativa da latência da rede, que inclui o tempo de handshake SSL.
- warmLatency: A estimativa subsequente da latência da rede, que é a latência típica esperada para cada solicitação.
- warmThroughput: A taxa de transferência estimada da rede, em Kbps.
Descubra e analise cenários
Por que alguns de meus usuários estão tendo lentidão na Interface Unificada?
Um cenário em que a descoberta e a análise podem ser muito valiosas é quando um usuário de uma região (digamos, Ásia) relata que o desempenho de um formulário está lento. Este usuário da Ásia pode estar acessando um ambiente ou organização na América do Norte. Os detalhes mostram o tempo total de carregamento, além da duração relacionada à rede. Pode ser que esta seja a causa do desempenho lento percebido pelo usuário.
Você pode usar os atributos warmLatency, warmThroughput, e coldLatency para entender o detalhamento de onde o tempo é gasto nos carregamentos de página e outras solicitações de Interface Unificada, conforme mostrado na imagem a seguir.
Na solicitação acima, a solicitação da Interface Unificada leva mais tempo do que a Solicitação de API (API da Web) real do Dataverse. O detalhamento, neste caso, é a duração da chamada à API (56 ms) do Dataverse mais o valor de CustomDimensions.warmLatency (89 ms), que totaliza quase a duração de toda a operação (144 ms). O valor warmLatency é indicativo de lentidão para esse cliente específico e pode ser um problema que você pode analisar no nível do usuário usando 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
Como posso determinar como o usuário está acessando o sistema?
O atributo userAgent no campo customDimensions na tabela requests do Application Insights tem esses dados. Você pode usar a seguinte consulta para obter uma visão geral das diferentes fontes de onde os usuários estão acessando o 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 o usuário está acessando o sistema? |
---|---|
Mozilla | Tipo de Navegador, versão |
azure-logic-apps | Aplicativo Lógico do Azure |
PowerApps | Power Apps |
Microsoft Office Excel | Office Excel |
Portais | Portais |
DynamicsDataIntegration | Integração de Dados do Dynamics |
XrmToolBox.exe | XrmToolBox |
PluginRegistration | Plugin Registration |
LogicAppsDesigner | Logic Apps Designer |
Apache-HttpClient | Apache HTTP client |
Microsoft Flow | Power Automate |
UnifiedServiceDesk | Unified Service Desk |
PostmanRuntime | Postman |
OfficeGroupsConnector | Conector de grupos do Office |
Microsoft.Dados.Mashup | Power Query |
Apache-Olingo | Apache Olingo |
Dalvik | Android |
Jakarta Commons-Http | Jakarta |
Informatica | Informatica |
axios | Axios |
node-fetch | NodeJS |
LinkedInBot | LinkedInBot |
Como faço para obter uma contagem de usuários acessando a partir de um navegador, celular ou aplicativos incorporados?
pageViews
| summarize count() by tostring(customDimensions.hostType)
A imagem a seguir mostra um exemplo de conjunto de resultados desta consulta.
Como faço para restringir um usuário específico?
pageViews
| where user_Id == "[userid]"
| summarize count() by tostring(customDimensions.hostType)
Como devo usar o Application Insights com o Monitor?
O Azure Monitor ajuda na solução de problemas em tempo real em uma sessão do lado do Interface Unificada. As solicitações de transação ponta a ponta provavelmente estarão disponíveis no Application Insights. Para ver os logs de uma determinada ação, observe o ID da atividade em uma linha na página de detalhes do evento no Monitor. Você pode encontrar os logs usando a seguinte query:
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.
Por que os usuários estão tendo problemas com um formulário específico?
O usuário pode compartilhar seu ID de sessão Sobre na Interface Unificada para a organização específica.
Você pode então usar esse ID para localizar problemas, observando todas as atividades daquela sessão. Use a consulta a seguir:
union *
| where session_Id == '[sessionIdHere]'
Quais formulários estão sendo usados em diferentes locais e qual é o desempenho de carregamento dos formulários nesses locais?
pageViews
| summarize avg(duration) by name, client_City, client_CountryOrRegion
A falha é uma chamada de API externa e posso fazer uma busca detalhada na pilha de erros para ajudar na depuração?
A exibição do Navegador do painel Falhas contém solicitações de saída da Interface Unificada. As solicitações vão para o Dataverse ou a organização contém a URL da organização. Pode haver outras solicitações indo para outras URLs (por exemplo, na imagem a seguir, a organização tem uma personalização que chama dc.services.visualstudio.com). Você pode examinar a transação de ponta a ponta para examinar mais detalhadamente as falhas dessas chamadas externas de saída.
Posso definir um alerta sobre o limite de desempenho para determinadas ações de formulário? Quando o alerta for recebido, ele permitirá que o fabricante diagnostique e solucione o problema?
Sim. Você pode configurar alertas dentro do Application Insights para monitorar a integridade de seu aplicativo.