-
Notifications
You must be signed in to change notification settings - Fork 9
Add make-series, mv-expand, parse-kv, parse-where, project-rename #389
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
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
need to go through that make-series one a bit, left links but dm's are open if it's confusing
The `make-series` operator creates time series data by aggregating values over specified time bins. You use it to turn event-based data into evenly spaced intervals, which is useful for visualizing trends, comparing metrics over time, or performing anomaly detection. | ||
|
||
You find this operator useful when you want to: | ||
|
||
- Analyze trends in metrics such as request duration, error rates, or throughput. | ||
- Prepare data for charting in dashboards where regular time intervals are required. | ||
- Aggregate trace or log data into time buckets for performance monitoring or incident analysis. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hum no, this is describing a summarize operator. They seem similiar for sure! but different.
- summarize takes in event data and lets you use aggregations to produce time series data encoded in rows
- make-series takes in event data and lets you use aggregations to produce time-series data encoded in field arrays
you can use this query to play about with the difference between the two: https://play.axiom.co/axiom-play-qf1k/query?qid=UiH3wAA3IfX-t29ng0&relative=1
the summarize will produce individual rows for every time bucket, the make-series will encode the whole thing into a single array on the avg_metric and timestamp field
the idea with make-series is that you can turn your events into array-based time series data, manipulate that array in some way (using the series_ functions usually), then use mv-exapand to turn it back into row-based time series data.
so it's not about visualizing trends or comparing metrics, but rather it provides a way to maniuplate aggregated, time-series data.
it's difficult to wrap your head around i know, it's much easier if you just play with it.
Here's another example of using make-series to build array based time-series data, then calling a series function on that array to make it a smoothed rolling average value, then using mv-expand to turn it back into row-based time series data for graphing
https://play.axiom.co/axiom-play-qf1k/query?qid=DJ19Fz8dxAH-t29ou0&relative=1
Preview:
https://axiom-mano-apl-sep1.mintlify.app/apl/tabular-operators/make-series
https://axiom-mano-apl-sep1.mintlify.app/apl/tabular-operators/mv-expand
https://axiom-mano-apl-sep1.mintlify.app/apl/tabular-operators/parse-kv
https://axiom-mano-apl-sep1.mintlify.app/apl/tabular-operators/parse-where
https://axiom-mano-apl-sep1.mintlify.app/apl/tabular-operators/project-rename