num_changes()

The number of times the value changed within the period over which the CounterSummary is calculated. This is determined by evaluating consecutive points. Any change in the value is counted, including counter resets where the counter is reset to zero. This can result in the same adjusted counter value for consecutive points, but is still treated as a change.

2. num_changes(

4. summary CounterSummary

6. ) RETURNS BIGINT

For more information about counter aggregation functions, see the hyperfunctions documentation.

Required arguments

Name Type Description
summary CounterSummary The input CounterSummary from a counter_agg call

Returns

Name Type Description
num_changes BIGINT The number of times the value changed

Sample usage

2. SELECT

4. id,

6. bucket,

8. num_changes(summary)

10. FROM (

12. SELECT

14. id,

16. time_bucket('15 min'::interval, ts) AS bucket,

18. counter_agg(ts, val) AS summary

20. FROM foo

22. GROUP BY id, time_bucket('15 min'::interval, ts)

24. ) t