全部產品
Search
文件中心

Simple Log Service:顏色函數

更新時間:Jun 30, 2024

本文介紹顏色函數的基本文法及樣本。

Log Service支援如下顏色函數。

重要
  • 在Log Service分析語句中,表示字串的字元必須使用單引號('')包裹,無符號包裹或被雙引號("")包裹的字元表示欄位名或列名。例如:'status'表示字串status,status"status"表示日誌欄位status。

  • 在Log Service控制台上使用顏色函數時,查詢和分析結果的視覺效果並不理想,推薦您在終端伺服器上展示查詢和分析結果。

    • 控制台展示效果render

    • 終端展示效果color

函數名稱

文法

說明

支援SQL

支援SPL

bar函數

bar(x, width)

通過width指定整條ANSI橫條圖的寬度,其中該ANSI橫條圖的起始顏色為紅色(low_color),結束顏色為綠色(high_color)。然後通過x截取其中一段ANSI橫條圖並返回。

×

bar(x, width, low_color, high_color)

通過width指定整條ANSI橫條圖的寬度,其中該ANSI橫條圖的起始顏色和結束顏色為自訂色彩。然後通過x截取其中一段ANSI橫條圖並返回。

×

color函數

color(string)

將顏色字串轉換為color類型。

×

color(x, low, high, low_color, high_color)

通過判斷xlowhigh之間的佔比指定low_colorhigh_color的份量,然後返回處於low_colorhigh_color之間的一個顏色。

×

color(y, low_color, high_color)

通過y指定low_colorhigh_color的份量,然後返回處於low_colorhigh_color之間的一個顏色。

×

render函數

render(boolean expression)

通過顏色渲染返回結果。布林運算式為真時,返回綠色勾;否則返回紅色叉。

×

render(x, color)

通過自訂的顏色渲染返回結果。

×

rgb函數

rgb(red, green, blue)

通過RGB值返回一個顏色值。

×

bar函數

bar函數用於繪製一條ANSI橫條圖。

文法

  • 通過width指定整條ANSI橫條圖的寬度,其中該ANSI橫條圖的起始顏色為紅色(low_color),結束顏色為綠色(high_color)。然後通過x截取其中一段ANSI橫條圖並返回。

    bar(x, width)
  • 通過width指定整條ANSI橫條圖的寬度,其中該ANSI橫條圖的起始顏色和結束顏色為自訂色彩。然後通過x截取其中一段ANSI橫條圖並返回。

    bar(x, width, low_color, high_color)

參數說明

參數

說明

x

用於指定返回的橫條圖占整條ANSI橫條圖的比例。參數值為double類型,取值範圍為[0,1]。

width

整條ANSI橫條圖的寬度。

low_color

顏色梯度中起始顏色的RGB值。

high_color

顏色梯度中結束顏色的RGB值。

傳回值類型

varchar類型。

樣本

  • 樣本1:計算1小時PV佔總PV的比值,然後通過ANSI橫條圖表示計算結果。

    • 查詢和分析語句

      * |
      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
            )
        )
    • 查詢和分析結果(控制台)bar

    • 查詢和分析結果(終端)bar

  • 樣本2:使用白色和紅色繪製一條ANSI橫條圖,寬度為50。

    • 查詢和分析語句

      * | SELECT bar(1,50,rgb(255,255,255),rgb(255,0,0))
    • 查詢和分析結果(控制台)bar

    • 查詢和分析結果(終端)bar

color函數

color函數用於擷取目標值對應的顏色。

文法

  • 將顏色字串轉換為color類型。

    color(string)
  • 通過判斷xlowhigh之間的佔比指定low_colorhigh_color的份量,然後返回處於low_colorhigh_color之間的一個顏色。

    color(x, low, high, low_color, high_color)
  • 通過y指定low_colorhigh_color的份量,然後返回處於low_colorhigh_color之間的一個顏色。

    color(y, low_color, high_color)

參數說明

參數

說明

x

參數值為double類型。

y

參數值為double類型,取值範圍為[0,1]。

low

最小值,參數值為double類型。

high

最大值,參數值為double類型。

low_color

顏色梯度中起始顏色的RGB值。

high_color

顏色梯度中結束顏色的RGB值。

string

字串,可選值為black、red、green、yellow、blue、magenta、cyan、white或CSS樣式的RGB值(例如#000)。

傳回值類型

color類型。

樣本

  • 樣本1:將顏色字串轉換為color類型。

    • 查詢和分析語句

      * | SELECT color('#000')
    • 查詢和分析結果(控制台)color

    • 查詢和分析結果(終端)color

  • 樣本2:對request_length欄位值進行取餘計算並將計算結果傳遞給color函數,color函數根據該計算結果返回一個顏色,然後將該顏色傳遞給bar函數,最後通過bar函數繪製出相應的ANSI橫條圖。

    • 查詢和分析語句

      *|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))
    • 查詢和分析結果(控制台)color

    • 查詢和分析結果(終端)color

  • 樣本3:通過color函數返回一種顏色,然後傳遞給bar函數,繪製出相應的ANSI橫條圖。

    • 查詢和分析語句

      *|SELECT bar(10,10, color(0.3, rgb(255,255,255), rgb(255,0,0)), rgb(0,255,0))
    • 查詢和分析結果(控制台)color

    • 查詢和分析結果(終端)color

render函數

render函數通過顏色渲染返回結果。

文法

  • 通過顏色渲染返回結果。布林運算式為真時,返回綠色勾;否則返回紅色叉。

    render(boolean expression)
  • 通過自訂的顏色渲染返回結果。

    render(x, color)

參數說明

參數

說明

boolean expression

布林運算式。

x

X座標,參數值為integer類型。

color

顏色,參數值為color類型。

傳回值類型

varchar類型。

樣本

  • 樣本1:通過count函數統計網站訪問PV,然後通過render函數判斷PV是否小於1000。如果小於,則返回綠色勾。

    • 查詢和分析語句

      * | SELECT render(count(*)<1000)
    • 查詢和分析結果(控制台)render

    • 查詢和分析結果(終端)render

  • 樣本2:通過count函數統計日誌總數,然後使用綠色渲染計算結果。

    • 查詢和分析語句

      * | SELECT render(count(*),rgb(48,169,16))
    • 查詢和分析結果(控制台)render

    • 查詢和分析結果(終端)render

rgb函數

rgb函數會根據RGB值返回一個顏色。

文法

rgb(red, green, blue)

參數說明

參數

說明

red

顏色中的紅色份量,取值範圍為[0,255],參數值為integer類型。

green

顏色中的綠色份量,取值範圍為[0,255],參數值為integer類型。

blue

顏色中的藍色份量,取值範圍為[0,255],參數值為integer類型。

傳回值類型

color類型。

樣本

根據RGB值返回一個顏色。

  • 查詢和分析語句

    *|SELECT rgb(255,0,0)
  • 查詢和分析結果(控制台)rgb

  • 查詢和分析結果(終端)rgb