Microsoft Dataverse телеметрия оқиғалары
Ескертпе
жаңа және жақсартылған Power Platform басқару орталығы қазір жалпыға қолжетімді! Біз жаңа басқару орталығын нақты нәтижелерге тезірек қол жеткізуге көмектесетін тапсырмаларға бағытталған навигация арқылы пайдалану оңай болатындай етіп жасадық. Жаңа Power Platform басқару орталығы жалпы қолжетімділікке ауысқанда, біз жаңа және жаңартылған құжаттаманы жариялайтын боламыз.
Деректер ағыны қазіргі уақытта Dataverse API кіріс шақыруларына, Dataverse қосылатын модулін орындауды шақыруларға және Dataverse SDK шақыруларына қатысты өнімділік деректерін қамтамасыз етеді. Ол сонымен қатар қосылатын модульдегі және Dataverse SDK әрекеттеріндегі сәтсіздіктер туралы деректерді қамтамасыз етеді.
Dataverse API кіріс шақырулары
Бұл — Dataverse API-ға жасалған шақырулар. Олар Бірыңғай интерфейстен (UCI), бұрынғы веб-клиенттен, SDK-ны пайдаланатын теңшелетін клиенттерден және т.с.с.-дан болуы мүмкін. Оларды келесі өрістері бар Application Insights сұраулар кестесінен табуға болады.
Аты: сұрау түрі. Олар екі санатқа жатады:
- Web API сұрауы: Бірыңғай интерфейс және заманауи клиенттер жиі пайдаланатын OData v4 соңғы нүктесіне сұрау. Бұл сұрау екеуіне де ортақ әрекетке түрлендіріледі. Web API — RESTful бағдарламалау моделін мүмкін етуге арналған «орауыш», бірақ деректер алынғаннан кейін сервер ішінде бәрі бірдей болады. Жауап қайтарылған кезде, сұрау Web API-дан келсе, ол JSON-ға түрлендіріледі.
- Ұйым қызметіне сұрау: SDK клиенттері немесе бұрынғы веб-клиент пайдаланатын Ұйым API соңғы нүктесіне сұрау.
Ұзақтық: сервер сұрауға жауап беруге кеткен уақыт мөлшері.
Url: Қоңырау жасалған URL мекенжайы.
Теңшелетін өлшемдер:
UserAgent: Application Insights а PC пайдаланушы агенті өрісін автоматты түрде толтырады, себебі бұл журналдар деректер орталығындағы серверден итеріледі. Application Insights пайдаланушы агенті өрісін қайта анықтауға рұқсат етпейді. Кейде пайдаланушы агентінің өрісі толтыру үшін қолжетімді емес. Ішінен шақыру жасалған пайдаланушы агентін келесі сұрауды пайдалана отырып көруге болады:
requests | summarize count() by tostring(customDimensions.userAgent)
Operation_Name: транзакцияның соңына дейін көрінісі сияқты көріністерде көрсетілетін операцияның оқылатын атауы.
Dataverse қосылатын модулін орындау журналдары
Берілген әрекет үшін жұмыс істейтін теңшелетін қосылатын модульдерге арналған бұл журналдар тәуелділік кестесінде орналасқан. Төменде сұраудың үлгісі келтірілген:
dependencies
| where type == "Plugin"
| take 100
- Атау/Мақсатты: орындалатын қосылатын модуль үшін толық жарамды түр атауы.
- Ұзақтық: қосылатын модульді орындауға кеткен уақыт мөлшері.
-
Таңдамалы өлшемдер:
- Тереңдік: Қоңыраулар стекіндегі орындалудың ағымдағы тереңдігі .
- EntityName: қосылатын модуль арқылы әрекет ететін нысанның аты.
-
IsolationType: A мәні қосылатын модуль құм жәшігінде орындалып жатқанын көрсетеді:
- 1: Жоқ
- 2: Құм жәшігі
- 3: Сыртқы
- PluginName: Плагиннің пайдаланушыға ыңғайлы атауы.
- PluginType: орындалатын қосылатын модуль түрінің атауы.
- PluginVersion: Жарияланған плагин нұсқасы. Мұндағы мақсат — нұсқаны жаңартулар ақаулықтарын жою үшін осы ақпаратты пайдалану мүмкіндігі.
-
Кезең: Келесі мәндерге карталар:
- PreValidation = 10
- PreOperation = 20
- PreOperationBeforeExternalPlugins = 15
- PreOperationAfterExternalPlugins = 25
- MainOperation = 30
- PostOperationBeforeExternalPlugins = 35
- PostOperationAfterExternalPlugins = 45
- PostOperation = 40
- PostOperationDeprecated = 50
- StepName: SDK хабарын өңдеу қадамының атауы. Әдетте мұны қосылатын модульді тіркеу құралы PluginName, PluginType туралы ақпаратты және әрекеттің атауын пайдаланып жасайды, мысалы, ErrorMessageTest.ThrowException: тіркелгіні жасау.
Қосылатын модуль кодындағы телеметрия
Қосылатын модуль кодының ішінде не болып жатқанын түсіну үшін телеметрия деректерін тікелей Application Insights ресурсыңызға қосу үшін қосылатын модуль кодында Microsoft.Xrm.Sdk.PluginTelemetry.ILogger Interface пайдалану арқылы қосылатын модуль ішінен теңшелетін телеметрияны қосуға болады. Қосымша ақпарат: Телеметрияны Application Insights ресурсыңызға ILogger (алдын ала қарау нұсқасы) арқылы жазу
Dataverse SDK журналдары
Бұл — кіріс сұраудың бір бөлігі ретінде іске қосылатын SDK әрекеттерінің журналдары. Олар Application Insights ішіндегі тәуелділіктер кестесіне тіркеледі, себебі олар орындайтын сұрау үшін тәуелділіктер ретінде бақыланады. Олар SDK-дан бастап, түр атауы бойынша анықталады. Төменде сұраудың үлгісі келтірілген:
dependencies
| where type startswith "SDK"
| take 10
- Түр: іске қосылған SDK сұрауының түрі. Мысалдарға Retrieve, RetrieveMultiple, FetchXmlToQueryExpression және WhoAmI кіреді.
- Атау/Нысана: Бұл SDK әрекеті арқылы мақсатталған нысанның атауы.
-
Таңдамалы өлшемдер:
- ClientType: Қоңырау келіп жатқан клиент түрі. Кейбір мүмкін мәндер: Web, UCIClient және OutlookFull.
- EntityId: пайдаланылатын нысанның бірегей идентификаторы.
- EntityName: пайдаланылатын нысанның аты.
Ерекшеліктер
Сіз қосылатын модульдегі және Application Insights ішіндегі SDK әрекеттеріндегі қателер туралы мәліметтерді көресіз. Application Insights ішіндегі қиыс жағдайлар кестесі Сәтсіздіктер тақтасына негіз болады. Бұл сәтсіздік туралы мәліметтер толық көріністегі қосылатын модульдегі және SDK шақыруларындағы қалған оқиғаларға корреляцияланады. Мүмкін болса, барлық қолжетімді ақпарат бағандарға және дәл баған сәйкестігі болмағанда, customDimensions ішіне қосылады.
Қиыс жағдайлар кестесіндегі кейбір өрістер толтырылмағанын байқайсыз. Мұның себебі, бұл өрістерді тек Application Insights SDK көзден журналдар шығару үшін пайдаланылған жағдайда ғана орнатуға болады. Бұл мүмкіндік платформа телеметриясын жинайды, содан кейін оны Application Insights схемасына сәйкес Application Insights ішіне push арқылы жібереді.
exceptions
| take 10
Бұл сұрау қиыс жағдайлар кестесінен барлық төлсипаттар туралы мәліметтерді қайтарады.
- problemId/type: ерекше жағдай түрі.
- outerMessage: ерекше жағдай туралы хабар.
-
customDimensions:
- clientType: Қоңырау келіп жатқан клиент түрі. Кейбір мүмкін мәндер: Web, UCIClient және OutlookFull.
- exceptionSource: қосылатын модуль немесе ерекше жағдай шығарылған нүкте.
- entityName: пайдаланылатын нысанның аты.
- pluginName: Ерекшелік жіберілген қосылатын модульдің атауы.
Пайдаланушы қате туралы хабарласа,Microsoft Entra ерекшелік кестедегі мәліметтерді түсіну үшін пайдаланушы идентификаторын ( ID ID) пайдалануға болады.
exceptions
| where user_Id == '00aa00aa-bb11-cc22-dd33-44ee44ee44ee'
Нысан идентификаторы және нысан атауы тәуелділік кестесіндегі 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>