Clause des expressions renvoyées |
Permet d'indiquer les dimensions de trace ou d'étendue ou les fonctions d'agrégation à afficher sous forme de colonnes dans la liste. L'identificateur as fournit éventuellement un alias pour chaque en-tête de colonne. L'alias doit être unique.
Exemple :
ServiceName as Service
Si vous ajoutez un espace après l'identificateur as , vous devez placer la valeur du nom de colonne entre guillemets " " .
Voici les fonctions prises en charge pouvant être utilisées avec cette clause :
abs : renvoie la valeur absolue d'une expression numérique.
Exemple :
abs(errorcount)
avg : renvoie la valeur moyenne d'une dimension numérique.
Exemple :
avg(SpanDuration) as "Duration"
cast : permet de spécifier une unité pour une expression, en prenant l'expression et l'unité souhaitée comme arguments. Cela peut entraîner l'affichage différent de la valeur renvoyée par l'interface utilisateur.
Syntaxe : cast(expression, unit)
expression est les données d'entrée à représenter. Il doit s'agir d'expressions numériques ou temporelles.
unit est l'unité qui détermine la façon dont l'entrée est affichée/transformée vers la sortie. Les valeurs suivantes sont disponibles :
EPOCH_TIME_MS: Temps en millisecondes.
DURATION_MS : durée en millisecondes.
BYTES : taille en octets.
Exemple 1 :
cast(myTimeAttribute, 'EPOCH_TIME_MS')
Exemple 2 :
cast(myDuration, 'DURATION_MS')
Exemple 3 :
cast(myStorageSize, 'BYTES')
ceil : renvoie la valeur longue la plus élevée suivante si l'expression comporte une partie fractionnaire différente de zéro, sinon elle renvoie la valeur en tant que valeur longue.
Exemple :
ceil(traceDuration)
conditional_count : renvoie le nombre total (nombre) d'une expression conditionnelle.
Syntaxe : conditional_count(conditional expression)
Exemples :
conditional_count(dimensionA = 'abc')
count : renvoie le nombre total pour une dimension.
Exemples :
count(OperationName)as "Operation Count"
count(*) as "Trace Count"
count_distinct : renvoie le nombre de valeurs distinctes pour une dimension.
Exemple :
count_distinct(sessionId) as "Sessions"
date_bucket : renvoie une expression de temps transformé.
Syntaxe : date_bucket(numeric expression, string)
numeric expression est l'entrée d'heure qui doit être une valeur numérique avec une unité EPOCH_TIME_MS.
string est la chaîne qui détermine la façon dont l'entrée d'heure est transformée en sortie. Les options valides disponibles sont les suivantes :
'day_of_week' : les valeurs de retour valides sont comprises entre 1 et 7, ce qui indique le jour UTC de la semaine (dimanche = 1).
'day_of_month' : les valeurs de retour valides sont comprises entre 1 et 31, ce qui indique le jour UTC du mois.
'day_of_year' : les valeurs de retour valides sont comprises entre 1 et 366 en fonction du temps universel coordonné (UTC).
'month_of_year' : les valeurs de retour valides sont comprises entre 1 et 12 en fonction du temps universel coordonné (UTC).
'hour_of_day' : les valeurs de retour valides sont comprises entre 0 et 23 en fonction du temps universel coordonné (UTC).
'minute_of_hour' : les valeurs de retour valides sont comprises entre 0 et 59.
'calendar_quarter_of_year' : les valeurs de retour valides sont comprises entre 1 et 4 en fonction du temps universel coordonné (UTC).
'truncate_day' : la valeur d'heure de retour valide est le jour en cours au milieu de l'heure UTC.
'truncate_hour' : la valeur de retour valide est le début de l'heure UTC.
'truncate minute' : la valeur de retour valide est le début de la minute UTC.
floor : tronque une partie fractionnaire de la valeur des expressions et renvoie une valeur de type long.
Exemple :
floor(traceDuration)
histogram : produit un histogramme des données dans des attributs numériques. Il répartit les données dans des buckets de largeur égale (histogram(numeric_attr, min_value, max_value, num_buckets) ).
Exemple :
histogram(spanDuration, 0, 6000, 3)
max : renvoie la valeur maximale d'une dimension.
Exemple :
max(SpanDuration) as "Maximum Duration"
min : renvoie la valeur minimale d'une dimension.
Exemple :
min(SpanDuration) as "Minimum Duration"
mod : renvoie le reste de expression2 divisé par expression1. Si expression1 est égal à 0, il renvoie la valeur de expression2.
Syntaxe : mod(expression1, expression2)
Cette fonction prend comme arguments tout type de données numériques ou tout type de données non numériques qui peut être implicitement converti en type de données numériques. L'argument avec la priorité numérique la plus élevée est déterminé, et les arguments restants sont implicitement convertis vers ce type de données, et ce type de données est renvoyé.
Exemple :
mod (errorcount, spancount)
omittedTo : permet d'affecter une valeur à une dimension qui n'a pas de valeur.
Exemple :
omittedTo(UserName, 'John Doe')
Dans l'exemple ci-dessus, si une valeur est affectée à la dimension UserName , cette valeur est affichée dans les résultats. Si aucune valeur n'est affectée, la valeur John Doe est affichée.
percent_of_items : renvoie le pourcentage des traces ou des étendues représentées par la ligne en cours. La valeur de percent_total_items() est égale à count(*)/total_items()*100 .
Exemple :
show traces serviceName, count(*), total_items(), percent_of_items() group by serviceName
percent_with_root_error : renvoie le pourcentage de traces terminées dont l'étendue racine est marquée par une erreur. Cette valeur est égale à sum(traceRootSpanErrorCount)/count(traceRootSpanErrorCount)*100 .
Exemple :
show traces serviceName, sum(traceRootSpanErrorCount), count(traceRootSpanErrorCount), percent_with_root_error() group by serviceName
percentile : renvoie la valeur du centile approximatif pour un attribut numérique ((numeric_attr, 0-100) ).
Exemple :
percentile(traceDuration, 90)
Remarque : cette opération est actuellement implémentée en termes de fonction oracle database approx_percentile() et calcule une valeur de centile approximative.
rate : renvoie count() au fil du temps.
Exemple :
show traces rate() between now()-1 hour and now() timeseries 5 minutes
Dans l'exemple ci-dessus, le résultat de la requête principale est calculé sur 60 minutes, de sorte que la valeur affichée dans le résultat sera count() /60. Lorsque la série temporelle est calculée, chaque point de données calcule un nombre de 5 minutes, de sorte que la valeur de taux pour chaque point sera count() /5. Cela donne un taux par minute à la fois dans le résultat global et pour chaque point de la série chronologique.
regexp_count : renvoie le nombre total d'occurrences d'un modèle dans la chaîne source à partir de la position indiquée. Elle renvoie 0 si aucune correspondance n'est trouvée dans la chaîne source à partir de la position de recherche ou renvoie le nombre d'occurrences du modèle de recherche dans la chaîne source à partir de la position de début donnée.
Syntaxe : regexp_count (expression, pattern, position, match_parameter)
expression est une expression de chaîne. Une expression de chaîne valide (caractère source) est un attribut valide actif ou une expression de chaîne créée à l'aide d'attributs et d'opérateurs (par exemple, serviceName || operationName ).
pattern est un modèle d'expression régulière valide qui sera utilisé pour la validation et la recherche du modèle.
position est un entier positif indiquant la position du caractère source où la recherche doit commencer. Après avoir trouvé la première occurrence, il recherche la deuxième occurrence après la première.
match_parameter est le paramètre de correspondance qui indique le comportement de la correspondance.
Les valeurs prises en charge sont les suivantes :
i : indique la correspondance sans distinction entre les majuscules et les minuscules.
c : indique la mise en correspondance sensible à la casse et aux accents.
n : autorise le point (.) dans l'expression régulière. Si ce caractère est omis, le point ne correspond pas au nouveau caractère de ligne.
m : la chaîne source est traitée comme plusieurs lignes. caret (^) est le début et $ est la fin de n'importe quelle ligne n'importe où dans la chaîne source, plutôt que seulement au début de la fin de la chaîne source entière. Si ce paramètre est omis, la chaîne source est traitée comme une seule ligne.
x : ignorer les caractères blancs. Par défaut, les caractères non imprimables correspondent à eux-mêmes.
Exemple :
show TRACES traceId where REGEXP_COUNT(traceId, 'a', 7, 'c') >= 2
Dans l'exemple ci-dessus, la requête recherche des traces comportant au moins 2 occurrences du caractère :a dans traceId , la recherche commençant à la position 7 du caractère traceId .
Remarque
Vous pouvez également fournir seulement 2 arguments :
regexp_count (expression, pattern)
Exemple : show TRACES traceId where REGEXP_COUNT(traceId, 'a') >= 2
L'exemple ci-dessus recherche les traces qui ont 2 occurrences ou plus du modèle/de la chaîne : a dans traceId .
regexp_instr : recherche un modèle d'expression régulière dans une expression donnée et renvoie la position de début du premier caractère du modèle dans la chaîne.
Syntaxe : regexp_instr (expression, pattern)
expression est une expression de chaîne. Une expression de chaîne valide est un attribut valide actif (tel que traceId et serviceName ) ou une expression de chaîne créée à l'aide d'attributs et d'opérateurs (tel que serviceName || operationName ).
pattern est un modèle d'expression régulière valide qui sera utilisé pour la validation et la recherche du modèle.
Exemple :
show TRACES REGEXP_INSTR(serviceName, 'cli') as RegexInstr, traceId
Dans l'exemple ci-dessus, la requête recherche les traces dont les valeurs serviceName commencent par le modèle/la chaîne : cli .
regexp_like : effectue la mise en correspondance d'expressions régulières sur l'expression de chaîne donnée et renvoie les expressions de chaîne (attributs) qui ont été mises en correspondance.
Syntaxe : regexp_like (expression, pattern, match_parameter)
expression est une expression de chaîne. Une expression de chaîne valide est un attribut valide actif (tel que traceId et serviceName ) ou une expression de chaîne créée à l'aide d'attributs et d'opérateurs (tel que serviceName || operationName ).
pattern est un modèle d'expression régulière valide qui sera utilisé pour la validation et la recherche du modèle.
match_parameter est le paramètre de correspondance qui indique le comportement de la correspondance. Facultatif.
Les valeurs prises en charge sont les suivantes :
i : indique la correspondance sans distinction entre les majuscules et les minuscules.
c : indique la mise en correspondance sensible à la casse et aux accents.
n : autorise le point (.) dans l'expression régulière. Si ce caractère est omis, le point ne correspond pas au nouveau caractère de ligne.
m : la chaîne source est traitée comme plusieurs lignes. caret (^) est le début et $ la fin de n'importe quelle ligne n'importe où dans la chaîne source, plutôt que seulement au début de la fin de la chaîne source entière. Si ce paramètre est omis, la chaîne source est traitée comme une seule ligne.
x : ignorer les caractères blancs. Par défaut, les caractères non imprimables correspondent à eux-mêmes.
Exemples :
show TRACES traceId where REGEXP_LIKE(traceId, 'aa') Dans l'exemple ci-dessus, la requête recherche des traces dont les valeurs traceId correspondent au modèle/à la chaîne : aa.
show TRACES traceId where REGEXP_LIKE(traceId, '^aa', 'c') Dans l'exemple ci-dessus, la requête recherche les traces dont les valeurs traceId correspondent au modèle/à la chaîne : aa en minuscules (sensible à la casse).
regexp_replace : recherche un modèle source dans une chaîne donnée et renvoie une chaîne avec n'importe quelle occurrence du modèle source remplacée par le modèle donné.
Syntaxe : regexp_replace (expression, pattern, replace_string, numeric expression)
expression est une expression de chaîne. Une expression de chaîne valide (caractère source) est un attribut valide actif (tel que traceId ou serviceName ) ou une expression de chaîne créée à l'aide d'attributs et d'opérateurs (tel que serviceName || operationName ).
pattern est un modèle d'expression régulière valide qui sera utilisé pour la validation et la recherche du modèle.
replace_string est la chaîne qui remplace les occurrences de la chaîne source.
numeric expression est un nombre ou une expression numérique valide qui indique l'occurrence de la chaîne source à remplacer. Facultatif.
Exemples :
-
show TRACES regexp_replace(traceId, 'aa', 'ee') as traceIdReplaced, traceId where REGEXP_LIKE(traceId, 'aa')
-
show TRACES regexp_replace(traceId, 'a', 'apm', 3) as traceIdReplaced, traceId where REGEXP_LIKE(traceId, 'a')
Remarque
Vous pouvez également fournir 5 arguments.
regexp_replace (expression, pattern, replace_string, numeric expression1, numeric expression2)
Dans ce cas, numeric expression1 est un nombre ou une expression numérique valide qui indique l'occurrence de la chaîne source à partir de laquelle commencer la recherche, et numeric expression2 est un nombre ou une expression numérique valide qui indique l'occurrence de la chaîne source à remplacer.
Par exemple, utilisez la requête ci-dessous pour commencer la correspondance de modèle avec la première occurrence du modèle/caractère a , et remplacez la deuxième occurrence de a par la chaîne apm . show TRACES regexp_replace(traceId, 'a', 'apm', 1, 2) as traceIdReplaced, traceId where REGEXP_LIKE(traceId, 'aa')
regexp_substr : recherche un modèle d'expression régulière dans une expression de chaîne ou un attribut donné et renvoie la sous-chaîne à partir de cette expression de chaîne ou de cet attribut.
Syntaxe : regexp_substr (expression, pattern)
expression est une expression de chaîne. Une expression de chaîne valide (caractère source) est un attribut valide actif (tel que traceId ou serviceName ) ou une expression de chaîne créée à l'aide d'attributs et d'opérateurs (tel que serviceName || operationName ).
pattern est un modèle d'expression régulière valide qui sera utilisé pour la validation et la recherche du modèle.
Exemple 1 :
show TRACES REGEXP_SUBSTR(serviceName, 'cli') as RegexSubstr, traceId
L'exemple ci-dessus recherche les traces dont serviceName commence par le modèle/la chaîne : cli .
Exemple 2 :
show TRACES traceId, serviceName, REGEXP_SUBSTR(serviceName, 'RUM') as RegexSubstr where REGEXP_SUBSTR(serviceName, 'RUM') = 'RUM'
L'exemple ci-dessus recherche les traces dont serviceName contient 'RUM', supprime la métrique de valorisation de serviceName et renvoie cette valeur.
span_summary : renvoie un récapitulatif des étendues dans une trace. Cette fonction peut uniquement être utilisée avec show(traces) dans les requêtes non groupées.
Exemple :
span_summary() as Spans
stddev : renvoie l'écart type de l'expression donnée.
Exemple :
stddev(traceDuration+1)
substr : renvoie une sous-chaîne à partir de la chaîne donnée.
Syntaxe : substr (expression, numeric expression1, numeric expression2)
expression est une expression de chaîne. Une expression de chaîne valide (caractère source) est un attribut valide actif (tel que traceId ou serviceName ) ou une expression de chaîne créée à l'aide d'attributs et d'opérateurs (tel que serviceName || operationName ).
numeric expression1 (start position) est une expression numérique qui correspond à un nombre ou à un nombre qui indique la position de début de la sous-chaîne.
Si start position est égal à 0, il est traité comme 1.
Si start position est positif, la fonction compte à partir du début du caractère pour trouver le premier caractère. Si elle est négative, la fonction compte en arrière à partir de la fin du caractère.
numeric expression2 (length) est une expression numérique qui correspond à un nombre ou à un nombre qui indique la longueur de la sous-chaîne à partir de la position de début de la sous-chaîne.
length est toujours positif et ne renvoie que le nombre de caractères existant dans la valeur.
Si length est inférieur à 1, la valeur NULL est renvoyée. Si length est supérieur à la longueur de l'expression de chaîne (chaîne source), la chaîne entière est renvoyée.
Exemple :
show TRACES SUBSTR(traceId, 0, 1) as traceShortId, traceId
L'exemple ci-dessus recherche traceShortId avec la longueur traceShortId 1, en commençant à la position 1 de traceId .
sum : renvoie la valeur agrégée d'une dimension numérique.
Exemple :
sum(ErrorCount) as "Errors"
time_bucket : compte tenu de l'attribut de temps de la table (StartTime ou TraceStartTime ) et d'une granularité temporelle prise en charge, la fonction renvoie un numéro de bucket dans lequel se trouve la ligne. Elle est principalement utilisée pour exprimer des requêtes de séries temporelles.
Exemple :
Dans une requête d'étendue : time_bucket(15, StartTime)
Dans une requête de trace : time_bucket(15, TraceStartTime)
Une valeur time_bucket() peut être reconvertie en une période unix en millisecondes à l'aide de l'expression java suivante : bucketNumber * TimeUnit.MINUTES.toMillis(bucketInMinutes);
time_bucket_start : renvoie le début de la période sous forme de valeur temporelle en millisecondes depuis la période (unité : EPOCH_TIME_MS). Il peut être appelé avec un seul argument, la taille du bucket en minutes ou sans argument, auquel cas le système détermine la taille du bucket en fonction de la durée de la requête.
Exemple :
Dans une requête d'étendue : time_bucket(15)
Dans une requête de trace : time_bucket()
total_items : renvoie le nombre total de traces ou d'étendues prises en compte par la requête.
Exemple 1 :
show traces count(*), total_items()
Exemple 2 :
show traces count(*), total_items() group by service name
REMARQUE : Dans l'exemple 1, count(*) et total_items() sont identiques car la requête n'est pas groupée. Dans l'exemple 2, count(*) fait référence au nombre d'éléments du groupe pour la ligne, tandis que total_items() a la même valeur que dans l'exemple 1.
total_rows : renvoie le nombre total de lignes qui apparaîtraient dans l'ensemble de résultats si FIRST x ROWS pouvait être défini sur illimité.
Cela peut être utile lorsque vous recherchez la cardinalité d'une certaine combinaison de dimensions.
Exemple :
show spans total_rows() where component = 'SERVLET' group by serviceName, operationName first 1 rows
unique_values : renvoie les valeurs uniques d'une dimension et le nombre de fois où chacune des valeurs se produit. Si une dimension comporte cinq valeurs uniques ou moins, elles sont affichées dans un graphique à secteurs. Si une dimension comporte plus de cinq valeurs uniques, un lien apparaît dans la colonne. Vous pouvez cliquer dessus pour afficher la liste des valeurs uniques.
Exemple :
unique_values(ApmrumPageUpdateType) as "Page Load/Update"
|