The @ modifier is no longer experimental. It was made a permanent part of 
Prometheus in Jan 2022, when the promql-at-modifier was made a no-op. It is 
no longer listed under feature flags 
<https://prometheus.io/docs/prometheus/latest/feature_flags/>.

See commit b39f2739e5b01560ad8299d2579f1041a0e9ae5f 
<https://github.com/prometheus/prometheus/commit/b39f2739e5b01560ad8299d2579f1041a0e9ae5f>
 which 
was included in v2.33.0

On Monday 19 August 2024 at 18:34:48 UTC+1 Simon Hardy-Francis wrote:

> I think I found one answer to question 2, which is to turn on this via "
> --enable-feature=promql-at-modifier" feature [1].
> However, [2] says such " features .. are disabled by default since they 
> are breaking changes or are considered experimental". So not sure if I want 
> to use it.
>
> [1] https://prometheus.io/blog/2021/02/18/introducing-the-@-modifier/
> [2] https://prometheus.io/docs/prometheus/2.45/feature_flags/
>
> On Friday, August 16, 2024 at 9:30:27 PM UTC-7 Simon Hardy-Francis wrote:
>
>> Hello!
>>
>> I am a relative newbie to Prometheus and promql and have the following 
>> questions:
>>
>> Question 1: I tried to find the CPU used by containers in the last 1 
>> minute, using 3 different ways via promql, and the ways do not agree with 
>> each other.
>>
>> One way is finding the absolute value for " 
>> container_cpu_usage_seconds_total" before and after and subtracting the 
>> values. The other way is using "rate" and the last way is using "increase". 
>> Why do the "rate" and "increase" ways show so much less CPU being used?
>>
>> Question 2: Let's say I want to find the CPU used for all containers 
>> active between 1 and 2 hours ago. And to discover how long each container 
>> is active for the case that e.g. a container only existed for e.g. 10 
>> minutes of that 60 minute window. How to create a promql command to do that?
>>
>> Thanks,
>> Simon
>>
>> P.S.: Here are my commands:
>>
>> $ cat promql.try-1m.sh
>> (promql --timeout 300 --no-headers --host 'https://<my prometheus 
>> server>' 'sort_desc(sum by (instance, namespace, node, pod, container) 
>> (container_cpu_usage_seconds_total{container!=""}))' > promql.before.txt) &
>> sleep 60
>> (promql --timeout 300 --no-headers --host 'https://<my prometheus 
>> server>' 'sort_desc(sum by (instance, namespace, node, pod, container) 
>> (container_cpu_usage_seconds_total{container!=""}))' > promql.after.txt) &
>> (promql --timeout 300 --no-headers --host 'https://<my prometheus 
>> server>' 'sum(rate(container_cpu_usage_seconds_total{container!=""}[1m])) 
>> by (node, instance, namespace, pod, container)' > promql.rate-1m.txt) &
>> (promql --timeout 300 --no-headers --host 'https://<my prometheus 
>> server>' 
>> 'sum(increase(container_cpu_usage_seconds_total{container!=""}[1m])) by 
>> (node, instance, namespace, pod, container)' > promql.increase-1m.txt) &
>>
>> $ ./promql.try-1m.sh
>>
>> $ ls -al promql.*.txt
>> -rw-rw-r-- 1 simon simon 3845801 Aug 16 15:36 promql.before.txt
>> -rw-rw-r-- 1 simon simon 3844193 Aug 16 15:37 promql.after.txt
>> -rw-rw-r-- 1 simon simon 3565377 Aug 16 15:37 promql.increase-1m.txt
>> -rw-rw-r-- 1 simon simon 3591045 Aug 16 15:37 promql.rate-1m.txt
>>
>> $ cat promql.before.txt | egrep kube-router | head -1
>> kube-router  10.34.28.252:10250  kube-system  <my k8s node> 
>>  kube-router-kjxnp  826909.35828385  2024-08-16T15:36:16-07:00
>>
>> $ cat promql.after.txt | egrep kube-router | egrep 
>> "kube-router.*kube-router-kjxnp"
>> kube-router  10.34.28.252:10250  kube-system  <my k8s node> 
>>  kube-router-kjxnp  826929.923827853  2024-08-16T15:37:16-07:00
>>
>> $ perl -e 'printf qq[%f\n], 826929.923827853 - 826909.35828385;'
>> 20.565544
>>
>> $ cat promql.increase-1m.txt | egrep kube-router | egrep 
>> "kube-router.*kube-router-kjxnp"
>> kube-router  10.34.28.252:10250  kube-system  <my k8s node> 
>>  kube-router-kjxnp  5.908468843536704  2024-08-16T15:37:16-07:00
>>
>> $ cat promql.rate-1m.txt | egrep kube-router | egrep 
>> "kube-router.*kube-router-kjxnp"
>> kube-router  10.34.28.252:10250  kube-system  <my k8s node> 
>>  kube-router-kjxnp  0.09846672408107424  2024-08-16T15:37:16-07:00
>>
>> $ perl -e 'printf qq[%f\n], 0.09846672408107424 * 60;'
>> 5.908003
>>
>> $ perl -e 'printf qq[%f%%\n], (20.565544 - 5.908003) / 5.908003 * 100;'
>> 248.096370%
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"Prometheus Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/prometheus-users/6cd6b961-893c-4394-90ef-14b0ec7c981cn%40googlegroups.com.

Reply via email to