Configurer une requête en arrière-plan

Vous pouvez créer une requête, l'exécuter en arrière-plan et afficher les résultats de la requête ultérieurement dans l'explorateur de traces.

La création d'une requête et son exécution en arrière-plan sont utiles lorsque l'exécution d'une requête peut prendre un certain temps. Le statut et les résultats de la requête peuvent être extraits ultérieurement.

Pour exécuter une requête en arrière-plan :
  1. Accédez à la page Explorateur de traces.
  2. Assurez-vous que le compartiment et le domaine APM appropriés sont sélectionnés.
  3. Cliquez sur le menu déroulant situé en regard de Exécuter et sélectionnez Exécuter la requête en arrière-plan.

    Figure 5-1 Exécution de la requête en arrière-plan

    Exécuter la requête en arrière-plan
    La fenêtre Exécuter en arrière-plan apparaît avec les options suivantes :
  4. Cliquez sur Soumettre une fois terminé.

Visualiser les requêtes d'arrière-plan

Après avoir créé une requête en arrière-plan, sélectionnez Afficher les requêtes en arrière-plan pour afficher la liste des requêtes qui ont été initialisées précédemment et leurs résultats.

Vous pouvez consulter des informations sur les requêtes en arrière-plan, telles que Instances, Statut, Nombre total de lignes, Programmation et Expire.

Remarque

Une fois le délai d'expiration atteint, les résultats de requête enregistrés à partir d'une requête en arrière-plan ne sont plus accessibles. Le nom et le texte de la requête en arrière-plan sont conservés en tant que requête expirée.
Utilisez l'icône Actions (Icône Actions) pour effectuer les opérations suivantes :
  • Modifier les détails : modifiez les détails d'une requête en arrière-plan. Par exemple, si vous devez prolonger la date d'expiration des requêtes en arrière-plan, mettez à jour le champ Expire. La valeur par défaut Expire est de 30 jours.
  • Extraire les résultats de requête : consultez un résultat de requête en arrière-plan.

    Option non disponible pour la requête agrégée.

  • Nouvelle requête à partir d'attributs : affinez les résultats d'une requête en arrière-plan en apportant des modifications à la requête existante. Par exemple, si vous voulez que les résultats renvoient moins de lignes, vous pouvez ajouter une clause where avec un attribut.

    En outre, les données de résultat de requête peuvent être utilisées comme source pour d'autres requêtes (semblables aux requêtes imbriquées). Cet outil peut vous aider à construire ces requêtes.

  • Réexécuter la requête : réexécutez une requête en arrière-plan. Cela signifie que les données de résultat de requête existantes sont supprimées et que la nouvelle requête est créée avec le même nom.
  • Supprimer : supprimez une requête en arrière-plan.

Exécution unique

Vous pouvez créer une seule requête à exécuter en arrière-plan et enregistrer les résultats de la requête en arrière-plan.

Utilisez l'option Exécution unique si vous disposez d'une requête dont l'exécution peut prendre un certain temps et qui ne doit être exécutée qu'une seule fois (vous n'avez pas besoin de l'exécuter plusieurs fois).

Dans l'onglet Exécution unique, procédez comme suit :

  1. Nom de la requête : entrez le nom de la requête.
  2. Description : saisissez éventuellement la description de la requête.
  3. Requête : créez une requête ou modifiez la requête existante.
  4. Période : sélectionnez la période requise.
  5. Durée d'exécution maximale en minutes : entrez la durée d'exécution maximale en minutes.
  6. Nombre maximal de lignes par exécution : entrez le nombre maximal de lignes par exécution.
  7. Délai d'expiration : entrez le délai d'expiration.
  8. Type de délai d'expiration : entrez le type de délai d'expiration.
  9. Cliquez sur Soumettre.

Exécution récurrente

Vous pouvez créer une requête répétée à exécuter en arrière-plan à l'aide d'un planning personnalisé et obtenir les résultats de la requête enregistrés en tant que requête en arrière-plan.

Utilisez Répéter l'exécution si vous disposez d'une requête dont l'exécution peut prendre un certain temps et qui doit être exécutée plusieurs fois à un intervalle spécifique. Utilisez-le pour mettre à jour le résultat de la requête à un intervalle connu. Par exemple, un résumé des données de la semaine dernière mises à jour chaque lundi matin.

Les résultats de la requête sont remplacés après chaque exécution.

Dans l'onglet Répéter l'exécution, procédez comme suit :

  1. Nom de la requête : entrez le nom de la requête.
  2. Description : saisissez éventuellement la description de la requête.
  3. Requête : créez une requête ou modifiez la requête existante.
  4. Sous Configuration, définissez les éléments suivants :
    • Première exécution : sélectionnez l'heure requise pour la première exécution.
    • Durée d'exécution maximale en minutes : entrez la durée d'exécution maximale en minutes.
    • Nombre maximal de lignes par exécution : entrez le nombre maximal de lignes par exécution.
  5. Sous Planification, sélectionnez l'un des éléments suivants :
    • Intervalle de répétition
      1. Répéter tou(te)s les : sélectionnez la durée de répétition et indiquez le type de répétition correspondant.
      2. Période de la requête par rapport à l'heure d'exécution programmée : sélectionnez la période de la requête par rapport à l'heure d'exécution programmée et indiquez le type de répétition correspondant.
    • Programmation CRON
      1. Expression CRON:

        Entrez les valeurs pour créer une expression cronjob basée sur une chaîne de cinq champs séparés par un espace vide avec la syntaxe suivante :

        S1 S2 S3 S4 S5
        Par exemple, l'exemple ci-dessous montre un cronjob qui s'exécute à 23:10 le 15ème jour d'un mois.
        10 23 15 * *
      2. Période de requête par rapport à l'exécution programmée : indiquez à quel moment la requête démarre.
  6. Cliquez sur Soumettre.

Requête agrégée

Vous pouvez créer une requête agrégée à exécuter en arrière-plan à l'aide d'une requête répétée et obtenir les résultats cumulés enregistrés en tant que requête en arrière-plan.

Utilisez Requête agrégée si l'exécution d'une requête répétée peut prendre un certain temps et nécessite d'interroger en permanence les résultats cumulés. Les résultats de la requête sont ajoutés au résultat précédent après chaque exécution.

Utilisez Requête agrégée pour créer des entités personnalisées en fonction de l'agrégation d'étendues ou de traces. Cela est utile dans les cas où le volume d'inclusion est très élevé et où vous devez présenter un récapitulatif/une agrégation de millions d'étendues dans un tableau de bord.

  1. Nom de la requête : entrez le nom de la requête.
  2. Description : saisissez éventuellement la description de la requête.
  3. Requête : créez une requête ou modifiez la requête existante.
  4. Sous Configuration, définissez les éléments suivants :
    • Première exécution : sélectionnez l'heure requise pour la première exécution.
    • Durée d'exécution maximale en minutes : entrez la durée d'exécution maximale en minutes.
    • Nombre maximal de lignes par exécution : entrez le nombre maximal de lignes par exécution.
  5. Sous Agrégation, définissez les éléments suivants :
    1. Répéter tou(te)s les : sélectionnez la durée de répétition et indiquez le type de répétition correspondant.
    2. Jours de conservation des données : entrez le nombre de jours de conservation des données.
  6. Cliquez sur Soumettre.

Exemple :

La requête d'agrégation en arrière-plan suivante peut être créée en premier et utilisée pour synthétiser les données par utilisateur :
show traces userName, time_bucket_start(60) as timeBucket, 
sum(ApdexScore) as apdex, sum(PageViews) as pageViews, 
count(*) as "count", 
sum(PageResponseTime) as totalResponseTime, percentile(PageResponseTime,90) as P90, 
count_distinct(sessionId) as sessions, sum(ErrorCount) as errorCount 
where pageViews > 0 and userName is not omitted 
group by userName, time_bucket_start(60)
Vous pouvez ensuite utiliser la requête agrégée suivante pour représenter le nombre moyen de sessions par utilisateur dans le temps :
show from query result User avg(sessions) 
timeseries time range using attribute timeBucket