Compartilhar via


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

Tabela pageViews do Application Insights.

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:

    SOLICITAÇÃO DE UCI DO Application Insights.

    • 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.

Lentidão de UCI do Application Insights.

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.

Conjunto de resultados de exemplo do Application Insights.

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.

Configurações > Sobre.

Configurações > Sobre ID da Sessão.

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.

Navegar pelo painel de Falhas.

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.