Ποια δεδομένα είναι διαθέσιμα για εφαρμογές που καθορίζονται από μοντέλο;
Τα δεδομένα επιδόσεων που σχετίζονται με τη φόρτωση σελίδων και τα εξερχόμενα αιτήματα του Ενοποιημένου περιβάλλον εργασίας χρήστη (UCI) είναι διαθέσιμα για εφαρμογές που καθορίζονται από μοντέλο.
Τι είδους φόρτωση σελίδων είναι διαθέσιμη;
Τύπος | Διαθέσιμα δεδομένα επιδόσεων και διαγνωστικών |
---|---|
Φόρτωση πίνακα εργαλείων (UCI) – Πρόγραμμα περιήγησης | Ναι |
Φόρτωση πίνακα εργαλείων (UCI) – Ενσωματωμένος | Ναι |
Φόρτωση πίνακα εργαλείων (UCI) - MobileApplication | Ναι |
Φόρτωση πίνακα εργαλείων (UCI) – MailApp | Ναι |
Φόρτωση πίνακα εργαλείων (UCI) - MobileApplication | Ναι |
EditForm Load (UCI) – Πρόγραμμα περιήγησης | Ναι |
Φόρτωση EditForm (UCI) – Ενσωματωμένο | Ναι |
Φόρτωση EditForm (UCI) – MailApp | Ναι |
Φόρτωση EditForm (UCI) - MobileApplication | Ναι |
Φόρτωση EntityList (UCI) – Πρόγραμμα περιήγησης | Ναι |
Φόρτωση EntityList (UCI) - Ενσωματωμένο | Ναι |
Φόρτωση EntityList (UCI) – MailApp | Ναι |
Φόρτωση EntityList (UCI) - MobileApplication | Ναι |
Εκκίνηση εφαρμογής - (UCI) – Πρόγραμμα περιήγησης | Ναι |
Εκκίνηση εφαρμογής - (UCI) - Ενσωματωμένο | Ναι |
Εκκίνηση εφαρμογής - (UCI) – MailApp | Ναι |
Εκκίνηση εφαρμογής - (UCI) – MobileApplication | Ναι |
QuickCreateForm Load (UCI) – Πρόγραμμα περιήγησης | Ναι |
QuickCreateForm Load (UCI) – Ενσωματωμένο | Ναι |
Φόρτωση QuickCreateForm (UCI) – MailApp | Ναι |
Φόρτωση QuickCreateForm (UCI) – MobileApplication | Ναι |
SaveForm | Μη διαθέσιμο αυτή τη στιγμή |
Ενέργειες CommandButton | Μη διαθέσιμο αυτή τη στιγμή |
Πού είναι διαθέσιμα τα δεδομένα φόρτωσης σελίδας;
Αυτά τα δεδομένα πηγαίνουν στον πίνακα pageViews στο Application Insights. Μια καταχώρηση καταγράφεται κάθε φορά που ένας χρήστης φορτώνει μια σελίδα στο Ενοποιημένο περιβάλλον εργασίας. Τα δεδομένα που καταγράφονται περιλαμβάνουν μόνο "καθαρή" φόρτωση. Οι φορτώσεις η διάρκεια των οποίων δεν μπορεί να μετρηθεί με ακρίβεια-η γρήγορη πλοήγηση, η απομάκρυνση από την εφαρμογή, ένα μήνυμα συναγερμού-δεν θα συμπεριληφθεί. Για αυτόν το σκοπό, συνιστάται να μην χρησιμοποιήσετε αυτά τα δεδομένα για αριθμούς ακριβείας που σχετίζονται με την ανάλυση χρήσης.
Υπάρχουν άλλες ιδιότητες customDimensions που παρέχουν περισσότερες λεπτομέρειες για τη φόρτωση σελίδων Ενοποιημένου περιβάλλοντος εργασίας. Για παράδειγμα, αυτό το ερώτημα επιστρέφει τις τιμές για όλα τα χαρακτηριστικά στον πίνακα pageViews.
pageViews
| take 1
Τα χαρακτηριστικά του πίνακα pageViews περιλαμβάνουν:
- appModule: Το όνομα της λειτουργικής μονάδας της εφαρμογής.
- entityName: Αυτό το χαρακτηριστικό υπάρχει όταν είναι σχετικό. Είναι διαθέσιμη σε τύπους σελίδας, όπως EditForm, EntityList και Πίνακες εργαλείων, όταν δεσμεύονται σε μια οντότητα. Σε ορισμένα σενάρια, η φόρμα δεν δεσμεύεται σε μια οντότητα και η τιμή εμφανίζεται ως μη συγκεκριμένη.
- formId: Το formId προσδιορίζει με μοναδικό τρόπο μια φόρμα και μπορεί να χρησιμοποιηθεί για το συσχετισμό προβλημάτων που επηρεάζουν τη συγκεκριμένη φόρμα.
- hostType: Πρόγραμμα περιήγησης/MobileApplication/Ενσωματωμένο
- isBoot: Είναι αυτή η πρώτη φόρτωση μιας περιόδου λειτουργίας;
-
loadType
- 0: Η πρώτη επίσκεψη σε ένα συγκεκριμένο τύπο σελίδας (για παράδειγμα, η πρώτη επίσκεψη σε μια φόρμα).
- 1: Η πρώτη επίσκεψη σε συγκεκριμένη ρύθμιση παραμέτρων (για παράδειγμα, η πρώτη επίσκεψη σε μια φόρμα λογαριασμού).
- 2: Η πρώτη επίσκεψη σε συγκεκριμένη καρτέλα (για παράδειγμα, η πρώτη επίσκεψη στην καρτέλα λογαριασμού Α2).
- 3: Υπήρξε προηγούμενη επίσκεψη σε αυτήν ακριβώς τη διεύθυνση URL.
- navigationOrigin: Ο τύπος της σελίδας από την οποία ήταν σε περιήγηση ο χρήστης.
- networkConnectivityState: Εάν η συσκευή διαθέτει σύνδεση.
- pageName: Ο τύπος φόρτωσης σελίδας.
- serverConnectivityState: Αν η εφαρμογή είναι συνδεδεμένη στον διακομιστή.
- syncRequestTime: Ο χρόνος που δαπανάται σε αναμονή για συγχρονισμένα αιτήματα.
- coldLatency: Η πρώτη εκτίμηση του χρόνου καθυστέρησης του δικτύου, η οποία περιλαμβάνει χρόνο επαλήθευσης ταυτότητας SSL.
- warmLatency: Η επακόλουθη εκτίμηση της καθυστέρησης δικτύου, που είναι η τυπική αναμενόμενη καθυστέρηση για κάθε αίτημα.
- warmThroughput: Η εκτιμώμενη ταχύτητα μετάδοσης του δικτύου, σε Kbps.
Για τα συμβάντα Microsoft Dataverse, το πεδίο Αναγνωριστικό ή operation_ParentId στο Application Insights είναι το x-ms-service-request-id. Το operationId αντιστοιχίζεται στο activityId στο υπόβαθρο για σκοπούς αντιμετώπισης προβλημάτων και για αιτήματα υποστήριξης.
Τι είδους δεδομένα είναι διαθέσιμα για τα εξερχόμενα αιτήματα δικτύου UCI;
Πρόκειται για κλήσεις προς άλλες εξαρτήσεις που πραγματοποιούνται από Ενοποιημένο περιβάλλον εργασίας για την απόδοση μιας συγκεκριμένης σελίδας. Ενδέχεται να είναι εξερχόμενες κλήσεις προς το Dataverse ή προς άλλες ενοποιήσεις, όπως το Azure DevOps Office. Χρησιμοποιήστε το παρακάτω ερώτημα για να λάβετε αυτά τα δεδομένα, τα οποία είναι διαθέσιμα στον πίνακα εξάρτησης αιτημάτων UCI:
dependencies
| where type == "UCI REQUEST"
Ο πίνακας εξάρτησης αιτημάτων UCI περιλαμβάνει τα ακόλουθα πεδία:
Όνομα: Η διεύθυνση URL που καλείται από το Ενοποιημένο περιβάλλον εργασίας.
Προορισμός: Επί του παρόντος το ίδιο με το Όνομα.
Επιτυχία: Εάν η κλήση ολοκληρώθηκε με επιτυχία ή αποτυχία.
UserId: Το αναγνωριστικό χρήστη του συστήματος Dataverse του συνδεδεμένου χρήστη.
Διάρκεια: Η διάρκεια της κλήσης.
customDimensions: Περιέχει τα ακόλουθα χαρακτηριστικά:
- appModule: Το appModule που εκτελεί την κλήση.
- bodySize: Το μέγεθος της απόκρισης, κωδικοποιημένη και αποκωδικοποιημένη.
- cached: Κατά πόσο το αίτημα μεταφέρθηκε στο τοπικό cache ή έπρεπε να μεταφερθεί στον διακομιστή. Αυτό δεν λειτουργεί όπως ήταν αναμενόμενο εάν ο τελικός χρήστης ήταν στο πρόγραμμα περιήγησης Internet Explorer.
- λήψη: Ο χρόνος που απαιτήθηκε για τη λήψη της απόκρισης.
- αναμονή: Ο χρόνος κατά τον οποίο το αίτημα βρισκόταν σε αναμονή στην ουρά του προγράμματος περιήγησης.
- ttfb: Ο χρόνος που δαπανάται για την αρχική απόκριση, γνωστός επίσης και ως "χρόνος έως τα πρώτα byte". Αυτός ο χρόνος καταγράφει την καθυστέρηση ενός ταξιδιού επιστροφής στον διακομιστή εκτός από το χρόνο που δαπανάται για την αναμονή του διακομιστή για την παροχή της απόκρισης.
- coldLatency: Η πρώτη εκτίμηση του χρόνου καθυστέρησης του δικτύου, η οποία περιλαμβάνει χρόνο επαλήθευσης ταυτότητας SSL.
- warmLatency: Η επακόλουθη εκτίμηση της καθυστέρησης δικτύου, που είναι η τυπική αναμενόμενη καθυστέρηση για κάθε αίτημα.
- warmThroughput: Η εκτιμώμενη ταχύτητα μετάδοσης του δικτύου, σε Kbps.
Εντοπισμός και ανάλυση σεναρίων
Γιατί ορισμένοι από τους χρήστες μου αντιμετωπίζουν καθυστέρηση στο Ενοποιημένο περιβάλλον εργασίας;
Ένα σενάριο όπου η εύρεση και η ανάλυση μπορούν να είναι χρήσιμες είναι όταν ένας χρήστης από μια περιοχή (π.χ. Ασία) αναφέρει ότι μια φόρμα εκτελείται αργά. Αυτός ο χρήστης με έδρα την Ασία ενδέχεται να έχει πρόσβαση σε ένα περιβάλλον ή έναν οργανισμό στη Βόρεια Αμερική. Οι λεπτομέρειες δείχνουν το συνολικό χρόνο φόρτωσης επιπλέον της διάρκειας που σχετίζεται με το δίκτυο. Είναι πιθανό αυτή να είναι η αιτία της αργής απόδοσης που αντιλαμβάνεται ο χρήστης.
Μπορείτε να χρησιμοποιήσετε τα χαρακτηριστικά warmLatency, warmThroughput και coldLatency για να κατανοήσετε την ανάλυση του σημείου που αναλώθηκε ο χρόνος στη φόρτωση σελίδων και άλλα αιτήματα Ενοποιημένου περιβάλλοντος εργασίας, όπως φαίνεται στην παρακάτω εικόνα.
Στο παραπάνω αίτημα, το αίτημα ενοποιημένου περιβάλλοντος εργασίας απαιτεί περισσότερο χρόνο από το πραγματικό αίτημα Dataverse API (Web API). Η ανάλυση σε αυτή την περίπτωση είναι η διάρκεια της κλήσης Dataverse API (56 ms) συν την τιμή του CustomDimensions.warmLatency (89 ms), η οποία προστίθεται σε σχεδόν τη διάρκεια ολόκληρης της λειτουργίας (144 ms). Η τιμή warmLatency είναι ενδεικτική της καθυστέρησης για το συγκεκριμένο πρόγραμμα-πελάτη και ενδέχεται να αποτελεί πρόβλημα που μπορείτε να αναλύσετε σε επίπεδο χρήστη χρησιμοποιώντας το παρακάτω ερώτημα:
dependencies
| where ['type'] == "UCI REQUEST"
| summarize avg(toint(customDimensions.warmLatency)), avg(toint(customDimensions.coldLatency)), avg(toint(customDimensions.warmThroughput)) by user_Id
pageViews
| summarize avg(toint(customDimensions.warmLatency)), avg(toint(customDimensions.coldLatency)), avg(toint(customDimensions.warmThroughput)) by user_Id
Μπορώ να προσδιορίσω τον τρόπο με τον οποίο ο χρήστης έχει πρόσβαση στο σύστημα;
Το χαρακτηριστικό userAgent στο πεδίο customDimensions στον πίνακα Application Insights αιτήματα έχει αυτά τα δεδομένα. Μπορείτε να χρησιμοποιήσετε το παρακάτω ερώτημα για να αποκτήσετε μια επισκόπηση των διαφόρων προελεύσεων από τις οποίες οι χρήστες έχουν πρόσβαση στο σύστημα:
pageViews
| summarize count() by tostring(customDimensions.userAgent), user_Id
dependencies
| where ['type'] == "UCI REQUEST"
Όταν η τιμή customDimensions.userAgent ξεκινά με | Από πού αποκτά πρόσβαση ο χρήστης στο σύστημα; |
---|---|
Mozilla | Τύπος, έκδοση προγράμματος περιήγησης |
azure-logic-apps | Εφαρμογές Azure Logic |
PowerApps | Power Apps |
Microsoft Office Excel | Office Excel |
Πύλες | Πύλες |
DynamicsDataIntegration | Ενοποίηση δεδομένων Dynamics |
XrmToolBox.exe | XrmToolBox |
PluginRegistration | Εγγραφή προσθήκης |
LogicAppsDesigner | Logic Apps Designer |
Apache-HttpClient | Apache HTTP client |
Microsoft Flow | Power Automate |
UnifiedServiceDesk | Unified Service Desk |
PostmanRuntime | Postman |
OfficeGroupsConnector | Σύνδεση ομάδων Office |
Microsoft.Data.Mashup | Power Query |
Apache-Olingo | Apache Olingo |
Dalvik | Android |
Jakarta Commons-Http | Τζακάρτα |
Informatica | Informatica |
axios | Axios |
node-fetch | NodeJS |
LinkedInBot | LinkedInBot |
Πώς μπορώ να αποκτήσω μια μέτρηση χρηστών που έχουν πρόσβαση από πρόγραμμα περιήγησης, κινητές συσκευές ή ενσωματωμένες εφαρμογές;
pageViews
| summarize count() by tostring(customDimensions.hostType)
Η εικόνα που ακολουθεί εμφανίζει ένα παράδειγμα συνόλου αποτελεσμάτων από αυτό το ερώτημα.
Πώς μπορώ να περιορίσω την αναζήτηση σε έναν συγκεκριμένο χρήστη;
pageViews
| where user_Id == "[userid]"
| summarize count() by tostring(customDimensions.hostType)
Πώς μπορώ να χρησιμοποιήσω το Application Insights με την Παρακολούθηση;
Η Παρακολούθηση Azure βοηθά με την αντιμετώπιση προβλημάτων πραγματικού χρόνου σε μια περίοδο λειτουργίας από την πλευρά του Ενοποιημένου περιβάλλοντος εργασίας. Τα αιτήματα συναλλαγών από άκρο σε άκρο θα είναι πιθανά διαθέσιμα στο Application Insights. Για να δείτε τα αρχεία καταγραφής για μια δεδομένη ενέργεια, σημειώστε το αναγνωριστικό δραστηριότητας από μια γραμμή στη σελίδα λεπτομερειών συμβάντος στην Παρακολούθηση. Μπορείτε να εντοπίσετε τα αρχεία καταγραφής χρησιμοποιώντας τα παρακάτω ερωτήματα:
union *
| where operation_Id contains "[ActivityIdHere]"
Το Monitor είναι ένα εργαλείο εντοπισμού σφαλμάτων σε πραγματικό χρόνο. Ωστόσο, ενδέχεται να μην είναι διαθέσιμα δεδομένα σε αυτό για μερικές ώρες.
Γιατί οι χρήστες αντιμετωπίζουν προβλήματα με μια συγκεκριμένη φόρμα;
Ο χρήστης μπορεί να κάνει κοινή χρήση του αναγνωριστικού περιόδου λειτουργίας Πληροφορίες στην ενότητα Ενοποιημένο περιβάλλον εργασίας για τον συγκεκριμένο οργανισμό.
Στη συνέχεια, μπορείτε να χρησιμοποιήσετε αυτό το αναγνωριστικό για να βρείτε προβλήματα εξετάζοντας όλες τις δραστηριότητες σε αυτήν την περίοδο λειτουργίας. Χρησιμοποιήστε το παρακάτω ερώτημα:
union *
| where session_Id == '[sessionIdHere]'
Ποιες φόρμες χρησιμοποιούνται σε διαφορετικές θέσεις και ποιες είναι οι επιδόσεις φόρτωσης των φορμών σε αυτές τις θέσεις;
pageViews
| summarize avg(duration) by name, client_City, client_CountryOrRegion
Είναι η αποτυχία μια κλήση εξωτερικού API και μπορώ να αναλύσω τη στοίβα σφάλματος για την υποστήριξη του εντοπισμού σφαλμάτων;
Η προβολή Πρόγραμμα περιήγησης του πίνακα Αποτυχίες περιέχει τα εξερχόμενα αιτήματα ενοποιημένου περιβάλλοντος εργασίας. Τα αιτήματα που μεταφέρονται στο Dataverse ή τον οργανισμό περιέχουν τη διεύθυνση URL του οργανισμού. Ενδέχεται να υπάρχουν και άλλα αιτήματα που πηγαίνουν σε άλλες διευθύνσεις URL (για παράδειγμα, στην εικόνα που ακολουθεί, ο οργανισμός έχει μια προσαρμογή που καλεί το dc.services.visualstudio.com). Μπορείτε να εξετάσετε την συναλλαγή από άκρο σε άκρο για να εξετάσετε περαιτέρω τις αποτυχίες για αυτές τις εξωτερικές εξερχόμενες κλήσεις.
Μπορώ να ορίσω μια ειδοποίηση σχετικά με το όριο απόδοσης για ορισμένες ενέργειες φόρμας; Όταν ληφθεί η ειδοποίηση, θα επιτρέψει σε έναν δημιουργό να διαγνώσει και να επιλύσει το πρόβλημα;
Ναι. Μπορείτε να ορίσετε ειδοποιήσεις in Application Insights για την παρακολούθηση της εύρυθμης λειτουργίας της εφαρμογής σας.