Udalosti telemetrie pre Microsoft Dataverse
Poznámka
nové a vylepšené Power Platform centrum správcov je teraz vo verejnej ukážke! Nové centrum spravovania sme navrhli tak, aby bolo jednoduchšie na používanie, s navigáciou orientovanou na úlohy, ktorá vám pomôže rýchlejšie dosiahnuť konkrétne výsledky. Keď sa nové Power Platform centrum spravovania presunie na všeobecnú dostupnosť, budeme zverejňovať novú a aktualizovanú dokumentáciu.
Dátový tok v súčasnosti poskytuje údaje o výkone súvisiace s prichádzajúcimi hovormi rozhrania API Dataverse, hovormi vykonania doplnku Dataverse a volaniami Dataverse SDK. Poskytuje tiež údaje o zlyhaniach v operáciách doplnkov a Dataverse SDK.
Prichádzajúce volanie Dataverse API
Toto sú volania vykonané pre Dataverse API. Môže to byť Zjednotené rozhranie (UCI), starší webový klient, vlastní klienti, ktorí používajú SDK, atď. Nájdete ich v tabuľke žiadosti Application Insights, ktorá má nasledujúce polia.
Názov: Typ požiadavky. Patria do dvoch kategórií:
- Požiadavka webového rozhrania API: Požiadavka na koncový bod OData v4, ktorý bežne používajú Unified Interface a moderní klienti. Táto požiadavka sa transformuje na operáciu, ktorá je spoločná pre obe. Web API je „obal“, ktorý umožňuje programovací model RESTful, ale po prijatí údajov sa na serveri stane všetko rovnaké. Po vrátení odpovede sa prevedie na JSON, ak požiadavka pochádza z webového rozhrania API.
- Požiadavka na organizačnú službu: Požiadavka na koncový bod Organizácie API, ktorý používajú klienti SDK alebo starší webový klient.
Trvanie: Čas, ktorý server potreboval na odpoveď na požiadavku.
Url: URL, na ktorú sa uskutočnil hovor.
CustomDimensions:
UserAgent: Application Insights automaticky vyplní pole používateľského agenta s PC , keď sú tieto protokoly odosielané zo servera v dátovom centre. Application Insights neumožňuje prepísať pole agenta používateľa. Pole agenta používateľa sa niekedy nedá vyplniť. Agenta používateľa, z ktorého bolo uskutočnené volanie, je možné zobraziť pomocou nasledujúceho dotazu:
requests | summarize count() by tostring(customDimensions.userAgent)
Operation_Name: čitateľný názov operácie, ktorý sa má zobraziť v zobrazeniach, ako je napríklad zobrazenie transakcie typu end-to-end.
Denníky spustenia doplnkov Dataverse
Tieto protokoly pre vlastné doplnky spustené pre danú operáciu sa nachádzajú v tabuľke závislosť. Nasleduje ukážka dotazu:
dependencies
| where type == "Plugin"
| take 100
- Názov/Cieľ: Plne kvalifikovaný názov typu pre vykonávaný plug-in.
- Trvanie: Množstvo času, ktoré trvalo spustenie doplnku.
-
CustomDimensions:
- Hĺbka: Aktuálna Hĺbka vykonania v zásobníku hovorov.
- EntityName: Názov entity, s ktorou doplnok pôsobí.
-
IsolationType: A hodnota udávajúca, či sa doplnok spúšťa v karanténe:
- 1: Žiadne
- 2: Inštancia izolovaného priestoru
- 3: Externý
- PluginName: Užívateľsky prívetivý názov doplnku.
- PluginType: Názov typu vykonávaného plug-inu.
- PluginVersion: Verzia zverejneného doplnku. Zámerom je byť schopný tieto informácie použiť na riešenie problémov s aktualizáciami verzií.
-
Stage: Mapuje sa na nasledujúce hodnoty:
- Predbežné overenie = 10
- PreOperation = 20
- PreOperationBeforeExternalPlugins = 15
- PreOperationAfterExternalPlugins = 25
- MainOperation = 30
- PostOperationBeforeExternalPlugins = 35
- PostOperationAfterExternalPlugins = 45
- PostOperation = 40
- PostOperationDeprecated = 50
- StepName: Názov kroku spracovania správ SDK. Spravidla sa generuje nástrojom na registráciu doplnkov pomocou informácií o PluginName, PluginType a názve operácie – napríklad ErrorMessageTest.ThrowException: Vytvorenie účtu.
Telemetria v rámci vášho kódu doplnku
Aby sme pochopili, čo sa deje v rámci vášho kódu doplnku, môžete zahrnúť vlastnú telemetriu z vášho doplnku pomocou rozhrania Microsoft.Xrm.Sdk.PluginTelemetry.ILogger vo vašom zásuvnom kóde na zápis telemetrických údajov priamo do vášho zdroja Application Insights. Viac informácií: Napíšte telemetriu do svojho zdroja Application Insights pomocou ILogger (ukážka)
Denníky Dataverse SDK
Toto sú protokoly pre operácie SDK spúšťané ako súčasť prichádzajúcej požiadavky. Tie sa zaznamenávajú v tabuľke závislosti v Application Insights, pretože sú sledované ako závislosti pre požiadavku na vykonanie. Sú identifikované podľa názvu typu, od SDK. Nasleduje ukážka dotazu:
dependencies
| where type startswith "SDK"
| take 10
- Typ: Typ spustenej požiadavky SDK. Príklady zahŕňajú Retrieve, RetrieveMultiple, FetchXmlToQueryExpression a WhoAmI.
- Názov/cieľ: Toto je názov entity, na ktorú je zacielená operácia SDK.
-
CustomDimensions:
- ClientType: Typ klienta, od ktorého hovor prichádza. Niektoré možné hodnoty sú Web, UCIClient a OutlookFull.
- EntityId: Jedinečný identifikátor používanej entity.
- EntityName: Názov entity, ktorá sa používa.
Výnimky
Uvidíte podrobnosti o zlyhaniach pri doplnkoch a operáciách SDK v Application Insights. Tabuľka výnimiek v Application Insights poháňa panel Zlyhania. Tieto podrobnosti o zlyhaní korelujú so zvyškom udalostí v doplnku a volaniach SDK v komplexnom zobrazení. Všetky dostupné informácie sa pridávajú do stĺpcov, pokiaľ je to možné, a do customDimensions, keď neexistuje presná zhoda stĺpcov.
Všimnite si, že niektoré z polí v tabuľke výnimky nie sú vyplnené. Je to tak preto, lebo tieto polia je možné nastaviť, iba ak sa Application Insights SDK používa na vysielanie protokolov zo zdroja. Táto funkcia zhromažďuje telemetriu platformy a potom ju vkladá do Application Insights v súlade so schémou Application Insights.
exceptions
| take 10
Tento dopyt vráti všetky podrobnosti atribútu z tabuľky výnimky.
- problemId/type: Typ výnimky.
- externalMessage: Správa o výnimke.
-
customDimensions:
- clientType: Typ klienta, od ktorého hovor prichádza. Niektoré možné hodnoty sú Web, UCIClient a OutlookFull.
- exceptionSource: Plug-in alebo bod, kde bola vyvolaná výnimka.
- entityName: Názov entity, ktorá sa používa.
- pluginName: Názov doplnku, kde bola vyvolaná výnimka.
Ak používateľ nahlási chybu, môžete použiť ID používateľa (Microsoft Entra ID ID), aby ste pochopili podrobnosti z tabuľky výnimky .
exceptions
| where user_Id == '00aa00aa-bb11-cc22-dd33-44ee44ee44ee'
ID entity a názov entity sú k dispozícii v customDimensions v tabuľke závislosti.
dependencies
| where type == "SDK Retrieve"
Najčastejšie otázky
Nasleduje niekoľko často kladených otázok týkajúcich sa telemetrických udalostí pre Dataverse.
Ako môžem zistiť, či moja aktualizácia doplnku spôsobila zníženie výkonu?
dependencies
| where ['type'] == "Plugin"
| where name startswith "[InsertYourPluginName]"
| summarize avg(duration) by name
Názov doplnku by mal obsahovať aj verziu pre vlastné doplnky.
Aký bol výkon rozhrania API pred nahláseným problémom, na základe dennej doby alebo polohy? Bola degradácia API postupná alebo náhla?
requests
| where url == "https://<URLHere>"
| summarize avg(duration), count() by bin(timestamp, 1h)
| render timechart
V tomto grafe vidíme výkonnosť koncového bodu API za určité obdobie v porovnaní s počtom zadaných požiadaviek.
Môžete tiež nastaviť výstrahu na základe výkonu konkrétneho API v rámci Application Insights.
Môžem podrobne preskúmať chyby alebo zlyhania v konkrétnom čase alebo pre konkrétnych používateľov, aby som porozumel zásobníku hovorov?
Pohľad na panel Zlyhania poskytuje prehľad porúch v danom časovom období. Potom sa môžete zúžiť na konkrétne zlyhanie na základe volania API alebo typu závislosti, aby ste videli komplexné zobrazenie.
Môžem vytvoriť vlastné tabule?
Áno. Môžete zostaviť vlastné tabule s Application Insights.
Môžem určiť výkon používania doplnku (čas odozvy) a mieru zlyhania počas špičkového používania?
Áno. V nasledujúcom ukážkovom dotaze nájdete informácie o tom, ako fungujú vaše doplnky.
dependencies
| where ['type'] == "Plugin"
| where name == "[Plugin name here]"
| summarize avg(duration) by bin(timestamp, 1h)
| render timechart
Bude mať táto telemetria obmedzenia?
Áno. Momentálne sú poskytované podrobnosti o základnej chybe 429.
Môžem pochopiť cesty vykonania? Spúšťajú doplnky uskutočňované doplnkom spomalenie?
Áno. Môžete zobraziť všetky správy a doplnky, ktoré sa vykonávajú pri akejkoľvek požiadavke.
Trvanie všetkých správ a doplnkov sa zaznamenáva do protokolu. Ak nejaký doplnok trvá dlhšie, môžete ho identifikovať. Ak doplnok spätne volá Dataverse, je zaznamenaná dĺžka tohto volania. Ďalšie informácie o doplnkoch sú plánované na budúce nasadenie.
Akékoľvek odchádzajúce volanie uskutočnené doplnkom sa automaticky zaznamená ako závislosť.
Môžem zobraziť telemetriu pre konkrétnu požiadavku?
Dataverse vráti x-ms-service-requestId v odpovedi hlavičky na všetky požiadavky. Pomocou tohto requestId môžete dopytovať celú telemetriu.
union *
| where operation_ParentId contains <requestId>