Saiba a sintaxe e o uso das funções de cor no Log Service.
O Log Service oferece suporte às seguintes funções de cor.
Em instruções analíticas do Log Service, coloque strings entre aspas simples ('). O sistema interpreta caracteres sem aspas simples ou entre aspas duplas ("") como nomes de campo ou coluna. Por exemplo, 'status' representa a string status, enquanto status ou "status" refere-se ao campo de log chamado status.
-
O console do Log Service não renderiza corretamente os resultados das funções de cor. Exiba os resultados em um terminal.
Exibição no console: O console mostra códigos de escape ANSI como caracteres brutos, como
\e[38;5;1m, em vez de renderizar cores.-
Exibição no terminal
mysql> select pv,bar(pv/10.0,10 , color(0,50,100, rgb(255,0,0), rgb(0,255,0)), rgb(0,255,0)) from(select * from (VALUES (0),(1), (2), (3), (4), (5), (6), (7),(8),(9)) AS X(pv)); +------+----------------------------------------------------------------------+ | pv | _col1 | +------+----------------------------------------------------------------------+ | 0 | | | 1 | █ | | 2 | ██ | | 3 | ███ | | 4 | ████ | | 5 | █████ | | 6 | ██████ | | 7 | ███████ | | 8 | ████████ | | 9 | █████████ | +------+----------------------------------------------------------------------+ 10 rows in set (0.21 sec)
|
Função |
Sintaxe |
Descrição |
Suporte SQL |
Suporte SPL |
|
bar(x, width) |
Retorna um segmento de gráfico de barras com base em x, com width especificada e gradiente padrão de vermelho para verde. |
√ |
× |
|
|
bar(x, width, low_color, high_color) |
Retorna um segmento de gráfico de barras com base em x, com width especificada e cores inicial e final personalizadas. |
√ |
× |
|
|
color(string) |
Converte uma string de cor para o tipo |
√ |
× |
|
|
color(x, low, high, low_color, high_color) |
Pondera low_color e high_color conforme a proporção de x entre low e high. Retorna uma cor intermediária entre low_color e high_color. |
√ |
× |
|
|
color(y, low_color, high_color) |
Usa y para definir as proporções de low_color e high_color. Retorna uma cor intermediária entre low_color e high_color. |
√ |
× |
|
|
render(boolean expression) |
Retorna uma marca de verificação verde (✓) se a expressão booleana for verdadeira ou um X vermelho (✗) caso contrário. |
√ |
× |
|
|
render(x, color) |
Renderiza resultados com uma cor personalizada. |
√ |
× |
|
|
rgb(red, green, blue) |
Retorna um valor de cor com base em valores RGB. |
√ |
× |
função bar
A função bar desenha um gráfico de barras ANSI.
Sintaxe
-
Retorna um segmento de gráfico de barras com base em x, com width especificada e gradiente padrão de vermelho para verde.
bar(x, width) -
Retorna um segmento de gráfico de barras com base em x, com width especificada e cores inicial e final personalizadas.
bar(x, width, low_color, high_color)
Parâmetros
|
Parâmetro |
Descrição |
|
x |
Proporção da barra a renderizar. O valor deve ser DOUBLE no intervalo [0, 1]. |
|
width |
Largura total do gráfico de barras ANSI. |
|
low_color |
Valor RGB da cor inicial no gradiente de cores. |
|
high_color |
Valor RGB da cor final no gradiente de cores. |
Tipo de valor retornado
varchar
Exemplos
-
Exemplo 1: Calcular a proporção horária de PV e exibi-la como gráfico de barras ANSI.
-
Instrução analítica
* | SELECT Method, bar(pv/m,100) FROM( SELECT *, max(pv) over() AS m FROM( SELECT Method, count(1) AS pv FROM internal-operation_log WHERE __date__ > '2021-09-10 00:00:00' AND __date__ < '2021-09-10 01:00:00' GROUP BY Method ) ) Resultados da consulta e análise (console): A coluna _col1 exibe o gráfico de barras ANSI gerado pela função
bar.-
Resultados da consulta e análise (terminal)
+-----------------+----------------------------------------------+ | GetProjectLogs | ████████ | | GetLogStoreLogs | ████████████████████████████████████████████ | +-----------------+----------------------------------------------+ 2 rows in set (8.99 sec)
-
-
Exemplo 2: Desenhar um gráfico de barras ANSI com largura de 50 usando gradiente de branco para vermelho.
-
Instrução analítica
* | SELECT bar(1,50,rgb(255,255,255),rgb(255,0,0)) Resultados da consulta e análise (console): A coluna
_col0contém códigos de escape ANSI renderizados como barra com gradiente de branco para vermelho.-
Resultados da consulta e análise (terminal)
+------+------+ | _col0 | _col0 | +------+------+ | [white to red gradient bar] | | +------+------+ 1 row in set (0.20 sec)
-
função color
A função color retorna a cor correspondente a um valor especificado.
Sintaxe
-
Converte uma string de cor para o tipo
color.color(string) -
A proporção de x entre low e high determina os pesos de low_color e high_color. A função retorna uma cor intermediária entre low_color e high_color.
color(x, low, high, low_color, high_color) -
Usa y para especificar a proporção entre low_color e high_color. Retorna uma cor intermediária entre low_color e high_color.
color(y, low_color, high_color)
Parâmetros
|
Parâmetro |
Descrição |
|
x |
Valor DOUBLE. |
|
y |
Valor DOUBLE no intervalo [0, 1]. |
|
low |
Valor mínimo do intervalo, do tipo DOUBLE. |
|
high |
Valor máximo do intervalo, do tipo DOUBLE. |
|
low_color |
Valor RGB da cor inicial no gradiente de cores. |
|
high_color |
Valor RGB da cor final no gradiente de cores. |
|
string |
String com nome de cor (por exemplo, |
Tipo de valor retornado
color
Exemplos
-
Exemplo 1: Converter uma string de cor para o tipo
color.-
Instrução analítica
* | SELECT color('#000') Resultados da consulta e análise (console): O resultado é
#000000.-
Resultados da consulta e análise (terminal)
mysql> SELECT color('#000'); +---------+ | _col0 | +---------+ | #000000 | +---------+ 1 row in set (0.21 sec)
-
-
Exemplo 2: Gerar um gráfico de barras ANSI colorido a partir do resto da divisão do campo request_length.
-
Instrução analítica
*|SELECT x,bar(10,10, color(x, 0,10, rgb(255,0,0), rgb(0,255,0)), rgb(0,255,0)) FROM(SELECT *FROM (SELECT request_length%10 x FROM log)) Resultados da consulta e análise (console): A coluna
xmostra o valor numérico. A coluna_col1exibe um gráfico de barras com cores variando de vermelho para verde com base emx.-
Resultados da consulta e análise (terminal)
| x | _col1 | |------|--------------------------------| | 1 | [colored gradient bar] | | 6 | [colored gradient bar] | | 4 | [colored gradient bar] | | 7 | [colored gradient bar] | | 7 | [colored gradient bar] | | 0 | [colored gradient bar] | 6 rows in set (0.21 sec)
-
-
Exemplo 3: Gerar um gráfico de barras ANSI com cor inicial proporcional.
-
Instrução analítica
*|SELECT bar(10,10, color(0.3, rgb(255,255,255), rgb(255,0,0)), rgb(0,255,0)) Resultados da consulta e análise (console): O resultado contém códigos de escape ANSI que exibem uma barra com gradiente de cor.
-
Resultados da consulta e análise (terminal)
mysql> select bar(10,10 , color(0.3, rgb(255,255,255), rgb(255,0,0)), rgb(0,255,0)); +----------------------------------------------------------------------+ | _col0 | +----------------------------------------------------------------------+ | ██████████ | +----------------------------------------------------------------------+ 1 row in set (0.21 sec)
-
função render
A função render formata a saída com cores ou símbolos.
Sintaxe
-
Retorna uma marca de verificação verde (✓) se a expressão booleana for verdadeira ou um X vermelho (✗) caso contrário.
render(boolean expression) -
Renderiza resultados com uma cor personalizada.
render(x, color)
Parâmetros
|
Parâmetro |
Descrição |
|
boolean expression |
Expressão booleana a avaliar. |
|
x |
Valor INTEGER a renderizar. |
|
color |
Cor usada na renderização. Este parâmetro é do tipo |
Tipo de valor retornado
varchar
Exemplos
-
Exemplo 1: Verificar se a contagem de PV é menor que 1.000. Retorna ✓ se verdadeiro.
-
Instrução analítica
* | SELECT render(count(*)<1000) Resultados da consulta e análise (console): O console mostra códigos de escape ANSI como caracteres brutos, como
\e[38;5;1m, em vez de renderizar cores.-
Resultados da consulta e análise (terminal)
mysql> select render(count(*)<1000); +------------------+ | _col0 | +------------------+ | ✓ | +------------------+ 1 row in set (0.22 sec)
-
-
Exemplo 2: Contar o total de logs e renderizar o resultado em verde.
-
Instrução analítica
* | SELECT render(count(*),rgb(48,169,16)) -
Resultados da consulta e análise (console)
_col0 \e[38;5;70m1\e[0m -
Resultados da consulta e análise (terminal)
mysql> select render(count(*),rgb(48,169,16)); +----------------+ | _col0 | +----------------+ | 1 | +----------------+ 1 row in set (0.21 sec)
-
função rgb
A função rgb cria uma cor a partir de valores RGB especificados.
Sintaxe
rgb(red, green, blue)
Parâmetros
|
Parâmetro |
Descrição |
|
red |
Componente vermelho da cor, inteiro de 0 a 255. |
|
green |
Componente verde da cor, inteiro de 0 a 255. |
|
blue |
Componente azul da cor, inteiro de 0 a 255. |
Tipo de valor retornado
color
Exemplos
Retorna uma cor com base em valores RGB.
-
Instrução analítica
*|SELECT rgb(255,0,0) Resultados da consulta e análise (console): A coluna
_col0retorna#ff0000.-
Resultados da consulta e análise (terminal)
select rgb(255,0,0); +---------+ | _col0 | +---------+ | #ff0000 | +---------+ 1 row in set (0.21 sec)