全部產品
Search
文件中心

Simple Log Service:PromQL函數使用樣本

更新時間:Jul 31, 2025

Log Service提供PromQL函數對時序庫中的指標進行處理。本文介紹PromQL函數常用樣本。

abs()

abs()函數會計算時序資料中所有點的絕對值,使用方式如下。

abs(container_network_receive_bytes_total{})

changes()

changes()用於統計傳入的時間範圍內,數值發生改變的次數,樣本如下。

changes(demo_api_request_duration_seconds_count[1m])

absent()

absent()統計對應時間下,各時間軸資料點是否缺失,如果缺失則返回 1,樣本如下。

absent(test_metrics)

absent_over_time()

absent_over_time()用於統計傳入的時間範圍內,資料點是否缺失,如果缺失則返回 1,樣本如下。

absent_over_time(test_metrics[1m])

ceil()

ceil()函數用於計算指定時間點下,所有時間軸資料點的向上取整值,樣本如下。

ceil(process_start_time_seconds)

clamp()

clamp(v instant-vector, min scalar, max scalar)函數需要傳入一個上下限數值,如果真實指標數值超出了這個範圍,則直接取傳入的最大值和最小值,樣本如下。

clamp(process_start_time_seconds,10,20)

clamp_max()

clamp_max(v instant-vector, max scalar)函數與clamp函數類似,但僅限制了最大值,樣本如下。

clamp_max(process_start_time_seconds,10)

clamp_min()

clamp_min(v instant-vector, min scalar)函數與clamp函數類似,但僅限制了最小值,樣本如下。

clamp_min(process_start_time_seconds,10)

day_of_month()

day_of_month()需傳入表示時間戳記的時序指標值,該函數能夠計算對應時間戳記是該月裡的第幾天,樣本如下。

day_of_month(vector(1805308033))

day_of_week()

day_of_week()需傳入表示時間戳記的時序指標值,該函數能夠計算對應時間戳記是一周裡面的第幾天,樣本如下。

day_of_week(vector(1805308033))

day_of_year()

day_of_year()需傳入表示時間戳記的時序指標值,該函數能夠計算對應時間戳記是該年裡的第幾天,樣本如下。

day_of_year(vector(1805308033))

delta()

delta()函數用於計算所傳入時間範圍中首末兩個數值的差值,樣本如下。

delta(go_memstats_heap_released_bytes[1m])

deriv()

deriv()函數用於計算一個時間區間中各個時間序列的二階導數,樣本如下。

deriv(go_memstats_heap_released_bytes[1m])

exp()

exp()函數用於執行指數計算,樣本如下。

exp(go_memstats_lookups_total)

floor()

floor()函數用於計算指定時間點下,所有時間軸資料點的向下取整值,樣本如下。

floor(go_memstats_heap_released_bytes)

holt_winters()

holt_winters()函數會基於傳入時間範圍的資料點計算出一個平滑後的數值,計算方式基於holt_winter演算法,樣本如下。

holt_winters(go_memstats_heap_released_bytes[3m],0.2,0.5)

rate()

rate函數用於計算傳入時間範圍內指標數值點的變動率,樣本如下。

rate(go_memstats_mallocs_total[3m])

idelta()

idelta()函數用於計算所傳入時間範圍中末尾兩個數值的差值,樣本如下。

idelta(go_memstats_mallocs_total[3m])

increase()

increase()函數用於計算所傳入時間範圍內指標數值點的增加量,樣本如下。該函數僅適用遞增型的數值指標,如果時間範圍內數值出現了下降,則會將該值累計疊加。

increase(go_memstats_mallocs_total[3m])

irate()

irate函數用於計算傳入時間範圍內指標數值點的變動率,但irate函數僅會取用末尾兩個數值用於計算,樣本如下。

irate(go_memstats_mallocs_total[3m])

hour()

hour()函數需傳入表示時間戳記的時序指標值,該函數能夠計算出對應時間戳記是一天內的第幾小時,樣本如下。

hour(vector[1705308033])

minute()

minute()函數需傳入表示時間戳記的時序指標值,該函數能夠計算出對應時間戳記是小時內的第幾分鐘,樣本如下。

minute(vector[1705308033])

month()

month()函數需傳入表示時間戳記的時序指標值,該函數能夠計算出對應時間戳記是一年內的第幾月,樣本如下。

month(vector[1705308033])

resets()

resets函數用於統計傳入時間範圍內指標點數值下降的次數,樣本如下。

resets(go_memstats_heap_sys_bytes[5m])

round()

round()函數需額外傳入參數值to_nearest,該函數用於計算指標數值最接近to_nearest整數倍的值,樣本如下。

round(go_memstats_heap_sys_bytes)