Megosztás a következőn keresztül:


A Microsoft Dataverse telemetria-eseményei

Feljegyzés

Az új és továbbfejlesztett Power Platform felügyeleti központ mostantól nyilvános előzetes verzióban érhető el! Az új felügyeleti központot úgy terveztük, hogy könnyebben használható legyen, feladatorientált navigációval, amely segít gyorsabban elérni bizonyos eredményeket. Új és frissített dokumentációt fogunk közzétenni, amint az új Power Platform felügyeleti központ általánosan elérhetővé válik.

Az adatfolyam jelenleg az Dataverse API bejövő hívásaihoz, a Dataverse beépülő modulok végrehajtási hívásaihoz és az Dataverse SDK-hívásokhoz kapcsolódó teljesítményadatokat szolgáltat. A plug-in és Dataverse-SDK műveletek hibáira vonatkozó adatokat is szolgáltat.

Bejövő Dataverse-API hívások

Ezek az Dataverse-API-hoz intézett hívások. Ezek lehetnek az egységesített interfész (UCI), a régi webes ügyfél, az SDK-t használó egyéni ügyfelek stb. Ezek a következő mezőkkel rendelkező kérelemtábláibanApplication Insights találhatók.

  • Név: A kérés típusa. Ezek két kategóriába sorolhatók:

    • Webes API-kérés: Az egyesített felület és a modern ügyfelek által gyakran használt OData v4 végpontra irányuló kérés. Ez a kérés egy olyan műveletté alakul át, amely mindkettőjük esetén közös. A webes API egy „burkolat” a RESTful programozási modell lehetővé tételére, de az adatok fogadása után minden ugyanolyan lesz a szerveren belül. A válasz visszaküldésekor a válasz JSON-ba kerül átalakításra, ha a kérés a webes API-tól érkezett.
    • Szervezeti szolgáltatáskérés: Az SDK-ügyfelek vagy az örökölt webes ügyfél által használt szervezeti API-végpontra vonatkozó kérés.
  • Időtartam: Az az idő, amely alatt a kiszolgáló válaszolt a kérésre.

  • URL: Az az URL-cím, amelyre a hívás történt.

  • CustomDimensions:

    • UserAgent: Application Insights automatikusan kitölti a felhasználói ügynök mezőjét a számítógéppel , mivel ezeket a naplókat egy adatközpont szerveréről küldik le. Az Application Insights nem engedi a felhasználói ügynök mező felülbírálását. Előfordul, hogy a felhasználói ügynök mezőt nem lehet kitölteni. A felhasználói ügynök, ahonnan a hívás érkezett, a következő lekérdezéssel tekinthető meg:

      requests
      | summarize count() by tostring(customDimensions.userAgent)
      

      Application Insights CustomDimensions UserAgent.

  • Operation_Name: A nézetekben, például a végpontok közötti tranzakciós nézetben megjelenítendő művelet olvasható neve.

Dataverse plug-in végrehajtási naplók

Az adott művelethez futó egyéni beépülő modulok naplói a függőségi táblázatban találhatók. Az alábbiakban egy minta lekérdezés következik:

dependencies
| where type == "Plugin"
| take 100

Application Insights Dataverse beépülő modulok végrehajtási naplói.

  • Név/cél: A végrehajtott beépülő modul teljes típusneve.
  • Időtartam: A beépülő modul végrehajtásához szükséges idő.
  • CustomDimensions:
    • Mélység: A végrehajtás aktuális mélysége a hívási veremben.
    • EntityName: Annak az entitásnak a neve, amelyre a beépülő modul műveletet hajt végre.
    • IsolationType: Egy érték, amely azt jelzi, hogy a beépülő modul végrehajtása folyamatban van-e a tesztkörnyezetben:
      • 1: Nincs
      • 2: Tesztkörnyezet
      • 3: Külső
    • PluginName: A beépülő modul felhasználóbarát neve.
    • PluginType: A végrehajtandó beépülő modul típusának neve.
    • PluginVersion: A közzétett beépülő modul verziója. A cél az, hogy ezt az információt felhasználhassuk a verziófrissítések hibaelhárítására.
    • Szakasz: A következő értékekre van leképezve:
      • PreValidation = 10
      • PreOperation = 20
      • PreOperationBeforeExternalPlugins = 15
      • PreOperationAfterExternalPlugins = 25
      • MainOperation = 30
      • PostOperationBeforeExternalPlugins = 35
      • PostOperationAfterExternalPlugins = 45
      • PostOperation = 40
      • PostOperationDeprecated = 50
    • StepName: Az SDK-üzenetfeldolgozási lépés neve. Ezt általában a Plugin Registration Tool (PRT) generálja a PluginName, a PluginType és a művelet neve alapján – például ErrorMessageTest.ThrowException: Fiók létrehozása.

Telemetria a beépülő modul kódjában

Ahhoz, hogy megértse, mi történik a beépülő modul kódján belül, a Microsoft.Xrm.Sdk.PluginTelemetry.ILogger interfész használatával a beépülő modul kódjában egyéni telemetriát is tartalmazhat a beépülő modulból, hogy a telemetriai adatokat közvetlenül az Application Insights-erőforrásba írja. További információ: Telemetria írása az Application Insights-erőforrásba az ILogger használatával (előnézet)

Dataverse SDK naplók

Ezek a bejövő kérés részeként indított SDK műveletek naplói. Ezek a függőségi táblázatba kerülnek be az Application Insights-ban, mert a kérés végrehajtásához függőségként követik őket. Ezeket a típusnév azonosítja, amely SDK-val kezdődik. Az alábbiakban egy minta lekérdezés következik:

dependencies
| where type startswith "SDK"
| take 10

Application Insights lekérdezési SDK.

  • Típus: Az aktivált SDK-kérés típusa. Ilyen például a Retrieve, RetrieveMultiple, FetchXmlToQueryExpression és a WhoAmI.
  • Név/cél: Ez az SDK-művelet által megcélzott entitás neve.
  • CustomDimensions:
    • ClientType: A hívás által érkező ügyfél típusa. Néhány lehetséges érték: Web, UCIClient és OutlookFull.
    • EntityId: A használt entitás egyedi azonosítója.
    • EntityName: A használt entitás neve.

Kivételek

A plug-in és SDK műveletek hibáinak részleteit az Application Insights-ban tekintheti meg. A kivételek táblázata a Application Insights Hibák paneljén található. Ezek a hibarészletek korrelálnak a plug-in és az SDK-hívások többi eseményével a végponttól végpontig nézetben. Az összes rendelkezésre álló információ lehetőség szerint az oszlopokhoz kerül hozzáadásra, illetve a customDimensions-hez, ha nincs pontos oszlopmegfelelés.

Észre fogja venni, hogy a kivételek táblázat néhány mezője nincs kitöltve. Ennek oka, hogy ezek a mezők csak akkor állíthatók be, ha az Application Insights-SDK-t a forrásból származó naplók kibocsátására használják. Ez a funkció összegyűjti a platform telemetriáját, majd a Application Insights-sémának megfelelően betölti azt az Application Insights-ba.

Application Insights Kivételek táblázata.

exceptions
| take 10

Ez a lekérdezés az összes attribútum részletét visszaadja a kivétel táblából.

  • problemId/type: A kivétel típusa.
  • outerMessage: A kivételüzenet.
  • customDimensions:
    • clientType: A hívás által érkező ügyfél típusa. Néhány lehetséges érték: Web, UCIClient és OutlookFull.
    • exceptionSource: Az a beépülő modul vagy pont, ahol a kivétel történt.
    • entityName: A használt entitás neve.
    • pluginName: Annak a beépülő modulnak a neve, amelyben a kivétel történt.

Application Insights kivételek táblaattribútum részletei.

Ha egy felhasználó hibát jelent, a felhasználói azonosító (Microsoft Entra azonosítóazonosító) segítségével megértheti a kivételtábla részleteit.

exceptions
| where user_Id == '00aa00aa-bb11-cc22-dd33-44ee44ee44ee'

Az entitás azonosítója és az entitás neve a függőségi táblázatban a customDimensions alatt érhető el.

dependencies
| where type == "SDK Retrieve"

Application Insights SDK lekérdezés lekérése.

Gyakran ismételt kérdések (GYIK)

Az alábbiakban néhány gyakran feltett kérdés a telemetriai eseményekkel kapcsolatban a Dataverse-ben.

Hogyan állapíthatom meg, hogy a beépülő modul frissítése teljesítménycsökkenést okozott-e?

dependencies
| where ['type'] == "Plugin"
| where name startswith "[InsertYourPluginName]"
| summarize avg(duration) by name

A beépülő modul nevének tartalmaznia kell a verziót is az egyéni beépülő modulok esetében.

Milyen volt az API teljesítménye a bejelentett probléma előtt, napszak vagy helyszín alapján? Az API degradációja fokozatos vagy hirtelen következett be?

requests
| where url == "https://<URLHere>"
| summarize avg(duration), count() by bin(timestamp, 1h)
| render timechart 

Application Insights API teljesítmény idődiagramja.

Ezen a diagramon az API végpont teljesítményét láthatjuk egy bizonyos időszak alatt a kérések számával összevetve.

Itt is beállíthat riasztást egy adott API teljesítménye alapján az Application Insights-ban.

Megkereshetem a hibákat vagy hibákat bizonyos időpontokban vagy bizonyos felhasználók esetében, hogy lehetővé tegyem a hívási verem megértését?

A Hibák panel áttekintést nyújt az adott időszak hibáiról. Ezután az API-hívás vagy a függőség típusa alapján leszűkítheti a hiba körét, és megtekintheti a végponttól végpontig tartó nézetet.

Application Insights hibák részletei.

Létrehozhatok egyéni irányítópultokat?

Igen. Egyéni irányítópultokat készíthet az Application Insights-ban.

Meg tudom-e határozni a plug-inek használati teljesítményét (válaszidő) és a hibaarányt a csúcshasználat során?

Igen. Tekintse meg a következő mintakérdést, hogy megértse, hogyan teljesítenek a beépülő modulok.

dependencies
| where ['type'] == "Plugin"
| where name == "[Plugin name here]"
| summarize avg(duration) by bin(timestamp, 1h)
| render timechart

Beépülő modulok használati teljesítménye.

Ez a telemetria rendelkezik majd fojtással?

Igen. Jelenleg az alapvető 429-es hibák részleteit adják meg.

Megismerhetem a végrehajtási útvonalakat? A beépülő modul által kezdeményezett hívások lassítják a beépülő modult?

Igen. Megtekintheti az összes üzenetet és bővítményt, amely bármelyik kérelemhez végrehajtásra került.

Minden üzenet és beépülő modul végrehajtásának időtartama naplózásra kerül. Ha valamelyik bővítmény több időt vesz igénybe, akkor azt a bővítményt azonosíthatja. Ha a beépülő modul visszahívást kezdeményez a Dataverse felé, a hívás időtartama naplózásra kerül. A bővítményekkel kapcsolatos további információkat a jövőbeni telepítésre tervezünk.

A bővítmény által kezdeményezett minden kimenő hívás automatikusan függőségként lesz naplózva.

Végpontok közötti tranzakció.

Megnézhetem egy adott kérés telemetriáját?

A Dataverse x-ms-service-requestId-t ad vissza a fejléc válaszában minden kérelemre. Ezzel a requestId-vel lekérdezheti az összes telemetriát.

union *
| where operation_ParentId contains <requestId>