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
