Zdieľať cez


Udalosti telemetrie pre Microsoft Dataverse

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žíva 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.
    • Žiadosť o organizačnú službu: Žiadosť pre koncový bod rozhrania Organization API, ktorú používajú klienti SDK alebo starší webový klient.
  • Trvanie: Čas, ktorý server potreboval na odpoveď na požiadavku.

  • Url: URL adresa, na ktorú bolo volanie uskutočnené.

  • Vlastné rozmery:

    • UserAgent: Application Insights automaticky vyplní pole používateľského agenta hodnotou PC pri odosielaní týchto protokolov 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)
      

      Application Insights Používateľský agent CustomDimensions.

  • Operation_Name: Čitateľný názov operácie, ktorý sa má zobraziť v zobrazeniach, napríklad v zobrazení komplexných transakcií.

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

Application Insights Dataverse protokoly vykonávania doplnkov.

  • Názov/Cieľ: Úplne kvalifikovaný názov typu pre spúšťaný doplnok.
  • Trvanie: Čas, ktorý trvalo spustenie doplnku.
  • Vlastné rozmery:
    • Hĺbka: Aktuálna hĺbka vykonania v zásobníku volaní.
    • NázovEntity: Názov entity, na ktorú doplnok reaguje.
    • IsolationType: Hodnota označujúca, či sa doplnok vykonáva v sandboxe:
      • 1: Žiadne
      • 2: Inštancia izolovaného priestoru
      • 3: Externý
    • NázovPluginu: Názov pluginu, ktorý je užívateľsky prívetivý.
    • PluginType: Názov typu spúšťaného doplnku.
    • PluginVersion: Verzia publikovaného doplnku. Zámerom je byť schopný tieto informácie použiť na riešenie problémov s aktualizáciami verzií.
    • Fáza: Mapuje sa na nasledujúce hodnoty:
      • Predbežné overenie = 10
      • Predprevádzka = 20
      • PreOperationBeforeExternalPlugins = 15
      • PreOperationAfterExternalPlugins = 25
      • Hlavná prevádzka = 30
      • PostOperationBeforeExternalPlugins = 35
      • PostOperationAfterExternalPlugins = 45
      • PostOperation = 40
      • PostOperationDeprecated = 50
    • Názov kroku: 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

Application Insights SDK pre dotazy.

  • 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ú sa zameriava operácia SDK.
  • Vlastné rozmery:
    • ClientType: Typ klienta, od ktorého hovor prichádza. Niektoré možné hodnoty sú Web, UCIClient a OutlookFull.
    • EntityId: Jedinečný identifikátor použitej entity.
    • NázovEntity: Názov použitej entity.

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.

Application Insights tabuľka výnimiek.

exceptions
| take 10

Tento dopyt vráti všetky podrobnosti atribútu z tabuľky výnimky.

  • problemId/type: Typ výnimky.
  • outerMessage: Správa o výnimke.
  • vlastnéRozmery:
    • clientType: Typ klienta, od ktorého hovor prichádza. Niektoré možné hodnoty sú Web, UCIClient a OutlookFull.
    • exceptionSource: Doplnok alebo bod, kde bola vyvolaná výnimka.
    • entityName: Názov použitej entity.
    • pluginName: Názov doplnku, v ktorom bola vyvolaná výnimka.

Application Insights podrobnosti atribútov tabuľky výnimiek.

Ak používateľ nahlási chybu, môžete použiť ID používateľa (Microsoft Entra ID ID) na pochopenie podrobností z tabuľky výnimiek .

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"

Application Insights Dotaz na načítanie SDK.

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 

Application Insights Časový graf výkonnosti API.

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.

Application Insights podrobnosti o zlyhaniach.

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

Výkon používania doplnkov.

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

Transakcia typu end-to-end.

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>