Analiza aplikacji opartych na modelu i telemetrii Microsoft Dataverse za pomocą Application Insights

Można skonfigurować środowisko tak, aby odbierało dane telemetryczne z diagnostyki i wydajności Application Insights zarejestrowane przez platformę Dataverse.

Można subskrybować, aby otrzymywać dane telemetryczne dotyczące operacji wykonywanych przez aplikacje w bazie danych i Dataverse w aplikacjach opartych na modelach. Ta telemetria zawiera informacje, których można użyć do diagnozowania i rozwiązywania problemów związanych z błędami i wydajnością.

Nie trzeba pisać kodu, aby włączyć tę telemetrię. Źródła telemetryczne można w dowolnej chwili włączyć i wyłączyć.

Application Insights jest częścią ekosystemu Azure Monitor. Jest to opcja szeroko wykorzystywana przez przedsiębiorstwa do monitorowania i diagnostyki. Wielu klientów dodało kod do swoich rozszerzeń w celu przechwycenia tych danych w ich środowiskach Application Insights. Ten dodatkowy kod wiąże się z kosztami, nie tylko kosztami zapisu i obsługi, ale również kosztem wydajności w czasie wykonywania. Tych kosztów można uniknąć, korzystając z wbudowanej integracji Application Insights.

Uwaga

Włączenie Application Insights jest ograniczone do klientów, którzy mają licencję płatną/premium Dataverse dostępną dla dzierżawcy.

Do czego służy telemetria?

Telemetria zapewnia możliwość śledzenia tego, co dzieje się w aplikacji opartej na modelu lub na serwerze. Bez tych danych aplikacja lub usługa są „czarną skrzynką”, a jedynym sposobem na uzyskanie szczegółowych informacji w razie problemu jest skontaktowanie się z pomocą techniczną. Dzięki telemetrii użytkownik może wykrywać i mierzyć konkretne operacje w celu lepszego zrozumienia, czy wszystko działa normalnie, czy też coś wpływa negatywnie na system.

Jeśli aplikacje oparte na modelach zostały rozszerzone za pomocą języka JavaScript po stronie klienta lub dodano logikę po stronie serwera za pomocą dodatku plug-in, można sprawdzić wpływ tych rozszerzeń na wydajność i znaleźć sposoby ich optymalizowania, w tym w razie potrzeby zmienić wygląd.

Dzięki telemetrii można także obserwować ogólne trendy dotyczące wydajności, dzięki czemu można w sposób aktywny zarządzać nimi, zamiast reagować na zdarzenia po stronie użytkowników. Za pomocą Application Insights można zdefiniować warunki, w których otrzymasz alert po przekroczeniu określonego progu metryki.

Jak to działa?

Firma Microsoft już zbiera obszerne dane telemetryczne dotyczące Dataverse i aplikacji opartych na modelach. Dzięki integracji Application Insights administrator środowiska lub dzierżawcy zapewnia klucz instrumentacji Application Insights podczas konfigurowania procesu eksportowania danych w centrum administracyjnym Power Platform. Po zakończeniu instalacji dane telemetryczne zebrane przez firmę Microsoft dotyczące środowiska oraz wszystkich aplikacji opartych na modelach, które korzystają z Application Insights, są wysyłane do środowiska Application Insights. Więcej informacji: Tworzenie zasobu Application Insights

Aby zrezygnować, można przejść do centrum administracyjnego Power Platform i usunąć połączenie z eksportem danych. Spowoduje to zatrzymanie procesu eksportowania danych. Proces można w dowolnym momencie ponownie uruchomić.

Korzyści z tego podejścia do integracji

Gdy używasz integracji Application Insights, otrzymasz standardowy zestaw telemetryczny następujący po modelu danych telemetrycznych Application Insights.

Ta telemetria jest skorelowana, co umożliwia obserwowanie operacji zaczynanych od kliknięcia myszy w aplikacji opartej na modelu przez całą drogę do serwera i z powrotem. Można wtedy zobaczyć, które części aplikacji są używane, oraz ile czasu zajmuje każdy krok.

Aby skontaktować się z pomocą techniczną, możesz użyć wartości identyfikatora operacji (pola operation_id klienta). Są to te same wartości, których używają inżynierowie firmy Microsoft podczas wykonywania zapytań dotyczących danych telemetrycznych.

Jeśli pracujesz z partnerem lub jesteś integratorem systemu, standardowa telemetria oznacza, że osoby nie będą potrzebować informacji o różnych możliwościach projektowych dostępnych dla potrzeb niestandardowej telemetrii w różnych środowiskach.

Pamiętaj, że możesz korzystać z monitorowania w przypadku szczegółowego debugowania aplikacji kanw w czasie rzeczywistym i aplikacji opartych na modelach.

Telemetria niestandardowa

Jeśli standardowa telemetria nie zawiera pewnych potrzebnych metryk, można napisać kod, by uzupełnić zbierane dane.

Po włączeniu tej funkcji Application Insights można użyć interfejsu Microsoft.Xrm.Sdk.PluginTelemetry.ILogger w kodzie plug-in do zapisu danych telemetrycznych bezpośrednio do zasobu Application Insights. Te dane telemetryczne nigdy nie są wysyłane do firmy Microsoft. Więcej informacji: Zapis telemetryczny do zasobu Application Insights przy użyciu rejestratora ILogger

W przypadku języka JavaScript po stronie klienta w aplikacjach opartych na modelach można użyć tych samych wzorców, których dzisiaj używa się do zapisywania w zasobie Application Insights.

Co jest uwzględnione, a co nie jest uwzględnione?

W środowisku Application Insights będzie dostępnych wiele typów telemetrii. Należy zwrócić uwagę, że Application Insights ma zdefiniowany schemat. Tabele w Application Insights są wypełniane zgodnie z tym schematem podczas eksportowania danych.

W przypadku aplikacji opartych na modelu dane telemetryczne obejmują typowe funkcje aplikacji, takie jak edytowanie formularzy, siatek i zdarzeń ładowania pulpitu nawigacyjnego. Są to zdarzenia, w których zazwyczaj wydajność stanowi problem. Obecnie nie są uwzględniane polecenia zapisywania zdarzeń i wstążek. Ta funkcja jest obecnie dostępna tylko w aplikacjach opartych na modelach. Zobacz Zdarzenia telemetrii dla aplikacji opartych na modelu.

W przypadku aplikacji kanwy istniejące możliwości pozwalają twórcy aplikacji na rejestrowanie niestandardowej telemetrii za pomocą Application Insights podczas opracowywania aplikacji.

Dataverse zawiera wszystkie żądania dokonane na serwerze. W ten sposób można zobaczyć, jak żądania są przetwarzane na serwerze sieci web. Nie będziesz otrzymywać szczegółowych informacji z samej bazy danych z wyjątkiem informacji o czasie, jaki zajęło przetworzenie operacji. Nie będzie także dostępnej telemetrii odnoszącej się do fizycznych zasobów serwera, takich jak zużycie pamięci. Więcej informacji: zdarzenia telemetryczne dla Dataverse