Exporter la télémétrie depuis Application Insights
Souhaitez-vous conserver votre télémétrie plus longtemps que la période de conservation standard ? Ou voulez-vous la traiter d’une manière spécialisée ? L’exportation continue est idéale à cet effet. Les événements que vous voyez dans le portail Application Insights peuvent être exportés vers le stockage dans Azure au format JSON. À partir de là, vous pouvez télécharger vos données et écrire le code dont vous avez besoin pour les traiter.
Important
- Depuis le 29 février 2024, l’exportation continue est retirée.
- Lorsque vous migrer vers une ressource Application Insights basée sur un espace de travail, vous devez utiliser les paramètres de diagnostic pour exporter la télémétrie. Toutes les ressources Application Insights basées sur un espace de travail doivent utiliser des paramètres de diagnostic.
- L’exportation des paramètres de diagnostic peut augmenter les coûts. Pour plus d’informations, consultez Exportation basée sur les paramètres de diagnostic.
Avant de configurer l’exportation continue, d’autres options doivent être prises en considération :
- Le bouton Exporter situé en haut d’un onglet de métriques ou de recherche vous permet de transférer des tables et des graphiques vers une feuille de calcul Excel.
- Log Analytics fournit un puissant langage de requête pour la télémétrie. et peut également en exporter les résultats.
- Si vous souhaitez explorer vos données dans Power BI, vous pouvez le faire sans utiliser l’exportation continue si vous avez migré vers une ressource basée sur un espace de travail.
- L’API REST d’accès aux données vous permet d’accéder à votre télémétrie par programmation.
- Vous pouvez également accéder à la configuration de l’exportation continue par le biais de PowerShell.
Une fois que l’exportation continue a copié vos données dans le stockage, où elles peuvent rester aussi longtemps que vous le souhaitez, elles restent disponibles dans Application Insights pendant la période de conservation habituelle.
Régions prises en charge
L’exportation continue est prise en charge dans les régions suivantes :
- Asie Sud-Est
- Centre du Canada
- Inde centrale
- Europe Nord
- Sud du Royaume-Uni
- Australie Est
- Japon Est
- Centre de la Corée
- France Centre
- Asie Est
- USA Ouest
- USA Centre
- USA Est 2
- États-Unis - partie centrale méridionale
- USA Ouest 2
- Afrique du Sud Nord
- Centre-Nord des États-Unis
- Brésil Sud
- Suisse Nord
- Sud-Australie Est
- Ouest du Royaume-Uni
- Allemagne Centre-Ouest
- Suisse Ouest
- Centre de l’Australie 2
- Émirats arabes unis Centre
- Brésil Sud-Est
- Centre de l’Australie
- Émirats arabes unis Nord
- Norvège Est
- OuJapon Est
Notes
L’exportation continue fonctionnera encore pour les applications des régions USA Est et Europe Ouest si l’exportation a été configurée avant le 23 février 2021. Les nouvelles règles d’exportation continue ne peuvent être configurées sur aucune application des régions USA Est ou Europe Ouest, quel que soit le moment où l’application a été créée.
Configuration de stockage avancée de l’exportation continue
L’exportation continue ne prend pas en charge les fonctionnalités ou configurations du Stockage Azure suivantes :
- Utilisation des pare-feu Azure Virtual Network/de Stockage Azure avec le Stockage Blob Azure.
- Azure Data Lake Storage Gen2.
Créer une exportation continue
Notes
Une application ne peut pas exporter plus de 3 To de données par jour. Si plus de 3 To sont exportés par jour, l’exportation est désactivée. Pour exporter sans limite, utilisez l’exportation basée sur les paramètres de diagnostic.
Dans la ressource Application Insights de votre application, sous Configurer, à gauche, ouvrez Exportation continue et sélectionnez Ajouter.
Choisissez les types de données de télémétrie que vous souhaitez exporter.
Créez ou sélectionnez un compte de Stockage Azure où vous voulez stocker les données. Pour plus d’informations sur les options des tarifs de stockage, consultez la page des tarifs.
Sélectionnez Ajouter>Destination de l’exportation>Compte de stockage. Ensuite, créez un magasin ou choisissez un magasin existant.
Avertissement
Par défaut, l’emplacement de stockage est défini dans la même région géographique que votre ressource Application Insights. Si vous utilisez une autre région pour le stockage, des frais de transfert peuvent vous être facturés.
Créez ou sélectionnez un conteneur dans votre stockage.
Notes
Une fois que vous avez créé votre exportation, les données nouvellement ingérées commencent à circuler vers le Stockage Blob Azure. L’exportation continue transmet uniquement la nouvelle télémétrie créée ou ingérée après l’activation de l’exportation continue. Les données qui existaient avant l’activation de l’exportation continue ne sont pas exportées. Aucune méthode n’est prise en charge pour exporter rétroactivement des données précédemment créées à l’aide de l’exportation continue.
Il peut y avoir un délai d'environ une heure avant que les données n’apparaissent dans le stockage.
Une fois la première exportation terminée, vous trouverez la structure suivante dans votre conteneur de Stockage Blob. (Cette structure varie en fonction des données que vous collectez.)
Nom | Description |
---|---|
Disponibilité | Consigne les tests web de disponibilité. |
Event | Événements personnalisés générés par TrackEvent(). |
Exceptions | Signale des exceptions sur le serveur et dans le navigateur. |
Messages | Envoyé par TrackTrace et par les adaptateurs de journalisation. |
Métriques | Généré par les appels d’API des métriques. |
PerformanceCounters | Compteurs de performances collectés par Application Insights. |
Demandes | Envoyées par TrackRequest. Les modules standards utilisent les requêtes pour consigner le temps de réponse du serveur, mesuré au niveau du serveur. |
Modifier l’exportation continue
Sélectionnez Exportation continue puis le compte de stockage à modifier.
Arrêter l’exportation continue
Pour arrêter l’exportation, sélectionnez Désactiver. Lorsque vous sélectionnez à nouveau Activer, l’exportation redémarre avec de nouvelles données. Vous n’obtiendrez pas les données qui sont arrivées sur le portail alors que l’exportation était désactivée.
Pour arrêter définitivement l’exportation, supprimez-la simplement. Cette opération ne supprime pas vos données du stockage.
Impossible d’ajouter ou de modifier une exportation ?
Pour ajouter ou modifier des exportations, vous devez disposer de droits d’accès de propriétaire, de contributeur ou de contributeur Application Insights. En savoir plus sur les rôles.
Quels sont les événements que vous obtenez ?
Les données exportées sont la télémétrie brute que nous recevons de votre application, à laquelle s’ajoutent des données de localisation provenant de l’adresse IP du client.
Les données qui ont été ignorées par l’échantillonnage ne sont pas incluses dans les données exportées.
Les autres mesures calculées ne sont pas incluses. Par exemple, nous n’exportons pas l’utilisation moyenne du processeur, mais nous exportons la télémétrie brute à partir de laquelle la moyenne est calculée.
Les données incluent également les résultats de n’importe quel test web de disponibilité que vous avez configuré.
Notes
Si votre application envoie beaucoup de données, la fonctionnalité d’échantillonnage peut fonctionner et envoyer seulement une partie de la télémétrie générée. En savoir plus sur l'échantillonnage.
Inspection des données
Vous pouvez inspecter le stockage directement sur le portail. Sélectionnez Accueil dans le menu le plus à gauche. En haut, où il est indiqué Services Azure, sélectionnez Comptes de stockage. Sélectionnez le nom du compte de stockage, puis, dans la page Vue d’ensemble, sélectionnez Services>Objets blob. Enfin, sélectionnez le nom du conteneur.
Pour examiner le Stockage Azure dans Visual Studio, sélectionnez Afficher, >Cloud Explorer. Si vous n’avez pas cette commande de menu, vous devez installer le SDK Azure. Ouvrez la boîte de dialogue Nouveau projet, développez Visual C#/Cloud, puis sélectionnez Obtenir Microsoft Azure SDK pour .NET.
Lorsque vous ouvrez votre magasin d’objets blob, vous voyez un conteneur avec un ensemble de fichiers blob. Vous verrez l’URI de chaque fichier dérivé du nom de votre ressource Application Insights, sa clé d’instrumentation, ainsi que le type, la date et l’heure de la télémétrie. Le nom de la ressource est tout en minuscules et la clé d’instrumentation omet les tirets.
Notes
Le support de l’ingestion de clé d’instrumentation prendra fin le 31 mars 2025. L’ingestion de clé d’instrumentation continuera de fonctionner, mais nous ne fournirons plus de mises à jour ni de support pour la fonctionnalité. Passez aux chaînes de connexion pour tirer parti des nouvelles fonctionnalités.
La date et l’heure sont au format UTC, et correspondent au moment où la télémétrie a été placée dans le magasin, et pas au moment où elle a été générée. C’est pour cette raison que, si vous écrivez du code pour télécharger les données, il peut parcourir les données de façon linéaire.
Voici le format du chemin d’accès :
$"{applicationName}_{instrumentationKey}/{type}/{blobDeliveryTimeUtc:yyyy-MM-dd}/{ blobDeliveryTimeUtc:HH}/{blobId}_{blobCreationTimeUtc:yyyyMMdd_HHmmss}.blob"
Où :
blobCreationTimeUtc
correspond à l’heure de création de l’objet blob dans le stockage de préproduction interne.blobDeliveryTimeUtc
correspond à l’heure de copie de l’objet blob dans le stockage de destination de l’exportation.
Format de données
Les données sont formatées de telle sorte que :
Chaque objet blob est un fichier texte qui contient plusieurs lignes séparées par des
\n
. Il contient les données de télémétrie traitées sur une période de trente secondes environ.Chaque ligne représente un point de données de télémétrie, par exemple une demande ou un affichage de page.
Chaque ligne est un document JSON sans mise en forme. Si vous souhaitez afficher les lignes, ouvrez le blob dans Visual Studio, puis sélectionnez Modifier>Avancé>Format de fichier.
Les durées sont exprimées en nombre de cycles, où 10 000 cycles = 1 ms. Par exemple, ces valeurs indiquent une durée de 1 ms pour envoyer une demande à partir du navigateur, 3 ms pour la recevoir et 1,8 s pour traiter la page dans le navigateur :
"sendRequest": {"value": 10000.0},
"receiveRequest": {"value": 30000.0},
"clientProcess": {"value": 17970000.0}
Pour obtenir des informations de modèle de données détaillé concernant les types et les valeurs de propriétés, consultez Modèle d’exportation de données Application Insights.
Traiter les données
À petite échelle, vous pouvez écrire du code pour décomposer vos données et les lire dans une feuille de calcul. Par exemple :
private IEnumerable<T> DeserializeMany<T>(string folderName)
{
var files = Directory.EnumerateFiles(folderName, "*.blob", SearchOption.AllDirectories);
foreach (var file in files)
{
using (var fileReader = File.OpenText(file))
{
string fileContent = fileReader.ReadToEnd();
IEnumerable<string> entities = fileContent.Split('\n').Where(s => !string.IsNullOrWhiteSpace(s));
foreach (var entity in entities)
{
yield return JsonConvert.DeserializeObject<T>(entity);
}
}
}
}
Pour obtenir un exemple de code plus long, consultez Utilisation d’un rôle de travail.
Supprimer les anciennes données
Il vous incombe de gérer votre capacité de stockage et de supprimer les anciennes données, le cas échéant.
Régénérer votre clé de stockage
Si vous modifiez la clé de votre stockage, l’exportation continue cesse de fonctionner. Vous voyez alors une notification dans votre compte Azure.
Sélectionnez l’onglet Exportation continue, puis modifiez votre exportation. Modifiez la valeur Destination de l’exportation, mais laissez le même stockage sélectionné. Sélectionnez OK pour confirmer.
L’exportation continue redémarre.
Exemples d’exportation
Pour obtenir des exemples d’exportation, consultez :
À plus grande échelle, envisagez d’utiliser des clusters Hadoop HDInsight dans le cloud. HDInsight fournit diverses technologies pour la gestion et l’analyse du Big Data. Vous pouvez l’utiliser pour traiter des données qui ont été exportées à partir d’Application Insights.
Forum aux questions
Cette section fournit des réponses aux questions fréquentes.
Puis-je obtenir un téléchargement occasionnel d’un graphique ?
C’est possible. En haut de l’onglet, sélectionnez Exporter des données.
J’ai configuré une exportation, mais pourquoi n’y a-t-il pas de données dans mon magasin ?
Application Insights a-t-il reçu de la télémétrie de votre application depuis que vous avez configuré l’exportation ? Vous recevrez uniquement les nouvelles données.
J’ai essayé de configurer une exportation, mais pourquoi l’accès m’a-t-il été refusé ?
Si le compte appartient à votre organisation, vous devez être membre des groupes Propriétaires ou Contributeurs.
Puis-je exporter directement vers mon propre magasin local ?
Non. Actuellement, notre moteur d’exportation fonctionne uniquement avec le Stockage Azure.
Existe-t-il une limite à la quantité de données qu’il est possible de placer dans mon magasin ?
Non. Nous transmettons les données jusqu’à ce que vous supprimiez l’exportation. Nous arrêterons si nous atteignons les limites extrêmes du Stockage Blob, mais cette limite représente un volume très important. C’est à vous de contrôler la quantité de stockage vous utilisez.
Combien d’objets blob devrais-je voir dans le stockage ?
- Pour chaque type de données que vous avez choisi d’exporter, un objet blob est créé toutes les minutes, si les données sont disponibles.
- Pour les applications avec un trafic élevé, des unités de partition supplémentaires sont allouées. Dans ce cas, chaque unité crée un objet blob par minute.
J’ai régénéré la clé de mon stockage ou modifié le nom du conteneur, mais pourquoi l’exportation ne fonctionne-t-elle pas ?
Modifiez l’exportation et sélectionnez l’onglet Destination de l’exportation. Conservez le même stockage que celui sélectionné précédemment, puis sélectionnez OK pour confirmer. L’exportation redémarre. Si la modification a eu lieu dans les derniers jours, vous ne perdrez pas de données.
Est-il possible de suspendre l’exportation ?
Oui. Sélectionnez Désactiver.
Exemples de code
- Stream Analytics - Exemple
- Exporter vers SQL à l’aide de Stream Analytics
- Référence de modèle de données détaillé concernant les types et les valeurs de propriétés
Exportation basée sur les paramètres de diagnostic
L’exportation des paramètres de diagnostic est recommandée, car elle fournit des fonctionnalités supplémentaires :
- Comptes de stockage Azure avec des réseaux virtuels, des pare-feu et des liaisons privées.
- Exportation vers Azure Event Hubs.
L’exportation des paramètres de diagnostic diffère davantage de l’exportation continue de la manière suivante :
- Schéma mis à jour.
- Les données de télémétrie sont envoyées à mesure qu’elles arrivent au lieu des chargements par lots.
Important
Des coûts supplémentaires peuvent être facturés en raison d’une augmentation des appels à la destination, comme un compte de stockage.
Pour migrer vers l’exportation des paramètres de diagnostic :
- Activez les paramètres de diagnostic sur Application Insights classique.
- Configurez votre exportation de données : sélectionnez Paramètres>de diagnostic Ajouter un paramètre de diagnostic à partir de votre ressource Application Insights.
- Vérifiez que votre nouvelle exportation de données est configurée de la même façon que vous exportez en continu
Attention
Si vous souhaitez stocker les journaux de diagnostic dans un espace de travail Log Analytics, il existe deux points à prendre en compte pour éviter de voir des données en double dans Application Insights :
- La destination ne peut pas être le même espace de travail Log Analytics sur lequel repose votre ressource Application Insights.
- L’utilisateur Application Insights ne peut pas avoir accès aux deux espaces de travail. Définissez le mode de contrôle d’accès Log Analytics sur Exiger des autorisations d’espace de travail. Utilisez le Contrôle d’accès en fonction du rôle Azure pour garantir que l’utilisateur a accès uniquement à l’espace de travail Log Analytics sur lequel est basée la ressource Application Insights.
Ces étapes sont nécessaires car Application Insights accède à la télémétrie de ressources Application Insights, notamment des espaces de travail Log Analytics, pour assurer des opérations de transaction de bout en bout et fournir des cartographies d’application précises. Étant donné que les journaux de diagnostic utilisent les mêmes noms de table, il se peut que la télémétrie s’affiche en double si l’utilisateur a accès à plusieurs ressources qui contiennent les mêmes données.
Modèle d’exportation de données Application Insights
Cette table répertorie les propriétés de télémétrie envoyées à partir des Kits SDK Application Insights au portail. Vous verrez ces propriétés dans les données issues d’une exportation continue. Elles apparaissent également dans les filtres de propriétés, dans Metrics Explorer et dans Recherche de diagnostic.
Points à noter :
[0]
dans ces tables désigne un point dans le chemin d’accès au niveau duquel vous devez insérer un index ; il ne s’agit pas toujours de 0.- Les durées sont énoncées en dixièmes de microsecondes, donc 10000000 = 1 seconde.
- Les dates et les heures sont indiquées au format UTC, et respectent la norme ISO
yyyy-MM-DDThh:mm:ss.sssZ
Exemple
// A server report about an HTTP request
{
"request": [
{
"urlData": { // derived from 'url'
"host": "contoso.org",
"base": "/",
"hashTag": ""
},
"responseCode": 200, // Sent to client
"success": true, // Default == responseCode<400
// Request id becomes the operation id of child events
"id": "fCOhCdCnZ9I=",
"name": "GET Home/Index",
"count": 1, // 100% / sampling rate
"durationMetric": {
"value": 1046804.0, // 10000000 == 1 second
// Currently the following fields are redundant:
"count": 1.0,
"min": 1046804.0,
"max": 1046804.0,
"stdDev": 0.0,
"sampledValue": 1046804.0
},
"url": "/"
}
],
"internal": {
"data": {
"id": "7f156650-ef4c-11e5-8453-3f984b167d05",
"documentVersion": "1.61"
}
},
"context": {
"device": { // client browser
"type": "PC",
"screenResolution": { },
"roleInstance": "WFWEB14B.fabrikam.net"
},
"application": { },
"location": { // derived from client ip
"continent": "North America",
"country": "United States",
// last octagon is anonymized to 0 at portal:
"clientip": "168.62.177.0",
"province": "",
"city": ""
},
"data": {
"isSynthetic": true, // we identified source as a bot
// percentage of generated data sent to portal:
"samplingRate": 100.0,
"eventTime": "2016-03-21T10:05:45.7334717Z" // UTC
},
"user": {
"isAuthenticated": false,
"anonId": "us-tx-sn1-azr", // bot agent id
"anonAcquisitionDate": "0001-01-01T00:00:00Z",
"authAcquisitionDate": "0001-01-01T00:00:00Z",
"accountAcquisitionDate": "0001-01-01T00:00:00Z"
},
"operation": {
"id": "fCOhCdCnZ9I=",
"parentId": "fCOhCdCnZ9I=",
"name": "GET Home/Index"
},
"cloud": { },
"serverDevice": { },
"custom": { // set by custom fields of track calls
"dimensions": [ ],
"metrics": [ ]
},
"session": {
"id": "65504c10-44a6-489e-b9dc-94184eb00d86",
"isFirst": true
}
}
}
Context
Tous les types de données de télémétrie sont accompagnés d’une section de contexte. Tous ces champs ne sont pas transmis avec tous les points de données.
Path | Type | Notes |
---|---|---|
context.custom.dimensions [0] | objet [ ] | Paires clé-valeur définies par le paramètre des propriétés personnalisées. Longueur maximale de clé 100, longueur maximale de valeur 1024. Plus de 100 valeurs uniques, la propriété peut faire l’objet d’une recherche, mais ne peut pas être utilisée pour la segmentation. 200 clés maximum par ikey. |
context.custom.metrics [0] | objet [ ] | Paires clé-valeur définies par le paramètre des mesures personnalisées et par TrackMetrics. Longueur maximale de clé 100, les valeurs peuvent être numériques. |
context.data.eventTime | string | UTC |
context.data.isSynthetic | boolean | Requête transmise par un robot ou un test web. |
context.data.samplingRate | nombre | Pourcentage de télémétrie générée par le Kit SDK qui est envoyé vers le portail. Plage 0.0-100.0. |
context.device | object | Appareil client |
context.device.browser | string | IE, Chrome, ... |
context.device.browserVersion | string | Chrome 48.0, ... |
context.device.deviceModel | string | |
context.device.deviceName | string | |
context.device.id | string | |
context.device.locale | string | en-GB, de-DE, ... |
context.device.network | string | |
context.device.oemName | string | |
context.device.os | string | |
context.device.osVersion | string | Système d’exploitation hôte |
context.device.roleInstance | string | ID de l’hôte du serveur |
context.device.roleName | string | |
context.device.screenResolution | string | |
context.device.type | string | PC, navigateur... |
context.location | object | Dérivé de clientip . |
context.location.city | string | Dérivé de clientip , s’il est connu |
context.location.clientip | string | Dernier octogone anonyme (0). |
context.location.continent | string | |
context.location.country | string | |
context.location.province | string | État ou province |
context.operation.id | string | Les éléments qui affichent le même operation id sont représentés en tant qu’éléments associés dans le portail. Généralement le request id . |
context.operation.name | string | nom d’URL ou de requête |
context.operation.parentId | string | Autorise les éléments liés imbriqués. |
context.session.id | string | Id d’un groupe d’opérations de la même source. Une période de 30 minutes sans opération signale la fin d’une session. |
context.session.isFirst | boolean | |
context.user.accountAcquisitionDate | string | |
context.user.accountId | string | |
context.user.anonAcquisitionDate | string | |
context.user.anonId | string | |
context.user.authAcquisitionDate | string | Utilisateur authentifié |
context.user.authId | string | |
context.user.isAuthenticated | boolean | |
context.user.storeRegion | string | |
internal.data.documentVersion | string | |
internal.data.id | string | Unique id attribué lorsqu’un élément est ingéré dans Application Insights |
Événements
Événements personnalisés générés par TrackEvent().
Path | Type | Notes |
---|---|---|
event [0] count | entier | 100 / (taux d’échantillonnage ). Par exemple, 4 => 25 %. |
event [0] name | string | Nom de l’événement. Longueur maximale 250. |
event [0] url | string | |
event [0] urlData.base | string | |
event [0] urlData.host | string |
Exceptions
Signale des exceptions sur le serveur et dans le navigateur.
Path | Type | Notes |
---|---|---|
basicException [0] assembly | string | |
basicException [0] count | entier | 100 / (taux d’échantillonnage ). Par exemple, 4 => 25 %. |
basicException [0] exceptionGroup | string | |
basicException [0] exceptionType | string | |
basicException [0] failedUserCodeMethod | string | |
basicException [0] failedUserCodeAssembly | string | |
basicException [0] handledAt | string | |
basicException [0] hasFullStack | boolean | |
basicException [0] id |
string | |
basicException [0] method | string | |
basicException [0] message | string | Message d’exception. Longueur maximale 10 000. |
basicException [0] outerExceptionMessage | string | |
basicException [0] outerExceptionThrownAtAssembly | string | |
basicException [0] outerExceptionThrownAtMethod | string | |
basicException [0] outerExceptionType | string | |
basicException [0] outerId | string | |
basicException [0] parsedStack [0] assembly | string | |
basicException [0] parsedStack [0] fileName | string | |
basicException [0] parsedStack [0] level | entier | |
basicException [0] parsedStack [0] line | entier | |
basicException [0] parsedStack [0] method | string | |
basicException [0] stack | string | Longueur maximale 10 000 |
basicException [0] typeName | string |
Messages de suivi
Envoyé par TrackTrace et par les adaptateurs de journalisation.
Path | Type | Notes |
---|---|---|
message [0] loggerName | string | |
message [0] parameters | string | |
message [0] raw | string | Le message du fichier journal, longueur maximale 10k. |
message [0] severityLevel | string |
Dépendance distante
Envoyé par TrackDependency. Utilisé pour consigner les performances et l’utilisation des appels aux dépendances dans le serveur, et des appels AJAX dans le navigateur.
Path | Type | Notes |
---|---|---|
remoteDependency [0] async | boolean | |
remoteDependency [0] baseName | string | |
remoteDependency [0] commandName | string | Par exemple, « home/index » |
remoteDependency [0] count | entier | 100 / (taux d’échantillonnage ). Par exemple, 4 => 25 %. |
remoteDependency [0] dependencyTypeName | string | HTTP, SQL, ... |
remoteDependency [0] durationMetric.value | nombre | Délai de l’appel à la fin de la réponse par la dépendance |
remoteDependency [0] id |
string | |
remoteDependency [0] name | string | Url. Longueur maximale 250. |
remoteDependency [0] resultCode | string | à partir de la dépendance HTTP |
remoteDependency [0] success | boolean | |
remoteDependency [0] type | string | HTTP, SQL, ... |
remoteDependency [0] url | string | Longueur maximale 2 000 |
remoteDependency [0] urlData.base | string | Longueur maximale 2 000 |
remoteDependency [0] urlData.hashTag | string | |
remoteDependency [0] urlData.host | string | Longueur maximale 200 |
Demandes
Envoyées par TrackRequest. Les modules standard les utilisent pour consigner le temps de réponse du serveur, mesuré sur le serveur.
Path | Type | Notes |
---|---|---|
request [0] count | entier | 100 / (taux d’échantillonnage ). Par exemple : 4 => 25 %. |
request [0] durationMetric.value | nombre | Délai entre l’arrivée de la requête et la réponse. 1e7 = 1s |
request [0] id |
string | Operation id |
request [0] name | string | GET/POST + base d’URL Longueur maximale 250 |
request [0] responseCode | entier | Réponse HTTP envoyée au client |
request [0] success | boolean | Par défaut == (responseCode < 400) |
request [0] url | string | Sans hôte |
request [0] urlData.base | string | |
request [0] urlData.hashTag | string | |
request [0] urlData.host | string |
Performances d’affichage de la page
Envoyées par le navigateur. Mesure le temps de traitement d’une page, du lancement de la requête par l’utilisateur à l’affichage complet (sans les appels asynchrones AJAX).
Les valeurs de contexte représentent la version de système d’exploitation et de navigateur du client.
Path | Type | Notes |
---|---|---|
clientPerformance [0] clientProcess.value | entier | Délai entre la fin de la réception du code HTML et l’affichage de la page. |
clientPerformance [0] name | string | |
clientPerformance [0] networkConnection.value | entier | Temps nécessaire pour l’établissement d’une connexion réseau. |
clientPerformance [0] receiveRequest.value | entier | Délai entre la fin de l’envoi d’une requête et la réception du code HTML en réponse. |
clientPerformance [0] sendRequest.value | entier | Délai nécessaire à l’envoi de la requête HTTP. |
clientPerformance [0] total.value | entier | Délai entre le début d’envoi de la requête et l’affichage de la page. |
clientPerformance [0] url | string | URL de cette requête. |
clientPerformance [0] urlData.base | string | |
clientPerformance [0] urlData.hashTag | string | |
clientPerformance [0] urlData.host | string | |
clientPerformance [0] urlData.protocol | string |
Affichages de pages
Envoyé par trackPageView() ou stopTrackPage
Path | Type | Notes |
---|---|---|
view [0] count | entier | 100 / (taux d’échantillonnage ). Par exemple, 4 => 25 %. |
view [0] durationMetric.value | entier | Valeur éventuellement définie dans trackPageView() ou par startTrackPage() - stopTrackPage(). Pas identique aux valeurs clientPerformance. |
view [0] name | string | Titre de la page. Longueur maximale 250 |
view [0] url | string | |
view [0] urlData.base | string | |
view [0] urlData.hashTag | string | |
view [0] urlData.host | string |
Disponibilité
Consigne les tests web de disponibilité.
Path | Type | Notes |
---|---|---|
availability [0] availabilityMetric.name | string | availability |
availability [0] availabilityMetric.value | nombre | 1.0 ou 0.0 |
availability [0] count | entier | 100 / (taux d’échantillonnage ). Par exemple, 4 => 25 %. |
availability [0] dataSizeMetric.name | string | |
availability [0] dataSizeMetric.value | entier | |
availability [0] durationMetric.name | string | |
availability [0] durationMetric.value | nombre | Durée du test. 1e7 = 1s |
availability [0] message | string | Diagnostic de défaillance |
availability [0] result | string | Réussite/Échec |
availability [0] runLocation | string | Source géographique de la requête HTTP |
availability [0] testName | string | |
availability [0] testRunId | string | |
availability [0] testTimestamp | string |
Mesures
Généré par TrackMetric().
La valeur de la métrique se trouve dans context.custom.metrics[0]
Par exemple :
{
"metric": [ ],
"context": {
...
"custom": {
"dimensions": [
{ "ProcessId": "4068" }
],
"metrics": [
{
"dispatchRate": {
"value": 0.001295,
"count": 1.0,
"min": 0.001295,
"max": 0.001295,
"stdDev": 0.0,
"sampledValue": 0.001295,
"sum": 0.001295
}
}
]
}
}
}
À propos des valeurs de mesure
Les valeurs de mesure, dans les rapports de mesure et ailleurs, sont consignées avec une structure d’objet standard. Par exemple :
"durationMetric": {
"name": "contoso.org",
"type": "Aggregation",
"value": 468.71603053650279,
"count": 1.0,
"min": 468.71603053650279,
"max": 468.71603053650279,
"stdDev": 0.0,
"sampledValue": 468.71603053650279
}
Actuellement (cela peut changer à l’avenir), dans l’ensemble des valeurs consignées des modules standard du SDK, count==1
et uniquement les champs name
et value
sont utiles. Le seul cas où la situation serait différente serait une configuration où vous écririez vos propres appels TrackMetric, dans lesquels vous définiriez les autres paramètres.
Les autres champs ont vocation à autoriser l’agrégation des mesures dans le Kit SDK afin de réduire le trafic dans le portail. Par exemple, vous pouvez décider d’accumuler un nombre défini de valeurs successives avant d’envoyer chaque rapport de mesure. Vous calculeriez ensuite la valeur minimale, la valeur maximale, l’écart standard et la valeur agrégée (somme ou moyenne) et définir le décompte sur le nombre de valeurs représentées par le rapport.
Dans les tableaux ci-dessus, nous avons volontairement omis les champs rarement utilisés count, min, max, stdDev et sampledValue.
Au lieu de pré-agréger les mesures, vous pouvez utiliser l’ échantillonnage si vous avez besoin de réduire le volume de télémétrie.
Durées
Sauf mention contraire, les durées sont indiquées en dixièmes de microseconde. Ainsi, 10000000.0 représente 1s.