Nos différents produits (d.side temps réel, d.side Interactive Replay, d.side Console) proposent un système de filtre pour localiser plus facilement une donnée dans une liste ou un écran, ou pour réduire le volume d’informations affichées.
Ces filtres sont disponibles dans de nombreuses fenêtres, comme l’écran principal de d.side, l’écran récapitulatif de d.side Interactive Replay, les différents panneaux des Analyzers, l’écran principal de la d.side Console…
Ce mécanisme de filtre se présente sous la forme d’une zone de texte « Filter » et d’une case à cocher « Case Sensitive » :
L’option « Case Sensitive »
Activer cette option amène l’outil de recherche à respecter la casse c’est-à-dire qu’il va tenir compte des majuscules et des minuscules dans ses recherches.
Ainsi, la saisie suivante
permettra de retrouver dans la liste tous les éléments contenant précisément le texte « COUNT » en majuscules :
Si l’option n’est pas sélectionnée
la même saisie produira un résultat moins sélectif, remontant plus de lignes, correspondant à toutes les chaînes de caractères comportant une occurrence du mot « count » quelles que soient les majuscules et minuscules qui le composent :
La zone « Filter »
La zone de texte à filtrer permet de préciser le texte que l’on recherche dans la liste associée.
On peut donc utiliser cette zone pour spécifier tout ou partie d’une chaîne de caractères, qu’elle corresponde à un SQL ID ou au texte d’une requête si on est sur une liste de requêtes, d’un numéro de session ou d’un nom d’utilisateur quand on se trouve dans le All Sessions Analyzer, d’un nom de module dans le Redo Logs Analyzer, d’un type ou nom d’objet depuis le Buffer Cache Analyzer…
Exemple :
Caractères spéciaux
Les recherches sont basées sur un mécanisme similaire aux expressions régulières.
De ce fait, si le texte recherché contient ce qu’on appelle des métacaractères, comme une parenthèse ou une étoile, il est alors nécessaire de faire précéder ces caractères spéciaux d’un backslash (appelé caractère d’échappement) : \
Par exemple, si dans la liste de requêtes précédente on cherche uniquement celles qui correspondent à un « COUNT(*) », alors le texte contenant « TIMECOUNT » n’apparaitra plus si on ajoute « (*) » au « COUNT ».
Pour cela il est nécessaire d’utiliser le caractère d’échappement devant chaque caractère spécial. La chaîne recherchée devient : COUNT\(\*\)
Exemple :
Consommation des requêtes SQL
Si aucun filtre n’est appliqué à la liste des requêtes SQL affichées pour une période Replay, alors toutes les requêtes sont visibles, et 100% de l’activité est donc présente dans cette liste.
Survoler avec la souris le titre d’une des colonnes “CPU”, “IO” ou “Elapsed” confirme bien que la colonne contient 100% de l’activité SQL.
Si à présent un filtre est saisi, réduisant ainsi l’activité observée, les barres de progression dans le titre des colonnes, ainsi que la valeur affichée au survol, montrent ce que totalise l’activité qui reste visible une fois le filtre appliqué.
Dans le cas présent, on constate que le filtre renseigné permet de n’afficher plus que les 3 requêtes contenant le texte “CUST”. Et ces 3 requêtes correspondent à 53% de la consommation totale de SQL dans Oracle.
Résumé: l’ensemble des requêtes comptabilisées sur la période (hors filtre) représente 100% de l’activité, alors que les 3 requêtes visibles après application du filtre correspondent à 53% de cette activité globale. On a donc 3 requêtes qui sont responsables, à elles seules, de plus de la moitié de la consommation Oracle.
Il est ainsi aisé de savoir quel pourcentage de CPU, d’IOs ou même de consommation globale (Elapsed) représente une requête ou un groupe de requêtes.