Белешка
Приступ овој страници захтева ауторизацију. Можете покушати да се пријавите или промените директоријуме.
Приступ овој страници захтева ауторизацију. Можете покушати да промените директоријуме.
Ток података тренутно пружа податке о учинку који се односе на Dataverse API долазне позиве, Dataverse позиве за извршење додатка и Dataverse SDK позиве. Такође пружа податке о неуспесима у додатној компоненти и Dataverse SDK операцијама.
Dataverse API долазни позиви
То су позиви упућени Dataverse API-ју. Могу бити из обједињеног интерфејса (UCI), наслеђеног веб-клијента, прилагођених клијената који користе SDK итд. Могу се наћи у табели захтева услуге Application Insights, која има следећа поља.
Име : Врста захтева. Они спадају у две категорије:
- Захтев за веб АПИ: Захтев за крајњу тачку ОДата вКСНУМКС који се обично користи од стране обједињеног интерфејса и модерних клијената. Овај захтев се претвара у операцију која је заједничка обома. Web API је „омотач“ који омогућава RESTful модел програмирања, али након пријема података, све постаје исто на серверу. Када се одговор врати, претвара се у JSON ако је захтев стигао из Web API-ја.
- Захтев за услугу организације: Захтев за крајњу тачку АПИ-ја организације коју користе СДК клијенти или наслеђени веб клијент.
Трајање : Количина времена коју је серверу требало да одговори на захтев.
УРЛ : УРЛ на који је позив упућен.
ЦустомДименсионс:
УсерАгент : Application Insights аутоматски попуњава поље корисничког агента са рачунаром јер се ови записи гурају са сервера у центру података. Application Insights не омогућава преписивање поља корисничког агента. Понекад поље корисничког агента није доступно за попуњавање. Кориснички агент из којег је упућен позив може се видети помоћу следећег упита:
requests | summarize count() by tostring(customDimensions.userAgent)
Оператион _Наме : Читљив назив операције за приказ на приказима, као што је приказ трансакције од краја до краја.
Dataverse евиденције извршавања додатне компоненте
Ове евиденције за прилагођене додатне компоненте који се изводе за одређену операцију налазе се у табели зависности. Следи пример упита:
dependencies
| where type == "Plugin"
| take 100
- Име / Циљ : Потпуно квалификовано име типа за додатак који се извршава.
- Трајање : Количина времена која је била потребна за плуг-ин да се изврши.
-
ЦустомДименсионс:
- Дубина : Тренутна дубина извршења у позиву.
- ЕнтитyНаме : Име ентитета на који се понаша од стране додатка.
-
ИсолатионТyпе : Вредност која показује да ли се плуг-ин извршава у сандбоx-у:
- 1: Ниједно
- 2 : Сандбок
- 3: Спољно
- ПлугинНаме : Корисничко име додатка.
- ПлугинТипе : Назив типа плуг-ина који се извршава.
- ПлугинВерсион : Верзија објављеног додатка. Намера овде је да можемо да користимо ове информације за решавање проблема са ажурирањима верзија.
-
Фаза : Мапира се на следеће вредности:
- Претходна валидација = КСНУМКС
- Претходна операција = 20
- ПреОператионБефореЕxтерналПлугинс = 15
- ПреОператионАфтерЕxтерналПлугинс = 25
- МаинОператион = 30
- ПостОператионБефореЕxтерналПлугинс = 35
- ПостОператионАфтерЕxтерналПлугинс = 45
- ПостОператион = 40
- ПостОператионДепрецатед = КСНУМКС
- СтепНаме : Име корака обраде СДК порука. Ово обично генерише алат за регистрацију додатака помоћу података о PluginName, PluginType и назив операције – на пример ErrorMessageTest.ThrowException: Креирање налога.
Телеметрија унутар вашег додатног кода
Да бисте разумели шта се дешава унутар кода ваше додатне компоненте, можете укључити прилагођену телеметрију из свог додатка помоћу Microsoft.Xrm.Sdk.PluginTelemetry.ILogger интерфејса у свом коду додатне компоненте за писање телеметријских података директно на ваш Application Insights ресурс. Још информација: Напишите телеметрију у свој Application Insights ресурс користећи ILogger (верзија за преглед)
Dataverse SDK евиденције
То су евиденције за SDK операције покренуте као део долазног захтева. Оне се евидентирају у табели зависности у услузи Application Insights, јер се прате као зависности за извршење захтева. Препознају се по имену типа, почев од SDK. Следи пример упита:
dependencies
| where type startswith "SDK"
| take 10
- Тип : Тип СДК захтева активиран. Примери укључују Retrieve, RetrieveMultiple, FetchXmlToQueryExpression и WhoAmI.
- Име / циљ : Ово је име ентитета који је на мети СДК операције.
-
ЦустомДименсионс:
- ЦлиентТипе : Тип клијента из којег долази позив. Неке могуће вредности су Web, UCIClient и OutlookFull.
- ЕнтитyИд : Јединствени идентификатор ентитета који се користи.
- ЕнтитyНаме : Име ентитета који се користи.
Изузеци
Видећете детаље неуспеха у операцијама додатних компоненти и SDK у услузи Application Insights. Табела изузетака у услузи Application Insights покреће таблу Неуспеси. Ови детаљи о неуспеху повезани су са осталим догађајима у додатној компоненти и SDK позивима у потпуном приказу. Све доступне информације додају се у колоне када је то могуће и у customDimensions када не постоји тачно подударање колоне.
Приметићете да нека поља у табли изузеци нису попуњена. То је зато што се ова поља могу поставити само ако се Application Insights SDK користи за емитовање евиденција из извора. Ова функција прикупља телеметрију платформе, а затим је прослеђује у Application Insights у складу са Application Insights шемом.
exceptions
| take 10
Овај упит ће вратити све детаље о атрибутима из табеле изузетака.
- проблемИд / тип : Тип изузетка.
- оутерМессаге : Порука изузетка.
-
цустомДимензије:
- цлиентТипе : Тип клијента из којег долази позив. Неке могуће вредности су Web, UCIClient и OutlookFull.
- екцептионСоурце : Додатак или тачка у којој је изузетак бачен.
- ентитyНаме : Име ентитета који се користи.
- плугинНаме : Име плуг-ин где је изузетак бачен.
Ако корисник пријави грешку, можете користити кориснички ИД ( Microsoft Entra ИД ИД) да бисте разумели детаље из табеле изузетака .
exceptions
| where user_Id == '00aa00aa-bb11-cc22-dd33-44ee44ee44ee'
ID ентитета и назив ентитета су доступни у пољу customDimensions у табели зависности.
dependencies
| where type == "SDK Retrieve"
Најчешћа питања
Следе нека често постављана питања у вези са телеметријским догађајима за Dataverse.
Како могу да утврдим да ли је надоградња додатка проузроковала погоршање перформанси?
dependencies
| where ['type'] == "Plugin"
| where name startswith "[InsertYourPluginName]"
| summarize avg(duration) by name
Назив додатне компоненте такође треба да садржи верзију прилагођених додатних компоненти.
Како је API функционисао пре пријављеног проблема на основу доба дана или локације? Да ли је погоршање перформанси API-ја било постепено или изненадно?
requests
| where url == "https://<URLHere>"
| summarize avg(duration), count() by bin(timestamp, 1h)
| render timechart
У овом графикону можемо видети учинак крајње тачке API-ја током одређеног временског периода у односу на број поднетих захтева.
Овде такође можете да поставите упозорење на основу перформанси одређеног API-ја у оквиру услуге Application Insights.
Могу ли да дубински претражујем грешке или неуспехе у одређено време или за одређене кориснике како бих разјаснио стек позива?
Посматрање табле Неуспеси даје преглед неуспеха у датом временском периоду. Приказ затим можете сузити на одређени неуспех заснован на API позиву или типу зависности да бисте видели потпун приказ.
Могу ли да креирам прилагођене контролне табле?
Да. Можете изградити прилагођене контролне табле у услузи Application Insights.
Могу ли да утврдим перформансе (време одзива) коришћења додатне компоненте и стопе отказа током вршне употребе?
Да. Погледајте следећи пример упита да бисте разумели какав учинак имају додатне компоненте.
dependencies
| where ['type'] == "Plugin"
| where name == "[Plugin name here]"
| summarize avg(duration) by bin(timestamp, 1h)
| render timechart
Да ли ће ова телеметрија имати ограничавање?
Да. Тренутно су дати основни детаљи о грешци 429.
Могу ли да разумем путање извршавања? Да ли позиви које упућује додатна компонента успоравају ту компоненту?
Да. Можете прегледати све поруке и додатне компоненте које се извршавају за било који захтев.
Евидентира се трајање извршавања свих порука и додатних компоненти. Ако било којој додатној компоненти треба више времена, можете је идентификовати. Ако додатна компонента упућује повратни позив платформи Dataverse, трајање тог позива се евидентира. Више информација о додатним компонентама планирано је за будућу примену.
Сваки одлазни позив упућен из додатне компоненте аутоматски ће се евидентирати као зависност.
Могу ли да видим телеметрију за одређени захтев?
Dataverse враћа x-ms-service-requestId у одговору заглавља на све захтеве. Користећи овај requestId, можете да поставите упит за сву телеметрију.
union *
| where operation_ParentId contains <requestId>