Simple Log Service (SLS) は、Metricstore のメトリックを処理するための 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() 関数は、入力された時間範囲内の最後の 2 つの値の差分を計算します。
idelta(go_memstats_mallocs_total[3m])increase()
increase() 関数は、入力された時間範囲内のメトリック値ポイントの増加量を計算します。この関数は、増加する数値メトリックにのみ適用されます。時間範囲内で値が減少した場合、それは累積的に加算されます。
increase(go_memstats_mallocs_total[3m])irate()
irate 関数は、入力された時間範囲内のメトリック値ポイントの変化率を計算しますが、irate 関数は計算に最後の 2 つの値のみを使用します。
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)