-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Document the metric query language and data model #36
Comments
Hi @clofresh , Is the info here still accurate? |
The particular example is still accurate and we still don't document how aggregation works in the graphing guide, and now we do both space and time aggregation depending on the feature. |
great, I am looking at a rewrite of that guide and will incorporate this in as well. |
the guide has been updated and I think i address the original request |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
For example, the differences between functions and aggregators:
Yes, min, max and avg aren't functions per se, they're aggregators. We haven't documented our model as well as we should, but we consider functions as transforms of a single metric series, whereas aggregators combine many metric series's across tags. For example, if we had a metric called foo with values:
host:a = 1,1,4,1,1
host:b = 2,2,0,2,2
Using the min aggregator like min:foo{*} would turn the two series into a single series:
1,1,0,1,1
If we added a min function like min(foo{host:a}), we would get just a single value of 1.
If we had min(foo{*}), we'd still need an aggregator, in this case avg is assumed, so that would be:
avg:foo{} = 1.5, 1.5, 2, 1.5, 1.5
min(avg:foo{}) = 1.5
If we wanted the hosts in tact, we would say min(foo{*} by {host}), then we'd apply the function to each series:
min(host:a) = 1
min(host:b) = 0
The text was updated successfully, but these errors were encountered: