Partager via


Analyser les journaux générés par le système à l’aide de Application Insights

Connectez vos applications canevas à Application Insights, qui est une fonctionnalité d’Azure Monitor. Application Insights inclut des outils d’analyse qui aident à diagnostiquer les problèmes et à comprendre le comportement des utilisateurs dans les applications. Utilisez les informations collectées pour prendre de meilleures décisions commerciales et améliorer la qualité de l’application.

Prérequis

Nonte

Pour afficher les informations sur la télémétrie, votre administrateur de client doit activer les Informations sur l’application canevas. Connectez-vous en tant qu’administrateur au centre d’administration Power Platform. Sélectionnez Paramètres>Paramètres du client>Informations sur l’application canevas. Dans le volet Informations sur l’application canevas, Activez le bouton bascule et enregistrez vos modifications. Pour en savoir plus, consultez Paramètres du client.

Créer une ressource Application Insights

Envoyez des journaux générés par le système à partir d’une application en créant une ressource Application Insights pour stocker les événements.

Découvrez comment créer une ressource basée sur l’espace de travail pour Application Insights dans le portail Azure.

Connecter votre application à Application Insights

Nonte

  • Lorsque vous spécifiez une chaîne de connexion, n’oubliez pas que les données peuvent être envoyées entre locataires. Les événements de trace sont envoyés à la ressource App Insights qui correspond à la chaîne de connexion que vous avez définie pour votre application, même si l’instance App Insights cible se trouve dans un locataire différent de celui de l’application.
  • Soyez prudent lorsque vous importez des fichiers .msapp existants, car des chaînes de connexion pour App Insights peuvent être présentes. Ouvrez manuellement l’application après l’importation pour vérifier que la chaîne de connexion App Insights correcte est utilisée.
  1. Connectez-vous à Power Apps.

  2. Ouvrez une application pour la modifier.

  3. Sélectionnez l’objet Application dans l’arborescence de navigation de gauche et collez la Chaîne de connexion à partir de votre ressource Application Insights.

    Capture d’écran de l’ajout d’une chaîne de connexion.

  4. Enregistrez et Publiez votre application.

  5. Lancez l’application publiée et parcourez différents écrans.

Lorsque vous parcourez les écrans de l’application, les événements sont automatiquement consignés dans Application Insights. Il s’agit notamment de détails d’utilisation tels que :

  • À partir d’où les utilisateurs accèdent à l’application
  • Quels appareils les utilisateurs utilisent
  • Types de navigateurs utilisés par les utilisateurs

Important

Exécutez l’application publiée pour envoyer des événements à Application Insights. Les événements ne sont pas envoyés à Application Insights lorsque vous prévisualisez l’application dans Power Apps Studio.

Afficher les événements dans Application Insights

  1. Connectez-vous au Portail Azure et ouvrez la ressource Application Insights que vous avez créée précédemment.

  2. Dans le volet de navigation de gauche, sélectionnez Utilisateurs sous la section Utilisation.

    Nonte

    La vue Utilisateurs affiche les détails d’utilisation de l’application, notamment :

    • Le nombre d’utilisateurs ayant consulté l’application
    • Le nombre de sessions utilisateur
    • Le nombre d’événements journalisés
    • Les systèmes d’exploitation et les détails de la version du navigateur des utilisateurs
    • La région et l’emplacement des utilisateurs

    En savoir plus sur l’analyse des utilisateurs, des sessions et des événements dans Application Insights.

  3. Sélectionnez une session utilisateur pour afficher des détails spécifiques, tels que la durée de la session et les écrans visités.

    Capture d’écran des détails d’utilisation pour les utilisateurs.

  4. Dans le volet de navigation de gauche, sélectionnez la vue Événements sous la section Utilisation. Vous pouvez voir un résumé de tous les écrans affichés dans toutes les sessions de l’application.

    Capture d’écran des détails de l’événement pour l’application.

Astuce

Explorez d’autres fonctionnalités Application Insights, notamment :

Créer des événements de trace personnalisés

Écrivez des suivis personnalisés à Application Insights pour analyser des informations spécifiques à votre application. La fonction Trace vous permet de collecter :

  • Informations d’utilisation détaillées pour les contrôles sur les écrans
  • Les utilisateurs spécifiques qui accèdent à votre application
  • Les erreurs qui se produisent

Le traçage vous aide à diagnostiquer les problèmes en envoyant une trace d’informations au fur et à mesure que les utilisateurs naviguent dans votre application et prennent des mesures. Les messages Trace envoyés à Application Insights ont l’une des trois niveaux de gravité :

  • Information
  • Avertissement 
  • Error

Envoyez un message de suivi avec la gravité appropriée en fonction de la situation. Vous pouvez interroger les données et prendre des actions spécifiques en fonction de la gravité.

Nonte

Si vous enregistrez des données personnelles, soyez conscient de vos obligations en ce qui concerne les diverses lois et réglementations sur la confidentialité. Se référer au Centre de gestion de la confidentialité Microsoft et au Portail d’approbation de services pour plus d’informations.

Créez un composant dans votre application pour recueillir des commentaires sur chaque écran et consigner les événements dans Application Insights.

  1. Connectez-vous à Power Apps.

  2. Cliquez sur Applications dans le volet de navigation de gauche. Depuis la liste d’applications, sélectionnez l’application Kudos, puis sélectionnez Modifier.

    Nonte

    Vous pouvez également créer une nouvelle application ou modifier une application existante en lieu et place.

  3. Sélectionnez Composants dans l’Arborescence :

    Composants.

  4. Sélectionnez Nouveau composant, puis redimensionnez la largeur sur 200 et la hauteur sur 75 :

    Hauteur et largeur.

  5. Sélectionnez Insérer dans le menu, puis sélectionnez Icônes pour ajouter Emoji – Frown et Emoji – Smile :

    Ajoutez des icônes.

  6. Sélectionnez Nouvelle propriété personnalisée pour créer une propriété personnalisée :

    Créer une propriété personnalisée.

  7. Entrez le Nom et le Nom d’affichage de la propriété (par exemple, FeedbackSceen).

  8. Entrez la Description de la propriété.

  9. Sélectionnez Type de propriété comme Entrée et Type de données comme Écran :

    Propriété personnalisée.

    Nonte

    Une propriété d’entrée vous permet de capturer le nom d’écran et son composant pour consigner ces informations dans Application Insights.

  10. Sélectionnez le composant dans l’Arborescence, sélectionnez Plus d’actions (), puis sélectionnez Renommer pour donner au composant un nom significatif, par exemple FeedbackComponent.

    Renommer le composant et les icônes.

  11. Sélectionnez les icônes, sélectionnez Plus d’actions (), puis sélectionnez Renommer pour renommer les icônes avec des noms significatifs, tels que FrownIcon et SmileIcon.

  12. Sélectionnez FrownIcon, sélectionnez la propriété OnSelect et entrez l’expression suivante dans la barre de formule :

    Trace(
       "App Feedback",
       TraceSeverity.Information,
           {
             UserName: User().FullName,
             UserEmail: User().Email,
             Screen: FeedbackComponent.FeedbackScreen.Name,
             FeedbackValue: "-1"
           }
         );
    Notify("Thanks for your feedback!");
    

    Formule d’icône de froncement de sourcils.

    Nonte

    La formule envoie les valeurs UserName, UserEmail, Screen et Feedback (avec la valeur -1) à Application Insights.

  13. Sélectionner SmileIcon, sélectionnez la propriété OnSelect, puis entrez l’expression suivante dans la barre de formule :

    Trace(
       "App Feedback",
       TraceSeverity.Information,
           {
             UserName: User().FullName,
             UserEmail: User().Email,
             Screen: FeedbackComponent.FeedbackScreen.Name,
             FeebackValue: "1"
           }
         );
    Notify("Thanks for your feedback!");
    
  14. Ajoutez le composant à l’un des écrans de votre application :

    Ajouter le composant de commentaires.

  15. Sélectionnez Enregistrer, puis Publier pour enregistrer et publier votre application.

  16. Exécutez l’application publiée et envoyez des commentaires de type sourire ou froncement de sourcils depuis ses écrans.

    Important

    Vous devez lire l’application publiée pour envoyer des événements à Application Insights. Les événements ne sont pas envoyés à Application Insights lorsque vous prévisualisez l’application dans Power Apps Studio.

    Lire l’application publiée.

Analyser des données personnalisées dans Application Insights

Vous pouvez maintenant commencer à analyser les données que vous avez envoyées à l’aide de la fonction Trace à partir de votre application Application Insights.

  1. Connectez-vous au Portail Azure et ouvrez la ressource Application Insights que vous avez créée plus tôt.

    Sélectionnez Application Insights.

  2. Sélectionnez Journaux sous Surveillance dans le volet de navigation de gauche.

    Sélectionnez Journaux.

  3. Entrez la requête suivante et sélectionnez Exécuter pour afficher les commentaires de votre application :

    traces
    | where message == "App Feedback"
    | order by timestamp
    

    Afficher les commentaires de l’application.

  4. Sélectionnez une ligne dans les résultats et développez le champ customDimensions.

    Les valeurs pour Screen, UserName, UserEmail et FeedbackValuepour l’événement OnSelect de l’icône de sourire ou de froncement de sourcils dans votre composant sont enregistrées. Les valeurs sont également enregistrées pour chaque événement envoyé à Application Insights, comme appId, appName, et appSessionId.

    Développer les dimensions personnalisées.

  5. Utilisez l’exemple de requête suivant pour étendre les propriétés des dimensions personnalisées JSON et projeter les colonnes dans la vue des résultats.

    traces
        | extend customdims = parse_json(customDimensions)
        | where message == "App Feedback"
        | project timestamp
            , message
            , AppName = customdims.['ms-appName']
            , AppId = customdims.['ms-appId']
            , FeedbackFrom = customdims.UserEmail
            , Screen = customdims.Screen
            , FeedbackValue = customdims.FeedbackValue
        | order by timestamp desc
    

    Étendre la requête customDimensions.

    Astuce

    Les requêtes de journaux sont puissantes. Utilisez-les pour joindre plusieurs tables, agréger de grandes quantités de données et exécuter des opérations complexes. En savoir plus sur les requêtes de journaux.

Analyser les données du cycle de vie des applications dans Application Insights

L’événement de résumé de session est consigné une fois par session et contient des informations sur la réussite de l’ouverture de l’application, les sessions optimales et non optimales d’ouverture de l’application, ainsi que les mesures de performances d’ouverture de l’application.

Limites

Ces événements sont exacts pour les applications canevas exécutées dans un navigateur Web. Ils ne sont pas disponibles pour les applications s’exécutant dans l’application mobile Power Apps, et leurs valeurs peuvent ne pas toujours être disponibles ou précises pour les pages personnalisées.

Voici un exemple de requête montrant comment accéder à l’événement de résumé de session et à tous les champs disponibles :

customEvents 
| where name == "PowerAppsClient.PublishedApp.SessionLoadSummary" 
// 
| extend cd = parse_json(customDimensions) 
// 
| extend sessionSummary = parse_json(tostring(cd["ms-sessionSummary"])) 
| extend successfulAppLaunch = tobool(sessionSummary["successfulAppLaunch"]) 
| extend unsuccessfulReason = tostring(sessionSummary["unsuccessfulReason"]) 
| extend appLoadResult = tostring(sessionSummary["appLoadResult"]) 
| extend appLoadNonOptimalReason = 
tostring(sessionSummary["appLoadNonOptimalReason"]) 
// 
| extend timeToAppInteractive = todouble(sessionSummary["timeToAppInteractive"]) 
| extend timeToAppFullLoad = todouble(sessionSummary["timeToAppFullLoad"]) 
// 
| project 
    timestamp, 
    session_Id, 
    successfulAppLaunch, 
    unsuccessfulReason, 
    appLoadResult, 
    appLoadNonOptimalReason, 
    timeToAppInteractive, 
    timeToAppFullLoad 
| limit 5 

Les champs suivants permettent de mesurer le succès d’ouverture de l’application et la latence des marqueurs de performances liés aux expériences de l’utilisateur final.

Champ Description
successfulAppLaunch Valeur booléenne indiquant si la session a lancé l’application avec succès
unsuccessfulReason Si la session n’a pas réussi à lancer l’application, cela indique la raison / l’erreur. Ce champ sera une chaîne vide si la session a réussi.
appLoadResult Indique si la session était optimale ou non. Valeurs possibles : optimal, other
appLoadNonOptimalReason Si la séance n’a pas été optimale, cela indique la raison. Valeurs possibles : interaction-required, throttled, screen-navigated-away, other
timeToAppInteractive Durée, en millisecondes, pour que la session d’application atteigne un état interactif. Dans cet état, les utilisateurs peuvent commencer à interagir avec le premier écran, mais les données peuvent ne pas être complètement chargées.
timeToAppFullLoad Durée en millisecondes pour que la session d’application atteigne un état complètement chargé, où toutes les demandes de données pour le premier écran ont terminé leur chargement.

Exemples de requêtes

Taux de réussite d’ouverture d’application

Cette requête affichera le taux de réussite d’ouverture de l’application par jour. Cela peut être utilisé pour évaluer les pics ou les tendances des problèmes que les utilisateurs peuvent rencontrer

customEvents 
| where name == "PowerAppsClient.PublishedApp.SessionLoadSummary" 
| extend cd = parse_json(customDimensions) 
| extend sessionSummary = parse_json(tostring(cd["ms-sessionSummary"])) 
| extend successfulAppLaunch = tobool(sessionSummary["successfulAppLaunch"]) 
| summarize 
sessions_total = dcount(session_Id), 
sessions_success = dcountif(session_Id, successfulAppLaunch == true) 
by bin(timestamp, 1d) 
| extend successRate =  
100.0 * (todouble(sessions_success) / todouble(sessions_total)) 
| project timestamp, successRate 
| render timechart

Compte des sessions infructueuses par raison

Cette requête affichera le nombre de sessions ayant échoué par raison / erreur. Cela peut être utilisé pour déboguer les échecs d’ouverture d’application ou évaluer les tendances des problèmes que les utilisateurs peuvent rencontrer.

customEvents 
| where name == "PowerAppsClient.PublishedApp.SessionLoadSummary" 
| extend cd = parse_json(customDimensions) 
| extend sessionSummary = parse_json(tostring(cd["ms-sessionSummary"])) 
| extend successfulAppLaunch = tobool(sessionSummary["successfulAppLaunch"]) 
| extend unsuccessfulReason = tostring(sessionSummary["unsuccessfulReason"]) 
| where successfulAppLaunch == false 
| summarize 
count() 
by unsuccessfulReason, bin(timestamp, 1d) 
| render timechart

Performances d’ouverture de l’application

Cette requête affichera les mesures de performances d’ouverture de l’application par jour. Cela peut être utilisé pour évaluer les tendances des performances au fil du temps ou après avoir apporté des modifications. Nous recommandons :

  1. Utilisation du 75e percentile des champs timeToAppInteractive et timeToAppFullLoad pour éviter le bruit causé par les valeurs aberrantes.
  2. Filtrage sur uniquement les sessions optimales pour éviter le bruit dans les données causé par les cas attendus tels que les sessions avec interaction utilisateur, les sessions où l’application a été chargée dans un onglet en arrière-plan, etc.
customEvents 
| where name == "PowerAppsClient.PublishedApp.SessionLoadSummary" 
| extend cd = parse_json(customDimensions) 
| extend sessionSummary = parse_json(tostring(cd["ms-sessionSummary"])) 
| extend appLoadResult = tostring(sessionSummary["appLoadResult"]) 
| extend timeToAppInteractive = todouble(sessionSummary["timeToAppInteractive"]) 
| extend timeToAppFullLoad = todouble(sessionSummary["timeToAppFullLoad"]) 
| where appLoadResult == "optimal" 
| summarize 
percentile(timeToAppInteractive, 75), 
percentile(timeToAppFullLoad, 75) 
by bin(timestamp, 1d) 
| render timechart

État de chargement de l’application sur les appels HTTP

Il existe un nouvel en-tête de requête x-ms-app-load-state qui indique si un appel HTTP a contribué au démarrage de l’application. Plus précisément, cela peut être utilisé pour déterminer quels appels HTTP ont eu un impact sur le timeToAppFullLoad ci-dessus.

L’en-tête peut être l’une des deux valeurs suivantes :

Valeur Description
TTFL Indique que la demande a contribué à timeToAppFullLoad.
PostTTFL Indique que la demande n’a pas contribué à timeToAppFullLoad.

Voici un exemple de requête montrant comment accéder à la valeur d’en-tête et la projeter dans la colonne appLoadState :

dependencies 
| extend cd = parse_json(customDimensions) 
| extend requestHeaders = parse_json(tostring(cd["requestHeaders"])) 
| extend appLoadState = tostring(requestHeaders["x-ms-app-load-state"]) 
| project timestamp, session_Id, appLoadState, name, duration 
| limit 5

Nombre d’appels HTTP contribuant au chargement complet

Cette requête affiche le nombre moyen d’appels HTTP qui contribuent à timeToAppFullLoad par jour. Cela peut être utilisé pour évaluer le nombre d’appels effectués par l’application au démarrage qui peuvent contribuer à de mauvaises performances.

dependencies 
| extend cd = parse_json(customDimensions) 
| extend requestHeaders = parse_json(tostring(cd["requestHeaders"])) 
| extend appLoadState = tostring(requestHeaders["x-ms-app-load-state"]) 
| where appLoadState == "TTFL" 
| summarize httpCalls = count() by session_Id, bin(timestamp, 1d) 
| summarize avg(httpCalls) by timestamp 
| render timechart

Durée des appels HTTP contribuant au chargement complet

Cette requête affiche la durée totale des appels HTTP qui contribuent à timeToAppFullLoad par jour. Cela peut être utilisé pour évaluer l’impact global des appels HTTP sur les performances de démarrage de l’application.

dependencies 
| extend cd = parse_json(customDimensions) 
| extend requestHeaders = parse_json(tostring(cd["requestHeaders"])) 
| extend appLoadState = tostring(requestHeaders["x-ms-app-load-state"]) 
| where appLoadState == "TTFL" 
| summarize httpCallDuration = sum(duration) by session_Id, bin(timestamp, 1d) 
| summarize percentile(httpCallDuration, 80) by timestamp 
| render timechart

Durée des appels HTTP contribuant au chargement complet par URL

Comme ci-dessus, cette requête affichera le nombre et la durée des appels HTTP contribuant à timeToAppFullLoad par URL. Cela peut être utilisé pour identifier les appels HTTP lents spécifiques qui ont un impact sur les performances de démarrage de l’application.

dependencies 
| extend cd = parse_json(customDimensions) 
| extend requestHeaders = parse_json(tostring(cd["requestHeaders"])) 
| extend appLoadState = tostring(requestHeaders["x-ms-app-load-state"]) 
| where appLoadState == "TTFL" 
| summarize 
count(), percentile(duration, 80) by name

Surveiller les erreurs non gérées (expérimental)

[Cette section contient de la documentation en version préliminaire et peut faire l’objet de modifications.]

Important

  • Il s’agit d’une fonctionnalité expérimentale.
  • Les fonctionnalités expérimentales ne sont pas destinées à une utilisation en production et peuvent avoir des fonctionnalités restreintes. Ces fonctionnalités sont disponibles avant une publication officielle, afin que les clients puissent y accéder de façon anticipée et apporter leurs commentaires.

Vous ne pouvez pas toujours anticiper ou planifier toutes les erreurs qui pourraient se produire pendant l’exécution de votre application. Les erreurs de formule Power Fx non gérées sont signalées aux utilisateurs sous forme de messages de bannière. Elles peuvent également être signalées à Application Insights pour indiquer leur fréquence et gravité sans compter sur les utilisateurs de votre application pour signaler les problèmes. Vous pouvez aussi configurer des alertes en temps réel lorsque des erreurs d’exécution se produisent pour adopter une approche plus proactive.

Activer la transmission d’erreurs à Application Insights

Activez le paramètre qui permet à Power Apps de transmettre les erreurs d’exécution non gérées à Azure Application Insights.

Avertissement 

L’activation du paramètre Transmettre les erreurs à Azure Application Insights peut entraîner des coûts supplémentaires pour le stockage des journaux Application Insights.

  1. Ouvrez l’application canevas pour la modifier.
  2. Sélectionnez Paramètres>Mises à jour>Expérimental et activez Transmettre les erreurs à Azure Application Insights.
  3. Enregistrez, puis publiez votre application.

Événements d’erreur dans Application Insights

Les erreurs Power Fx non gérées que les utilisateurs rencontrent lors de l’exécution de l’application sont signalées dans la table de suivis. Les erreurs non gérées peuvent être identifiées et distinguées des autres événements d’erreur par le message d’événement « Erreur non gérée ». La dimension « severityLevel » de ces événements est 3 (TraceSeverity.Error).

Des messages d’erreur détaillés sont fournis dans la dimension « errors » de la propriété customDimension. Dans les situations où plusieurs erreurs se sont produites au cours de la même opération, les erreurs sont consolidées dans la dimension « erreurs » d’un seul événement Trace. Les messages d’erreur correspondent à ceux signalés dans Monitor lors d’une session de débogage en direct.

Cet exemple de requête identifie les erreurs non gérées et développe tous les messages d’erreur dans l’événement de trace :

traces
    | where message == "Unhandled error"
    | extend customdims = parse_json(customDimensions)
    | extend errors = parse_json(tostring(customdims.['errors']))
    | mv-expand errors
    | project timestamp
        , itemId //unique identifier for the trace event
        , AppName = customdims.['ms-appName']
        , AppId = customdims.['ms-appId']
        , errors = errors.['Message']
    | order by timestamp desc

Capture d’écran de l’exemple de sortie pour l’exemple de requête.

Suivi de la corrélation (expérimental)

[Cette section contient de la documentation en version préliminaire et peut faire l’objet de modifications.]

Important

  • Il s’agit d’une fonctionnalité expérimentale.
  • Les fonctionnalités expérimentales ne sont pas destinées à une utilisation en production et peuvent avoir des fonctionnalités restreintes. Ces fonctionnalités sont disponibles avant une publication officielle, afin que les clients puissent y accéder de façon anticipée et apporter leurs commentaires.

La connexion à des données et services externes est essentielle pour la plupart des applications. Le suivi de la corrélation génère et propage des informations contextuelles pour lier les journaux générés par le système à travers une application canevas et ses connexions, sous réserve de certaines limitations. Par exemple, votre application peut appeler un connecteur personnalisé qui appelle ensuite une fonction Azure ou une autre API REST. Le traçage de corrélation vous permet de corréler les actions effectuées dans l’application avec les appels d’API sous-jacents à travers les niveaux. Ceci est utile pour résoudre les problèmes.

Le suivi de la corrélation de l’application canevas implémente le suivi du contexte et suit la spécification W3C.

Activer le suivi de la corrélation

Avertissement 

L’activation de ce paramètre peut entraîner des coûts supplémentaires liés au stockage des journaux Application Insights.

  1. Pour activer le suivi de la corrélation, ouvrez votre application canevas pour la modifier.
  2. Sélectionnez Paramètres>Mises à jour>Expérimental> et activez Activer le suivi de la corrélation Azure Application Insights.
  3. Enregistrez et publiez l’application.

Capture d’écran du paramètre permettant d’activer le suivi de la corrélation Azure Application Insights.

Limites

  • Le traçage de corrélation ne fonctionne qu’avec des connecteurs personnalisés. Les autres types de connecteurs ne sont pas pris en charge.
  • Les requêtes HTTP sont capturées dans Application Insights uniquement si le service connecté est également connecté à Application Insights.

Utilisation du suivi de la corrélation

Lorsqu’il est activé, le traçage de corrélation ajoute un nouvel événement de journal généré par le système dans la table dépendances de l’instance Application Insights de l’application canevas. Cet événement est enregistré au moment où une réponse d’un appel réseau est reçue. Les événements de dépendance capturent les détails de l’appel réseau, y compris les en-têtes de demande et de réponse, le code de statut de la réponse et la durée de l’appel.

Exemple d’événement consigné dans la table des dépendances.

Si le service connecté est également connecté à Application Insights, un événement de journal supplémentaire généré par le système capturant la demande est généré dans la table demandes de l’instance Application Insights du service. Certains services Azure, tels qu’Azure Functions, peuvent être connectés sans aucun codage à partir du portail Azure. L’application canevas ou plusieurs applications et services connectés peuvent être connectés à la même instance Application Insights.

Exemple d’événement consigné dans la table des demandes.

Joignez les appels réseau pour les connecteurs pris en charge avec d’autres journaux générés par le système sur la dimension « operation_Id ». La requête suivante affiche un appel réseau avec les événements de trace émis au cours d’une session d’application.

traces | union dependencies | union requests | union pageViews | union customEvents
| project timestamp
    , itemType
    , name
    , operation_Name
    , message
    , severityLevel
    , customDimensions
    , operation_Id
    , operation_ParentId
| where operation_Id == "0a7729e3e83c4e4d93cb4f51149f73b9" //placeholder operation_Id, replace
| order by timestamp asc

Capture d’écran de l’exemple de sortie pour l’exemple de requête précédent.

Exporter des données vers Power BI

Vous pouvez exporter vos données Application Insights et les résultats des requêtes Power BI pour l’analyse et la présentation des données.

  1. Connectez-vous au Portail Azure et ouvrez la ressource Application Insights que vous avez configurée plus tôt.

  2. Sélectionnez Journaux sous Surveillance dans le volet de navigation de gauche.

  3. Dans la fenêtre de la requête d’analyse des journaux, sélectionnez le menu Exporter.

  4. Sélectionnez Exporter vers Power BI (requête M) pour télécharger un fichier de requête Power BI.

    Capture d’écran de l’option Exporter la requête Power BI dans la fenêtre de la requête d’analyse des journaux.

  5. Ouvrez le fichier téléchargé dans un éditeur de texte et copiez la requête dans le presse-papiers.

  6. Ouvrir Power BI.

  7. Sélectionnez Obtenir des données dans le ruban Accueil, puis sélectionnez Requête vide.

    Capture d’écran de l’option Requête vide dans le menu Obtenir des données de Power BI.

  8. Dans la fenêtre de la requête, sélectionnez Éditeur avancé, collez la requête dans la fenêtre, sélectionnez Terminé, puis sélectionnez Fermer et appliquer.

    Capture d’écran de l’éditeur avancé dans Power BI avec une requête collée dans la fenêtre.

Créez des graphiques et des visualisations dans Power BI pour représenter les commentaires de votre application et prendre des décisions basées sur les données.

Capture d’écran des graphiques et des visualisations dans Power BI représentant les commentaires de l’application.

Contexte et dimensions de l’événement de trace par défaut

Des dimensions par défaut sont ajoutées à la propriété customDimensions sur chaque événement de suivi. Ces dimensions identifient l’application et les sessions de l’application où les événements se produisent. Si vous enregistrez des données personnalisées supplémentaires à l’aide de la fonction de suivi, celles-ci apparaissent également dans les dimensions personnalisées.

Nom de la dimension Représente
ms-appId L’ID d’application de l’application qui a envoyé l’événement.
ms-appname Le nom d’application de l’application qui a envoyé l’événement.
ms-appSessionId ID de session de l’application. Cette valeur peut ne pas être renseignée dans certains scénarios. Lorsqu’elle est disponible, cette valeur remplace la dimension standard sessionID d’Application Insights.
ms-tenantID L’identifiant unique du locataire où l’application est publiée.
ms-environmentId Le nom de l’environnement où l’application est publiée.
userId Identificateur unique de l’utilisateur associé à la session.
ms-duration Valeur imputée mesurant le temps nécessaire à un utilisateur pour naviguer d’un écran à un autre. Cette valeur remplace la dimension de durée standard PageView d’Application Insights.
sessionId Un ID de session qui peut être utilisé pour corréler tous les événements associés à une seule session d’application. Cette valeur est toujours présente et est recommandée pour comprendre le nombre de sessions uniques. Cette valeur est extraite de l’ID de session du lecteur et s’affiche lors de l’affichage des détails de la session pendant la lecture de l’application. L’ID de session peut parfois obtenir une valeur par défaut, aléatoire et unique générée par Application Insights. Cette valeur par défaut n’est pas fiable et ne correspond à aucun paramètre spécifique à l’application.
Duration Valeur imputée mesurant le temps nécessaire à un utilisateur pour naviguer d’un écran à un autre. Cette valeur correspond à la durée indiquée par la dimension ms-duration.
ms-isTest Indique si la session est associée à l’exécuteur de test Test Studio.
ms-currentScreenName Le nom de la page à partir de laquelle l’utilisateur navigue (disponible pour les événements de navigation de page).
ms-targetScreenName Le nom de la page vers laquelle un utilisateur navigue (présent pour les événements de navigation de page).

Scénarios non pris en charge

Application Insights ne prend pas en charge ces scénarios.

  • Les événements du lecteur hors ligne ne sont pas enregistrés.
  • Les événements des applications mobiles (iOS et Android) ne sont pas enregistrés lorsque l’application est suspendue.