Telemetrijos įvykiai, skirti „Microsoft Dataverse“
Pastaba.
Naujas ir patobulintas Power Platform administravimo centras dabar yra viešoje peržiūroje! Sukūrėme naująjį administravimo centrą, kad jį būtų lengviau naudoti su į užduotis orientuotu naršymu, kuris padeda greičiau pasiekti konkrečių rezultatų. Publikuosime naujus ir atnaujintus dokumentus, kai naujasis Power Platform administravimo centras taps visuotinai pasiekiamas.
Duomenų srautas šiuo metu pateikia efektyvumo duomenis, susijusius su Dataverse API gaunamais skambučiais, Dataverse priedų vykdymo skambučiais ir Dataverse SDK skambučiais. Tai taip pat pateikia priedų ir Dataverse SDK operacijų trikčių duomenis.
Dataverse API gaunami skambučiai
Šie skambučiai atliekami į Dataverse API. Jie gali būti iš Vienigosios sąsajos (UCI), senesnio žiniatinklio kliento, pasirinktinių klientų, kurie naudoja SDK, ir t. t. Juos galima rasti užklausų lentelėje, kurioje yra šie Application Insights laukai.
Pavadinimas: užklausos tipas. Jie skirstomi į dvi kategorijas:
- Žiniatinklio API užklausa: užklausa "OData v4" galiniam punktui, kurį paprastai naudoja vieningoji sąsaja ir šiuolaikiniai klientai. Ši užklausa pertvarkyta į operaciją, kuri bendra abiems. Žiniatinklio API yra įgalintas "įpakavimas", kad būtų galima naudoti RESTful programavimo modelį, bet kai gaunami duomenys, serveryje viskas tampa tuo pačiu. Kai atsakas grąžinamas, jis konvertuojamas į JSON, jei užklausa konvertuojama iš žiniatinklio API.
- Organizacijos paslaugos užklausa: užklausa organizacijos API galiniam punktui, kurį naudoja SDK klientai arba senstelėjęs žiniatinklio klientas.
Trukmė: laikas, kurio prireikė serveriui atsakyti į užklausą.
URL: URL, į kurį buvo skambinta.
CustomDimensions:
UserAgent: Application Insights automatiškai užpildo vartotojo agento lauką kompiuteriu , kai šie žurnalai išstumiami iš serverio, esančio duomenų centre. Application Insights neleidžia perrašyti vartotojo agento lauko. Kartais vartotojo agento lauko užpildyti negalima. Vartotojo agentą, iš kurio buvo skambinta, galima peržiūrėti naudojant šią paraišką:
requests | summarize count() by tostring(customDimensions.userAgent)
Operation_Name: skaitomas operacijos pavadinimas, rodomas rodiniuose, pvz., rodinyje nuo galo iki galo.
Dataverse priedo vykdymo žurnalai
Šie pasirinktinių priedų, kuriuose veikia nurodyta operacija, žurnalai pateikiami Priklausomybių lentelėje. Toliau pateikiamas paraiškos pavyzdys:
dependencies
| where type == "Plugin"
| take 100
- Pavadinimas / paskirties vieta: visiškai apibrėžtas vykdomo priedo tipo pavadinimas.
- Trukmė: laikas, per kurį papildinys buvo įvykdytas.
-
CustomDimensions:
- Gylis: dabartinis vykdymo gylis skambučių krūvoje.
- EntityName: objekto, kurį veikia papildinys, pavadinimas.
-
IsolationType: reikšmė , nurodanti, ar papildinys vykdomas smėlio dėžėje:
- 1: Nėra
- 2: Smėlio dėžės
- 3: Išorinis
- PluginName: patogus papildinio pavadinimas.
- PluginType: vykdomo papildinio tipo pavadinimas.
- PluginVersion: paskelbto papildinio versija. Siekiama, kad naudojant šią informaciją būtų galima šalinti versijų naujinimų triktis.
-
Etapas: žemėlapiai su šiomis reikšmėmis:
- Išankstinis tikrinimas = 10
- Operacija prieš pagrindinę operaciją = 20
- PreOperationBeforeExternalPlugins = 15
- PreOperationAfterExternalPlugins = 25
- MainOperation = 30
- PostOperationBeforeExternalPlugins = 35
- PostOperationAfterExternalPlugins = 45
- PostOperation = 40
- PostOperationDeprecated = 50
- StepName: SDK pranešimų apdorojimo veiksmo pavadinimas. Tai paprastai generuojama priedų registravimo įrankiu, naudojant informaciją apie PluginName, PluginType ir operacijos pavadinimą, pvz., ErrorMessageTest.ThrowException: Kliento kūrimas.
Telemetrija papildo kode
Norėdami suprasti, kas vyksta jūsų papildinio kodo viduje, į priedą galite įtraukti pasirinktinę telemetriją iš savo priedo, naudodamiMicrosoft.Xrm.Sdk.PluginTelemetry.ILogger sąsają savo papildinio telemetrijos duomenyse įrašant telemetrijos duomenis tiesiogiai į jūsų Application Insights išteklių. Daugiau informacijos: telemetrijos rašymas ištekliams Application Insightsnaudojant "ILogger" (peržiūra)
Dataverse SDK žurnalai
Tai SDK operacijų, veikiančių kaip gaunamų užklausų dalis, žurnalai. Jie registruojami pagal priklausomybių lentelę Application Insights, nes jie sekami kaip užklausų vykdymo priklausomybės. Juos identifikuoja tipo pavadinimas, pradedant SDK. Toliau pateikiamas paraiškos pavyzdys:
dependencies
| where type startswith "SDK"
| take 10
- Tipas: suaktyvintos SDK užklausos tipas. Pavyzdžiai apima "Retrieve", "RetrieveMultiple", "FetchXmlToQueryExpression" ir "WhoAmI".
- Pavadinimas / paskirties vieta: tai objekto, kuriam taikoma SDK operacija, pavadinimas.
-
CustomDimensions:
- ClientType: kliento, iš kurio skambinama, tipas. Kai kurios galimos reikšmės yra žiniatinklio, UCICLIENT ir "OutlookFull".
- EntityId: naudojamo subjekto unikalus identifikatorius.
- EntityName: naudojamo objekto pavadinimas.
Išimtys
Application Insights matysite išsamią priedų ir SDK operacijų trikčių informaciją. Išimčių lentelė Application Insights veikia Trikčių skydelį. Ši išsami trikčių informacija tarpusavyje susijusi su kitais priedo ir SDK skambučių įvykiais galutinio rodinio metu. Visa turima informacija įtraukiama į stulpelius, kai įmanoma, ir į customDimensions kai nėra tikslaus stulpelio atitikmenų.
Pastebėsite, kad kai kurie iš Išimių lentelės laukų neįkeliami. Taip yra todėl, kad šiuos laukus galima nustatyti tik tuo atveju, jei Application Insights SDK yra naudojamas žurnalams iš šaltinio išskirti. Naudojant šią funkciją renkami platformos telemetrijos duomenys, o tada jį stumia į Application Insights pagal Application Insights schemą.
exceptions
| take 10
Šioje užklausoje bus pateikta visa atributų informacija iš išimčių lentelės.
- problemId/type: išimties tipas.
- outerMessage: išimties pranešimas.
-
customDimensions:
- clientType: kliento, iš kurio skambinama, tipas. Kai kurios galimos reikšmės yra žiniatinklio, UCICLIENT ir "OutlookFull".
- exceptionSource: papildinys arba taškas, kuriame buvo išmesta išimtis.
- entityName: naudojamo objekto pavadinimas.
- pluginName: papildinio, kuriame buvo išmesta išimtis, pavadinimas.
Jei naudotojas praneša apie klaidą, galite naudoti vartotojo ID (ID IDMicrosoft Entra ), kad suprastumėte išsamią informaciją iš išimčių lentelės.
exceptions
| where user_Id == '00aa00aa-bb11-cc22-dd33-44ee44ee44ee'
Objekto ID ir objekto pavadinimą galima naudoti customDimensionspriklausomybių lentelėje.
dependencies
| where type == "SDK Retrieve"
Dažnai užduodami klausimai (DUK)
Toliau pateikiami keli dažnai užduodami klausimai, susiję su telemetrijos įvykiais, skirtais Dataverse.
Kaip nustatyti, ar papildinio atnaujinimas įtakojo veikimo efektyvumas degradaciją?
dependencies
| where ['type'] == "Plugin"
| where name startswith "[InsertYourPluginName]"
| summarize avg(duration) by name
Papildinio pavadinime taip pat turi būti pasirinktinių priedų versija.
Kaip API buvo atliekama prieš pranešant apie problemą pagal dienos laiką arba vietą? Ar API degradacija buvo palaipsninė ar staigi?
requests
| where url == "https://<URLHere>"
| summarize avg(duration), count() by bin(timestamp, 1h)
| render timechart
Šioje diagramoje galime matyti API galinio punkto našumą per laikotarpį, atsižvelgiant į atliekamų užklausų skaičių.
Taip pat galite nustatyti įspėjimą pagal konkrečios API našumą Application Insights.
Ar galiu konkrečiu metu detalizuoti klaidas ar triktis arba konkrečius vartotojus, kad būtų galima suprasti skambučių sąrašą?
Žiūrint į Trikčių skydelį pateikiama trikčių per tam tikrą laikotarpį peržiūra. Tada, atsižvelgdami į API iškvietimą arba priklausomybės tipą, galite susiaurinti iki konkrečios trikties ir peržiūrėti užbaigtą rodinį.
Ar galiu sukurti įprastas ataskaitų sritis?
Taip. Galite kurti pasirinktines ataskaitų sritis su Application Insights.
Ar galiu nustatyti priedų naudojimo efektyvumą (atsako laiką) ir trikčių rodiklius intensyvaus naudojimo metu?
Taip. Peržiūrėkite šį užklausos pavyzdį ir sužinokite, kaip veikia jūsų priedai.
dependencies
| where ['type'] == "Plugin"
| where name == "[Plugin name here]"
| summarize avg(duration) by bin(timestamp, 1h)
| render timechart
Ar ši telemetrija turės droselį?
Taip. Šiuo metu pateikiama pagrindinė 429 klaidos informacija.
Ar galiu suprasti vykdymo kelią? Ar priedo atliekami skambučiai lėtina priedą?
Taip. Galite peržiūrėti visus bet kurios užklausos pranešimus ir papildinius.
Registruojama visų pranešimų ir priedų vykdymo trukmė. Jei bet kuris priedas užims daugiau laiko, galite identifikuoti tą priedą. Jei priedas atlieka skambutį atgal į Dataverse, registruojama to skambučio trukmė. Daugiau informacijos apie papildinius suplanuotus būsimam visuotiniam diegimui.
Bet koks priedo siunčiamas skambutis bus automatiškai registruojamas kaip priklausomybė.
Ar galiu peržiūrėti konkrečios užklausos telemetriją?
Dataverse antraštės atsakyme pateikia x-ms-service-requestId į visas užklausas. Naudodami šį requestId galite pateikti visų telemetrijų užklausą.
union *
| where operation_ParentId contains <requestId>