Mitä tietoja on saatavana mallipohjaisista sovelluksista?
Mallipohjaisista sovelluksista on saatavana tietoja sivujen latautumiseen ja Unified Interfacen (UCI) lähtevien verkkopyyntöihin liittyviä suorituskykytietoja.
Minkälaisia sivun latauksia on saatavana?
Tyyppi | Suorituskyky- ja diagnostiikkatiedot saatavana |
---|---|
Koontinäytön lataus (UCI) – selain | Kyllä |
Koontinäytön lataus (UCI) – upotettu | Kyllä |
Koontinäytön lataus (UCI) – MobileApplication | Kyllä |
Koontinäytön lataus (UCI) – MailApp | Kyllä |
Koontinäytön lataus (UCI) – MobileApplication | Kyllä |
EditForm-lataus (UCI) – selain | Kyllä |
EditForm-lataus (UCI) – upotettu | Kyllä |
EditForm-lataus (UCI) – MailApp | Kyllä |
EditForm-lataus (UCI) – MobileApplication | Kyllä |
EntityList-lataus (UCI) – selain | Kyllä |
EntityList-lataus (UCI) – upotettu | Kyllä |
EntityList-lataus (UCI) – MailApp | Kyllä |
EntityList-lataus (UCI) – MobileApplication | Kyllä |
Sovelluskäynnistys – (UCI) – selain | Kyllä |
Sovelluskäynnistys – (UCI) – upotettu | Kyllä |
Sovelluskäynnistys – (UCI) – MailApp | Kyllä |
Sovelluskäynnistys – (UCI) – MobileApplication | Kyllä |
QuickCreateForm-lataus (UCI) – selain | Kyllä |
QuickCreateForm-lataus (UCI) – upotettu | Kyllä |
QuickCreateForm-lataus (UCI) – MailApp | Kyllä |
QuickCreateForm-lataus (UCI) – MobileApplication | Kyllä |
SaveForm | Ei saatavana tällä hetkellä |
CommandButton-toiminnot | Ei saatavana tällä hetkellä |
Missä sivun lataustiedot ovat?
Nämä tiedot ovat Application Insightsin pageViews-taulukossa. Merkitä kirjataan lokiin joka kerta, kun käyttäjä lataa sivun Unified Interfacessa. Lokiin kirjatut tiedot sisältävät vain puhtaat lataukset. Lataukset, joiden kestoa ei voi laskea tarkasti, kuten nopea siirtyminen, siirtyminen pois sovelluksesta tai hälytyssanoma, ei sisällytetä. Tämän vuoksi näitä tietoja ei kannata käyttää käyttöanalyysiin liittyvissä tarkoissa luvuissa.
customDimensions sisältää muita ominaisuuksia, joissa on lisätietoja Unified Interfacen sivulatauksista. Esimerkiksi seuraava kysely palauttaa arvon kaikille pageViews-taulukon määritteille.
pageViews
| take 1
pageViews-taulukon määritteitä:
- appModule: sovellusmoduulin nimi.
- entityName: Tämä määrite esiintyy tarvittaessa. Se on saatavana sivutyypeissä, kuten EditForm, EntityList ja koontinäytöt, kun ne on sidottu entiteettiin. Joissakin skenaarioissa lomake ei ole sidottu entiteettiin ja arvo näkyy määrittämättömänä.
- formId:formId yksilöi lomakkeen, ja sitä voidaan käyttää korreloimaan kyseiseen lomakkeeseen vaikuttavia ongelmia.
- hostType: Selain/MobileApplication/Embedded
- isBoot: Onko tämä istunnon ensimmäinen lataus?
- loadType
- 0: Ensimmäinen käynti tietyllä sivutyypillä (kuten ensimmäinen käynti lomakkeessa).
- 1: Ensimmäinen käynti tietyssä määrityksessä (kuten ensimmäinen käynti asiakaslomakkeessa).
- 2: Ensimmäinen käynti tietyssä tietueessa (kuten ensimmäinen käynti asiakastietueessa A2).
- 3: Täsmälleen tässä URL-osoitteessa on käyty aiemmin.
- navigationOrigin: Sivutyyppi, jolta käyttäjä siirtyi.
- networkConnectivityState: Onko laitteella yhteys.
- pageName: sivun lataustyyppi.
- serverConnectivityState: Onko sovellus yhdistetty palvelimeen.
- syncRequestTime: Synkronisten pyyntöjen odottamiseen käytetty aika.
- coldLatency: Ensimmäinen arvio verkon viiveestä, joka sisältää SSL-kättelyajan.
- warmLatency: Myöhempi arvio verkon viiveestä, joka on kunkin pyynnön tyypillinen odotettu viive.
- warmThroughput: Verkon arvioitu siirtonopeus kbps:nä.
Microsoft Dataverse -tapahtumissa Application Insightsin Tunnus-kenttä tai operation_ParentId on x-ms-service-request-id. operationId yhdistetään taustalla activityId-kohtaan vianmääritystä ja tukipyyntöjä varten.
Minkälaisia tietoja on saatavana lähtevistä UCI-verkkopyynnöistä?
Nämä ovat Unified Interfacen muihin riippuvuuksiin tekemiä kutsuja tietyn sivun hahmontamista varten. Ne voivat olla lähteviä kutsuja Dataverseen tai muihin integrointeihin, kuten Azure DevOpsiin tai Officeen. Nämä tiedot saadaan seuraavan kyselyn avulla, ja nämä tiedot ovat saatavana UCI-pyyntöjen riippuvuustaulukossa:
dependencies
| where type == "UCI REQUEST"
UCI-pyyntöjen riippuvuustaulukossa on seuraavat kentät:
Nimi: URL-osoite, jota Unified Interface kutsuu.
Kohde: Tällä hetkellä sama kuin Nimi.
Onnistui: onnistuiko vai epäonnistuiko puhelu.
UserId: kirjautuneen Dataverse käyttäjän järjestelmäkäyttäjätunnus.
Kesto: Puhelun kesto.
customDimensions: Sisältää seuraavat määritteet:
- appModule: puhelun soittava appModule.
- bodySize: vastaus koko koodattuna ja dekoodattuna.
- välimuistissa: Menikö pyyntö paikalliseen välimuistiin vai pitikö sen mennä palvelimelle. Tämä ei toimi odotetusti, jos loppukäyttäjä käytti Internet Explorer -selainta.
- download: vastaus lataamiseen kulunut aika.
- jumi: Aika, jolloin pyyntö odotti selainjonossa.
- ttfb: Ensimmäinen vastaus odottamiseen käytetty aika, joka tunnetaan myös nimellä "aika ensimmäiseen tavuun". Tämä aika tallentaa edestakaisen matkan viiveen palvelimelle sen ajan lisäksi, joka kuluu palvelimen vastaus toimittamisen odottamiseen.
- coldLatency: Ensimmäinen arvio verkon viiveestä, joka sisältää SSL-kättelyajan.
- warmLatency: Myöhempi arvio verkon viiveestä, joka on kunkin pyynnön tyypillinen odotettu viive.
- warmThroughput: Verkon arvioitu siirtonopeus kbps:nä.
Etsintä- ja analysointiskenaariot
Miksi osa käyttäjistä kokee hitautta Unified Interfacessa?
Skenaario, jossa etsinnästä ja analysoinnista on hyötyä, kun alueen (kuten Aasian) käyttäjä ilmoittaa, että lomake toimii hitaasti. Aasiassa toimiva käyttäjä saattaa käyttää ympäristöä tai organisaatiota Pohjois-Amerikassa. Tiedot näyttävät latauksen kokonaisajan verkkoon liittyvän keston lisäksi. On mahdollista, että tämä on syynä käyttäjän havaitsemaan suorituskyvyn hitauteen.
Määritteet warmLatency, warmThroughput ja coldLatency auttavat ymmärtämään erittelyn sivulatauksiin käytetystä ajasta ja muista Unified Interfacen pyynnöistä, jollainen on seuraavassa kuvassa.
Edellä olevassa pyynnössä Unified Interface -pyyntö kestää kauemmin kuin varsinainen Dataverse-ohjelmointirajapinnan (verkko-ohjelmointirajapinnan) pyyntö. Tässä tapauksessa erittely on Dataverse-ohjelmointirajapintakutsun kesto (56 ms) sekä CustomDimensions.warmLatency-arvo (89 ms), jotka ovat yhteenlaskettuna lähes koko toiminnon kesto (144 ms). warmLatency-arvo ilmaisee kyseisen asiakasohjelman hitauden ja voi olla ongelma, joka voidaan analysoida käyttäjätasolla seuraavan kyselyn avulla:
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
Onko mahdollista määrittää, miten käyttäjä käyttää järjestelmää?
Nämä tiedot ovat Application Insightsin pyyntöjen taulukon customDimensions-kentän userAgent-määritteessä. Seuraavalla kyselyllä saadaan yleiskuvaus eri lähteistä, joista käyttäjät käyttävät järjestelmää:
pageViews
| summarize count() by tostring(customDimensions.userAgent), user_Id
dependencies
| where ['type'] == "UCI REQUEST"
Kun customDimensions.userAgent -arvon alussa on | Käyttäjän järjestelmän käyttösijainti |
---|---|
Mozilla | Selaimen tyyppi, versio |
azure-logic-apps | Azure Logic Apps |
PowerApps | Power Apps |
Microsoft Office Excel | Office Excel |
portaalit | portaalit |
DynamicsDataIntegration | Dynamicsin tietojen integrointi |
XrmToolBox.exe | XrmToolBox |
PluginRegistration | Laajennuksen rekisteröinti |
LogicAppsDesigner | Logic Apps Designer |
Apache-HttpClient | Apache HTTP -asiakasohjelma |
Microsoft Flow | Power Automate |
UnifiedServiceDesk | Unified Service Desk |
PostmanRuntime | Postman |
OfficeGroupsConnector | Office-ryhmien yhdistin |
Microsoft. Data.Mashup | Power Query |
Apache-Olingo | Apache Olingo |
Dalvik | Android |
Jakarta Commons-Http | Jakarta |
Informatica | Informatica |
axios | Axios |
node-fetch | NodeJS |
LinkedInBot | LinkedInBot |
Miten selain-, mobiili- tai upotettujen sovellusten käyttäjien määrä saadaan?
pageViews
| summarize count() by tostring(customDimensions.hostType)
Seuraavassa kuvassa näkyy tämän kyselyn esimerkkitulosjoukko.
Miten tarkennus tiettyyn käyttäjään tehdään?
pageViews
| where user_Id == "[userid]"
| summarize count() by tostring(customDimensions.hostType)
Miten Application Insightsin käytetään Monitorin kanssa?
Azure Monitor auttaa istunnon reaaliaikaisessa vianmäärityksessä Unified Interface puolelta. Kattavat tapahtumapyynnöt ovat luultavasti saatavana Application Insightsissa. Tietyn toiminnon lokeja voi tarkastella kirjoittamalla muistiin aktiviteettitunnuksen tapahtumatietosivun riviltä Monitorissa. Lokit voidaan etsiä käyttämällä seuraavaa kyselyä:
union *
| where operation_Id contains "[ActivityIdHere]"
Vaikka Seuranta on reaaliaikainen työkalu, tiedot eivät ehkä ole käytettävissä muutamaan tuntiin.
Miksi käyttäjillä on ongelmia tietyn lomakkeen kanssa?
Käyttäjä voi jakaa istuntotunnuksensa tietyn organisaation Unified Interfacen Tietoja-osassa.
Tämän tunnuksen avulla voi etsiä ongelmia katsomalla kaikkia kyseisen istunnon aktiviteetteja. Käytössä on seuraava kysely:
union *
| where session_Id == '[sessionIdHere]'
Mitä lomakkeita käytetään eri sijainneissa ja miten tehokkaasti lomakkeet ladataan näissä sijainneissa?
pageViews
| summarize avg(duration) by name, client_City, client_CountryOrRegion
Epäonnistuiko ulkoinen ohjelmointirajapintakutsu ja voiko virhepinoon porautua virheenkorjauksen auttamiseksi?
Virheet-paneelin Selain-näkymä sisältää Unified Interfacen lähtevät pyynnöt. Dataverseen tai organisaatioon menevät pyynnöt sisältävät organisaation URL-osoitteen. Pyyntöjä voidaan lähettää myös muihin URL-osoitteisiin (kuten seuraavassa kuvassa, jossa organisaatio on lähettänyt mukautuskutsun osoitteeseen dc.services.visualstudio.com). Koko tapahtumaa voi tarkastella ja tutustu tarkemmin näiden ulkoisten lähtevien kutsujen virheisiin.
Voiko tietyille lomaketoiminnoille määrittää suorituskykyrajan hälytyksen? Kun hälytys saadaan, voiko tekijä diagnosoida ja tehdä ongelman vianmäärityksen?
Kyllä. Hälytykset voidaan määrittää Application Insightsissa seuraamaan sovelluksen kuntoa.