Hvilke data er tilgængelige for modelbaserede apps?
Ydeevnedata, der er relateret til sideindlæste og Unified Interface (UCI) udgående netværksanmodninger, er tilgængelige for modelbaserede apps.
Hvilken slags sidebelastning er tilgængelig?
Skriv | Tilgængelige ydeevne- og diagnosticeringsdata |
---|---|
Dashboardindlæsning (UCI) – browser | Ja |
Dashboardindlæsning (UCI) – integreret | Ja |
Dashboardindlæsning (UCI) – MobileApplication | Ja |
Dashboardindlæsning (UCI) – MailApp | Ja |
Dashboardindlæsning (UCI) – MobileApplication | Ja |
EditForm Load (UCI) – Browser | Ja |
EditForm Load (UCI) – Integreret | Ja |
EditForm Load (UCI) – MailApp | Ja |
EditForm Load (UCI) – MobileApplication | Ja |
EntityList Load (UCI) – Browser | Ja |
EntityList Load (UCI) - Embedded | Ja |
EntityList Load (UCI) – MailApp | Ja |
EntityList Load (WEB) – MobileApplication | Ja |
Launch App - (UCI) – Browser | Ja |
Launch App - (UCI) - Embedded | Ja |
Start app - (UCI) – MailApp | Ja |
Start app – (UCI) - MobileApplication | Ja |
QuickCreateForm Load (UCI) – Browser | Ja |
QuickCreateForm Load (UCI) – Embedded | Ja |
QuickCreateForm Load (UCI) – MailApp | Ja |
QuickCreateForm Load (UCI) – MobileApplication | Ja |
SaveForm | Er ikke tilgængelig i øjeblikket |
CommandButton-handlinger | Er ikke tilgængelig i øjeblikket |
Hvor er sideindlæsningsdataene tilgængelige?
Disse data går til pageViews-tabellen i Application Insights. Der logføres en post, hver gang en bruger indlæser en side Unified Interface. De logførte data indeholder kun "rene" belastninger. Belastninger, hvis varighed ikke kan måles nøjagtigt - i hurtig navigation, hvis der skiftes væk fra appen - medtages der ikke en advarsel. Derfor anbefaler vi ikke, at du bruger disse data til nøjagtige tal, der er relateret til brugsanalyser.
Der er andre egenskaber i customDimensions, der giver flere oplysninger Unified Interface belastninger af sider. Denne forespørgsel returnerer f.eks. værdierne for alle attributterne i pageViews-tabellen.
pageViews
| take 1
pageViews-tabelattributterne omfatter:
- appModule: Navnet på appmodulet.
- entityName: Denne attribut er til stede, når det er relevant. Den er tilgængelig på sidetyper som EditForm, EntityList og Dashboards, når de er bundet til et objekt. I visse scenarier er formularen ikke bundet til et objekt, og værdien vises som udefineret.
- formId: formId'et identificerer entydigt en formular og kan bruges til at korrelere problemer, der påvirker den specifikke formular.
- hostType: Browser/MobileApplication/Embedded
- isBoot: Er dette den første indlæsning af en session?
- loadType
- 0: Første besøg på en bestemt sidetype (f.eks. det første besøg i en formular).
- 1: Første besøg på en bestemt konfiguration (f.eks. det første besøg i en kontoformular).
- 2: Første besøg på en bestemt post (f.eks. det første besøg i en kontopost A2).
- 3: Denne nøjagtige webadresse er tidligere blevet vist.
- navigationOrigin: Den type side, som brugeren navigerede fra.
- networkConnectivityState: Om enheden har en forbindelse.
- pageName: Typen af sideindlæsning.
- serverConnectivityState: Om appen er tilsluttet serveren.
- syncRequestTime: Den tid, der bruges på at vente på synkrone anmodninger.
- coldLatency: Den første estimering af netværksventetid, som omfatter SSL-håndtrykstid.
- warmLatency: Den efterfølgende estimering af netværksventetid, som er den typiske forventede ventetid for hver anmodning.
- warmThroughput: Det anslåede gennemløb for netværket i Kbps.
For Microsoft Dataverse-hændelser er id-feltet eller operation_ParentId i Application Insights x-ms-service-request-id. Kortene operationId knyttes til activityId i backend med henblik på fejlfinding og supportanmodninger.
Hvilken type data er tilgængelig for UCI-udgående netværksanmodninger?
Disse er kald til andre afhængigheder, der er foretaget Unified Interface at få vist en bestemt side. Det kan være udgående opkald til Dataverse eller til andre integrationer, f.eks. Azure DevOps Office. Brug følgende forespørgsel til at hente disse data, der er tilgængelige i tabellen over afhængigheder af UCI-forespørgsel:
dependencies
| where type == "UCI REQUEST"
Der er følgende felter i UCI-afhængighedstabellen:
Navn: Den URL-adresse, der aktiveres af Unified Interface.
Mål: I øjeblikket det samme som Navn.
Fuldført: Om opkaldet lykkedes eller mislykkedes.
UserId: Systembruger-id'et Dataverse for den bruger, der er logget på.
Varighed: Opkaldets varighed.
customDimensions: Indeholder følgende attributter:
- appModule: Det appModule, der foretager opkaldet.
- bodySize: Størrelsen på svaret, kodet og afkodet.
- cachelagret: Om anmodningen gik til den lokale cache eller skulle gå til serveren. Dette virker ikke som forventet, hvis slutbrugeren var i Internet Explorer-browseren.
- download: Den tid, det tager at downloade svaret.
- stall: Det tidspunkt, hvor anmodningen ventede i browserkøen.
- ttfb: Den tid, der bruges på at vente på det Første svar, også kendt som "tiden til første byte". Denne tid registrerer ventetiden for en rundtur til serveren ud over den tid, der bruges på at vente på, at serveren leverer svaret.
- coldLatency: Den første estimering af netværksventetid, som omfatter SSL-håndtrykstid.
- warmLatency: Den efterfølgende estimering af netværksventetid, som er den typiske forventede ventetid for hver anmodning.
- warmThroughput: Det anslåede gennemløb for netværket i Kbps.
Opdag og analysér scenarier
Hvorfor oplever nogle af mine brugere langsomhed på Unified Interface?
Et scenario, hvor registrering og analyse kan være værdifuldt, er, når en bruger fra et område (f.eks. Asien) rapporterer, at en formular kører langsomt. Denne bruger i Asien har muligvis adgang til et miljø eller en organisation i Nordamerika. Detaljerne viser den samlede indlæsningstid ud over den netværksrelaterede varighed. Det kan være, at dette er en årsag til brugerens langsomme ydeevne.
Du kan bruge attributterne warmLatency, warmThroughput og coldLatency til at forstå, hvor meget tid der bruges på sideindlæsning og andre Unified Interface anmodninger, som vist på følgende billede.
I ovenstående forespørgsel tager Unified Interface længere end den faktiske Dataverse API-anmodning (Web API). Varigheden af Dataverse API-opkaldet (56 ms) plus værdien i CustomTilpasses.warmEnvarighed (89 ms), som udgør næsten hele handlingens varighed (144 ms). Værdien for warmLatency er et problem for den pågældende klient, og den kan være et problem, som du kan analysere på brugerniveau ved hjælp af følgende forespørgsel:
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
Kan jeg finde ud af, hvordan brugeren får adgang til systemet?
Attributten userAgent i feltet customAgent i Application Insights forespørgselstabellen indeholder disse data. Du kan bruge følgende forespørgsel til at få vist en oversigt over de forskellige kilder, som brugere får adgang til systemet fra:
pageViews
| summarize count() by tostring(customDimensions.userAgent), user_Id
dependencies
| where ['type'] == "UCI REQUEST"
Når værdien customDimensions.userAgent startes med | Hvor får brugeren adgang til systemet fra? |
---|---|
Mozilla | Browsertype, version |
azure-logikapps | Azure-logikapps |
PowerApps | Power Apps |
Microsoft Office Excel | Office Excel |
Portaler | Portaler |
DynamicsDataIntegration | Dynamics Data Integration |
XrmToolBox.exe | XrmToolBox |
PluginRegistration | Plugin Registration |
LogicAppsDesigner | Logic Apps Designer |
Apache-HttpClient | Apache HTTP-klient |
Microsoft Flow | Power Automate |
UnifiedServiceDesk | Unified Service Desk |
PostmanRuntime | Postman |
OfficeGroupsConnector | Office Groups-connector |
Microsoft. Data.Mashup | Power Query |
Apache-Olingo | Apache Olingo |
Dalvik | Android |
Jakarta Commons-Http | Jakarta |
Informatica | Informatica |
axios | Axios |
node-fetch | NodeJS |
LinkedInBot | LinkedInBot |
Hvordan får jeg en optælling af brugere, der får adgang fra browser-, mobil- eller integreret program?
pageViews
| summarize count() by tostring(customDimensions.hostType)
I følgende billede vises et eksempelsæt af resultater fra denne forespørgsel.
Hvordan indsnævrer jeg mig til en bestemt bruger?
pageViews
| where user_Id == "[userid]"
| summarize count() by tostring(customDimensions.hostType)
Hvordan bruger jeg Application Insights med Monitor?
Azure Monitor hjælper med fejlfinding i realtid på en session fra Unified Interface-siden. Slutpunkt til slutpunkt-transaktionsanmodningerne vil sandsynligvis være tilgængelige i Application Insights. Hvis du vil se logfilerne for en bestemt handling, skal du notere aktivitets-id'et fra en række på siden med arrangementdetaljer i Overvågning. Du kan finde loggene ved hjælp af følgende forespørgsel:
union *
| where operation_Id contains "[ActivityIdHere]"
Overvågning er et fejlfindingsværktøj i realtid. Men dataene er muligvis ikke tilgængelige i et par timer.
Hvorfor oplever brugere problemer med en bestemt formular?
Brugeren kan dele sessions-id'et fra afsnittet Om i Unified Interface for den bestemte organisation.
Du kan derefter bruge dette id til at finde problemer ved at kigge på alle aktiviteterne i den pågældende session. Brug følgende forespørgsel:
union *
| where session_Id == '[sessionIdHere]'
Hvilke formularer bruges forskellige steder, og hvad er belastningen for formularerne på disse placeringer?
pageViews
| summarize avg(duration) by name, client_City, client_CountryOrRegion
Er en ekstern API-kaldet fejl, og kan jeg analysere ned i fejlstakke for at hjælpe med fejlfinding?
Browservisningen på panelet Fejl indeholder Unified Interface udgående anmodninger. De forespørgsler, der går til Dataverse eller organisationen, indeholder organisationens URL-adresse. Der kan gå andre forespørgsler til andre URL-adresser (f.eks. på følgende billede har organisationen en tilpasning, der kalder dc.services.visualstudio.com). Du kan se på slutpunkt til slutpunkt-transaktionen for yderligere at undersøge fejlene for disse eksterne udgående opkald.
Kan jeg angive en advarsel på grænsen for ydeevne for visse formularhandlinger? Når advarslen modtages, kan en person så diagnosticere og foretage fejlfinding af problemet?
Ja. Du kan konfigurere vigtige beskeder i Application Insights for at overvåge programmets tilstand.