Nota
Capaian ke halaman ini memerlukan kebenaran. Anda boleh cuba mendaftar masuk atau menukar direktori.
Capaian ke halaman ini memerlukan kebenaran. Anda boleh cuba menukar direktori.
Strim data kini menyediakan data prestasi yang berkaitan dengan panggilan masuk API Dataverse, panggilan pelaksanaan pasang masuk Dataverse dan panggilan SDK Dataverse. Ia juga menyediakan data untuk kegagalan dalam operasi pasang masuk dan SDK Dataverse.
Panggilan masuk API Dataverse
Ini adalah panggilan yang dibuat kepada API Dataverse. Ia boleh jadi dari Antara Muka Disatukan (UCI), klien web legasi, klien tersuai yang menggunakan SDK dan sebagainya. Ia boleh didapati dalam jadual permintaan Application Insights, yang mempunyai medan berikut.
Nama: Jenis permintaan. Ini terbahagi kepada dua kategori:
- Permintaan API Web: Permintaan kepada titik akhir OData v4 yang biasa digunakan oleh Antara Muka Disatukan dan klien moden. Permintaan ini diubah menjadi operasi yang biasa kepada kedua-duanya. API Web adalah "wrapper" untuk mendayakan model pengaturcaraan RESTful, tetapi selepas data diterima, semuanya menjadi sama dalam pelayan. Apabila respons dikembalikan, ia ditukar kepada JSON jika permintaan datang daripada API Web.
- Permintaan Perkhidmatan Organisasi: Permintaan kepada titik akhir API Organisasi yang digunakan oleh klien SDK atau klien web warisan.
Tempoh: Jumlah masa yang diambil oleh pelayan untuk bertindak balas terhadap permintaan.
Url: URL ke mana panggilan dibuat.
Dimensi Tersuai:
UserAgent: Application Insights secara automatik mengisi medan ejen pengguna dengan PC kerana log ini ditolak dari pelayan di pusat data. Application Insights tidak membenarkan medan ejen pengguna untuk digantikan. Kadang-kadang, medan agen pengguna tidak tersedia untuk diisi. Ejen pengguna yang panggilan dibuat boleh dilihat dengan menggunakan pertanyaan berikut:
requests | summarize count() by tostring(customDimensions.userAgent)
Operation_Name: Nama operasi yang boleh dibaca untuk dipaparkan pada pandangan, seperti pandangan transaksi hujung ke hujung.
Log pelaksanaan pasang masuk Dataverse
Log ini untuk pasang masuk tersuai yang berjalan untuk operasi yang diberikan boleh didapati dalam jadual sandaran. Berikut adalah pertanyaan sampel:
dependencies
| where type == "Plugin"
| take 100
- Nama/Sasaran: Nama jenis yang layak sepenuhnya untuk pemalam yang sedang dilaksanakan.
- Tempoh: Jumlah masa yang diperlukan untuk pemalam dilaksanakan.
-
Dimensi Tersuai:
- Kedalaman: Kedalaman semasa pelaksanaan dalam tindanan panggilan.
- EntityName: Nama entiti yang diambil tindakan oleh pemalam.
-
IsolationType: Nilai yang menunjukkan sama ada pemalam sedang dilaksanakan dalam kotak pasir:
- 1: Tiada
- 2: Kotak Pasir
- 3: Luar
- PluginName: Nama pemalam yang mesra pengguna.
- PluginType: Nama jenis pemalam yang sedang dilaksanakan.
- PluginVersion: Versi pemalam yang diterbitkan. Tujuan di sini adalah untuk dapat menggunakan maklumat ini untuk menyelesaikan masalah kemas kini versi.
-
Peringkat: Memetakan kepada nilai berikut:
- PraPengesahan = 10
- PraOperasi = 20
- PreOperationBeforeExternalPlugins = 15
- PreOperationAfterExternalPlugins = 25
- Operasi Utama = 30
- PostOperationBeforeExternalPlugins = 35
- PostOperationAfterExternalPlugins = 45
- Pasca Operasi = 40
- PostOperationDeprecated = 50
- StepName: Nama langkah Pemprosesan Mesej SDK. Ini biasanya dijana oleh alat Pendaftaran Pasang Masuk dengan menggunakan maklumat tentang PluginName, PluginType, adan nama operasi—contohnya ErrorMessageTest.ThrowException: Creation of account.
Telemetri dalam kod pasang masuk anda
Untuk memahami perkara yang berlaku dalam kod pasang masuk anda, anda boleh masukkan telemetri tersuai daripada dalam pasang masuk anda dengan menggunakan Antara Muka Microsoft.Xrm.Sdk.PluginTelemetry.ILogger dalam kod pasang masuk anda untuk menulis data telemetri terus kepada sumber Application Insights anda. Maklumat lanjut: Tulis Telemetri kepada sumber Application Insights anda menggunakan ILogger (Pratonton)
Log SDK Dataverse
Ini adalah log untuk operasi SDK yang dicetuskan sebagai sebahagian daripada permintaan yang masuk. Ini akan dilog kepada jadual sandaran dalam Application Insights, kerana ia dijejak sebagai kebersandaran bagi permintaan untuk dilaksanakan. Ia dikenal pasti mengikut jenis nama, bermula dengan SDK. Berikut adalah pertanyaan sampel:
dependencies
| where type startswith "SDK"
| take 10
- Jenis: Jenis permintaan SDK yang dicetuskan. Contoh termasuk Retrieve, RetrieveMultiple, FetchXmlToQueryExpression, dan WhoAmI.
- Nama/Sasaran: Ini ialah nama entiti yang disasarkan oleh operasi SDK.
-
Dimensi Tersuai:
- ClientType: Jenis pelanggan yang datang dari panggilan. Sesetengah nilai mungkin adalah Web, UCIClient, dan OutlookFull.
- EntityId: Pengecam unik entiti yang digunakan.
- EntityName: Nama entiti yang digunakan.
Pengecualian
Anda akan melihat butiran kegagalan dalam pasang masuk dan operasi SDK Application Insights. Jadual pengecualian dalam Application Insights menguasakan panel Kegagalan. Butiran kegagalan ini berhubung kait dengan seluruh peristiwa dalam pasang masuk dan dalam panggilan SDK dalam pandangan hujung ke hujung. Semua maklumat tersedia ditambah kepada lajur bila-bila sesuai dan kepada customDimensions apabila tiada padanan lajur yang tepat.
Anda akan dapati bahawa beberapa medan dalam jadual pengecualian tidak diisi. Ini kerana medan ini hanya boleh ditetapkan jika SDK Application Insights digunakan untuk mengeluarkan log daripada sumber. Ciri ini mengumpulkan telemetri platform dan kemudian menolaknya ke dalam Application Insights mengikut skema Application Insights.
exceptions
| take 10
Pertanyaan ini akan mengembalikan semua butiran atribut daripada jadual pengecualian.
- problemId/jenis: Jenis pengecualian.
- outerMessage: Mesej pengecualian.
-
Dimensi tersuai:
- clientType: Jenis pelanggan yang datang dari panggilan. Sesetengah nilai mungkin adalah Web, UCIClient, dan OutlookFull.
- exceptionSource: Pemalam atau titik di mana pengecualian dilemparkan.
- entityName: Nama entiti yang digunakan.
- pluginName: Nama pemalam di mana pengecualian dilemparkan.
Jika pengguna melaporkan ralat, anda boleh menggunakan ID pengguna (Microsoft Entra ID ID) untuk memahami butiran daripada jadual pengecualian .
exceptions
| where user_Id == '00aa00aa-bb11-cc22-dd33-44ee44ee44ee'
ID entiti dan nama entiti tersedia dalam customDimensions dalam jadual sandaran.
dependencies
| where type == "SDK Retrieve"
Soalan lazim
Berikut adalah beberapa soalan lazim yang berkaitan dengan peristiwa telemetri untuk Dataverse.
Bagaimanakah saya boleh menentukan sama ada naik taraf pasang masuk saya menyebabkan penurunan prestasi?
dependencies
| where ['type'] == "Plugin"
| where name startswith "[InsertYourPluginName]"
| summarize avg(duration) by name
Nama pasang masuk juga sepatutnya mengandungi versi untuk pasang masuk tersuai.
Bagaimanakah prestasi API sebelum isu yang dilaporkan, berdasarkan masa atau lokasi? Adakah penurunan API telah beransur-ansur atau mengejut?
requests
| where url == "https://<URLHere>"
| summarize avg(duration), count() by bin(timestamp, 1h)
| render timechart
Dalam carta ini, kita dapat melihat prestasi titik tamat API sepanjang tempoh masa terhadap bilangan permintaan yang dibuat.
Anda juga boleh menyediakan isyarat berdasarkan prestasi API tertentu di sini dalam Application Insights.
Bolehkah saya menggerudi bawah ralat atau kegagalan pada masa tertentu atau untuk pengguna khusus untuk membenarkan pemahaman timbunan panggilan?
Melihat kepada panel Kegagalan memberikan gambaran keseluruhan kegagalan dalam tempoh masa tertentu. Anda kemudian boleh mengehadkan kepada kegagalan khusus berdasarkan jenis panggilan API atau kebersandaran untuk melihat pandangan hujung ke hujung.
Bolehkah saya mencipta papan pemuka tersuai?
Ya. Anda boleh membina papan pemuka tersuai dengan Application Insights.
Bolehkah saya menentukan prestasi penggunaan pasang masuk (masa respons) dan kadar kegagalan semasa penggunaan puncak?
Ya. Lihat pertanyaan sampel berikut untuk memahami cara pasang masuk anda laksanakan.
dependencies
| where ['type'] == "Plugin"
| where name == "[Plugin name here]"
| summarize avg(duration) by bin(timestamp, 1h)
| render timechart
Adakah telemetri ini mengalami kesesakan?
Ya. Butiran asas ralat 429 disediakan buat masa ini.
Bolehkah saya memahami laluan pelaksanaan? Adakah panggilan yang dibuat oleh pasang masuk memperlahankan pasang masuk?
Ya. Anda boleh melihat semua mesej dan pasang masuk yang dilaksanakan untuk sebarang permintaan.
Tempoh semua pelaksanaan mesej dan pasang masuk akan dilog. Jika sebarang pasang masuk mengambil masa yang lama, anda boleh mengenal pasti pasang masuk tersebut. Jika pasang masuk membuat panggilan balik ke Dataverse, tempoh panggilan tersebut akan dilog. Maklumat lanjut tentang pasang masuk dirancang untuk pelaksanaan masa depan.
Sebarang panggilan keluar yang dibuat oleh pasang masuk akan dilog secara automatik sebagai kebersandaran.
Bolehkah saya melihat telemetri untuk permintaan tertentu?
Dataverse mengembalikan x-ms-service-requestId dalam respons pengepala kepada semua permintaan. Menggunakan requestId ini, anda boleh buat pertanyaan untuk semua telemetri.
union *
| where operation_ParentId contains <requestId>