Jagamisviis:


Microsoft Dataverse’i telemeetriasündmused

Andmevoog pakub praegu jõudlusandmeid, mis on seotud Dataverse API sissetulevate kõnede, Dataverse lisandmooduli käivitamiskutsete ja Dataverse SDK-kõnedega. Samuti annab see andmeid lisandmooduli ja Dataverse SDK toimingute nurjumise korral.

Dataverse API sissetulevad kõned

Need kõned tehakse Dataverse API-sse. Need võivad olla Unified Interface (UCI), pärand-veebikliendist, SDK-d kasutavad kohandatud klientrakendused jne. Need on toodud taotluste tabel Application Insights, milles on järgmised väljad.

  • Nimi: Päringu tüüp. Need kategooriad kuuluvad kahte kategooriasse:

    • Veebi API päring: päring OData v4 lõpp-punktile, mida Unified Interface ja tänapäevased kliendid tavaliselt kasutavad. See päring võetakse operatsiooniks, mis on mõlemale levinud. Web API on "ümbris", mis võimaldab RESTful programmeerimismudelit, kuid pärast andmete saamist muutub kõik serveris samaks. Kui vastus tagastatakse, teisendatakse see JSON-iks, kui päring pärineb Web API-st.
    • Organisatsiooni teenusepäring: Päring organisatsiooni API lõpp-punktile, mida kasutavad SDK kliendid või pärandveebiklient.
  • Kestus: Aeg, mis serveril kulus päringule vastamiseks.

  • Url: URL, millele kutse tehti.

  • Kohandatud mõõtmed:

    • Kasutajaagendi väljale lisatakse automaatselt arvuti, kui neid logisid andmekeskuse serverist edastatakse. Application Insights Application Insights ei luba kasutajaagendi välja alistamist. Mõnikord pole kasutajaagendi väli asustada saadaval. Kasutajaagendit, kust kõne tehti, saab vaadata järgmise päringu abil.

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

      Application Insights CustomDimensions kasutajaagent.

  • Operatsiooni_nimi: Vaadetes kuvatav toimingu loetav nimi, näiteks tervikliku tehingu vaates.

Dataverse Kõik lisandmooduli jälituslogid

Need konkreetse toimingu jaoks töötavad kohandatud lisandmoodulid logitakse sõltuvus tabelist. Järgmine on näidispäring:

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

Application Insights Dataverse pluginate käivitamise logid.

  • Nimi/Sihtmärk: Käitatava plugina täielikult kvalifitseeritud tüübinimi.
  • Kestus: plugina käivitamiseks kulunud aeg.
  • Kohandatud mõõtmed:
    • Sügavus: Täitmise praegune sügavus kõnede pinus.
    • EntityName: Plugina poolt mõjutatud üksuse nimi.
    • IsolationType: väärtus , mis näitab, kas pluginat käivitatakse liivakastis:
      • 1: Pole
      • 2: Liivakast
      • 3: Väline
    • PluginName: Plugin-i kasutajasõbralik nimi.
    • PluginType: Käivitatava plugina tüübi nimi.
    • PluginVersion: Avaldatud plugina versioon. Siin on plaanis kasutada seda teavet versioonivärskenduste tõrkeotsinguks.
    • Etapp: Vastab järgmistele väärtustele:
      • Enne valideerimist = 10
      • Enne tööd = 20
      • PreOperationBeforeExternalPlugins = 15
      • PreOperationAfterExternalPlugins = 25
      • MainOperation = 30
      • PreOperationBeforeExternalPlugins = 35
      • PreOperationAfterExternalPlugins = 45
      • Operatsioonijärgne = 40
      • PostOperationDeprecated = 50
    • StepName: SDK sõnumi töötlemise etapi nimi. Tavaliselt genereerib selle lisandmooduli registreerimise tööriist, kasutades teavet PluginName, PluginType ja tegevused, näiteks ErrorMessageTest.ThrowException: Konto loomine.

Telemeetria lisandmooduli koodis

Et mõista, mis teie lisandmooduli koodis toimub, saate lisada oma lisandmoodulisse kohandatud telemeetria kasutades lisandmooduli Microsoft.Xrm.Sdk.PluginTelemetry.ILogger Interface et kirjutada telemeetriaandmed otse teie Application Insights ressursile. Lisateave: Telemeetria kirjutamine ressursile Application Insights kasutades ILoggeri abi (eelvaade)

Dataverse SDK logid

Need on SDK toimingute logid, mis käivitatakse sissetuleva päringu osana. Need logitakse sõltuvus tabelisse, kuna neid jälgitakse Application Insights käivitatava päringu sõltuvustena. Need on tuvastatud tüübi nime järgi, alustades SDK. Järgmine on näidispäring:

dependencies
| where type startswith "SDK"
| take 10

Application Insights päringu SDK.

  • Tüüp: Käivitatud SDK-päringu tüüp. Näited on Too, RetrieveMultiple, FetchXmlToQueryExpression ja WhoAmI.
  • Nimi/Sihtmärk: See on SDK toimingu sihtmärgiks oleva üksuse nimi.
  • Kohandatud mõõtmed:
    • Klienditüüp: Kliendi tüüp, kellelt kõne tuleb. Mõned võimalikud väärtused on veeb, UCIKlient ja OutlookFull.
    • EntityId: Kasutatava üksuse unikaalne identifikaator.
    • EntityName: Kasutatava üksuse nimi.

Erandid

Näete lisandmooduli ja SDK toimingute nurjumise Application Insights üksikasju. Erandite tabel, mis on esitatud Application Insights volitused Nurjumised paneelil. Need nurjumise üksikasjad korrelatsioonis lisandmooduli ülejäänud sündmustega ja SDK kõned lõpp-vaates. Kui veerud pole täpseid vasteid, lisatakse kogu saadav teave veergudesse võimalusel ja kohandatud atribuutidesse.

Märkate, et mõnda eranditabeli välja ei asustada. Põhjus on selles, et neid välju saab seada ainult Application Insights juhul, kui SDK-d kasutatakse allikast logide edumiseks. See funktsioon kogub platvormi telemeetriat ja seejärel Application Insights tõukab selle skeemi kohaselt Application Insights sisse.

Application Insights erandite tabel.

exceptions
| take 10

See päring tagastab eranditabelist kõik atribuudi üksikasjad.

  • problemId/type: Erandi tüüp.
  • outerMessage: Erandi teade.
  • kohandatud mõõtmed:
    • clientType: Kliendi tüüp, kellelt kõne tuleb. Mõned võimalikud väärtused on veeb, UCIKlient ja OutlookFull.
    • exceptionSource: plugin või punkt, kus erand tekkis.
    • entityName: Kasutatava üksuse nimi.
    • pluginName: Lisandmooduli nimi, mille puhul erand tekkis.

Application Insights Erandtabeli atribuudi üksikasjad.

Kui kasutaja teatab veast, saate kasutaja ID (Microsoft Entra ID ID) abil saada üksikasju erandite tabelist.

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

Olemi ID ja olemi nimi on saadaval customDimensions tabelis sõltuvustabelis.

dependencies
| where type == "SDK Retrieve"

Application Insights SDK toomise päring.

Korduma kippuvad küsimused (KKK)

Järgnevad on mõned korduma kippuvad küsimused, mis on seotud telemeetriasündmustega Dataverse.

Kuidas teha kindlaks, kas minu lisandmooduli täiendus tekitas jõudluselendumise?

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

Lisandmooduli nimi peaks sisaldama ka kohandatud lisandmoodulite versiooni.

Kuidas API teostas enne esitatud probleemi, võttes aluseks kellaaja või asukoha? Kas API oli ülekeeruline ülekeeruline ja ülekeeruline?

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

Application Insights API toimivuse ajagraafik.

Selles diagrammis võime näha API lõpp-punkti jõudlust teatud aja jooksul, võrreldes tehtud taotluste arvuga.

Siin saate seadistada ka hoiatusteate, mis põhineb konkreetse API Application Insights toimivusel.

Kas ma saan teatud aegadel või kindlate kasutajate jaoks süvitsi minna tõrgete või tõrgetega, et kõnepinu mõista?

Paneeli Nurjumised ülevaade antud ajavahemiku nurjumistest. Seejärel saate lõppvaate kuvamiseks piiritleda API kõne või sõltuvustüübi põhjal konkreetse nurjumise.

Application Insights rikete üksikasjad.

Kas ma saan luua kohandatud armatuurlaudu?

Jah. Saate luua kohandatud armatuurlaua rakendusega Application Insights.

Kas saan määratleda lisandmooduli kasutusjõudluse (reageerimisaeg) ja nurjumismäärad mäluruumi kasutamise ajal?

Jah. Vaadake järgmist näidispäringut, et teada saada, kuidas teie lisandmoodulid teevad.

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

Pistikprogrammi kasutamise jõudlus.

Kas see telemeetria lekib?

Jah. Praegu on antud 429 tõrke üksikasjad.

Kas ma saan aru täitmisteedest? Kas lisandmooduli tehtud kõned aeglustavad lisandmoodulit?

Jah. Saate vaadata kõiki mis tahes päringu puhul teostatud sõnumeid ja lisandmooduleid.

Kogu sõnumi ja lisandmooduli käivitamise kestus logitakse. Kui mõni lisandmoodul võtab rohkem aega, saate selle lisandmooduli tuvastada. Kui lisandmoodul helistab tagasi, siis Dataverse logitakse selle kõne kestus. Lisateavet lisandmoodulite kohta plaanitakse edaspidiseks juurutamiseks.

Kõik lisandmooduli tehtud väljaminevad kõned logitakse automaatselt sõltuvusse.

Lõpp-otsa tehing.

Kas konkreetse taotluse telemeetriat saab vaadata?

Dataverse tagastab kõigi päringute päises vastuses väärtuse x-ms-service-requestId. Kasutades requestId abil saate esitada päringuid kõigi telemeetria kohta.

union *
| where operation_ParentId contains <requestId>