timeseries.go
timeseries.go - Overview
-
Overview This file contains functions to prepare ClickHouse queries for fetching time series data of delta metrics. It includes functions for building sub-queries, optimizing queries, and creating the final query for metric retrieval.
-
Detailed Documentation
prepareTimeAggregationSubQuery(start, end, step int64, mq *v3.BuilderQuery) (string, error)
- Purpose: Builds a sub-query for temporal aggregation of metric data.
- Parameters:
start
: int64 - Start timestamp in milliseconds.end
: int64 - End timestamp in milliseconds.step
: int64 - Step interval in seconds.mq
: *v3.BuilderQuery - Builder query object containing query parameters.
- Returns:
string
: The generated sub-query string.error
: An error object if any issue occurs during query preparation.
prepareQueryOptimized(start, end, step int64, mq *v3.BuilderQuery) (string, error)
- Purpose: Creates an optimized query for specific scenarios to improve performance by avoiding group by fingerprint.
- Parameters:
start
: int64 - Start timestamp in milliseconds.end
: int64 - End timestamp in milliseconds.step
: int64 - Step interval in seconds.mq
: *v3.BuilderQuery - Builder query object containing query parameters.
- Returns:
string
: The generated optimized query string.error
: An error object if any issue occurs during query preparation.
PrepareMetricQueryDeltaTimeSeries(start, end, step int64, mq *v3.BuilderQuery) (string, error)
- Purpose: Constructs the main query to fetch delta metric time series data.
- Parameters:
start
: int64 - Start timestamp in milliseconds.end
: int64 - End timestamp in milliseconds.step
: int64 - Step interval in seconds.mq
: *v3.BuilderQuery - Builder query object containing query parameters.
- Returns:
string
: The final query string for fetching metric data.error
: An error object if any issue occurs during query preparation.
canShortCircuit(mq *v3.BuilderQuery) bool
- Purpose: Determines whether the optimized query path can be used based on the query parameters.
- Parameters:
mq
: *v3.BuilderQuery - Builder query object containing query parameters.
- Returns:
bool
: Returns true if the optimized query can be used, false otherwise.
-
Code Examples
None
-
Clarity and Accuracy
All documented functions have clear descriptions and parameter/return value explanations.
-
Markdown & MDX Perfection
The documentation uses proper markdown syntax for headings, lists, and code blocks.
-
Edge Cases To Avoid Breaking MDX
- No unescaped special characters.
- No broken links or images.
- No raw HTML tags.
- No HTML comments.
- No tables.
- Lists are properly indented.
- Code blocks and headings are properly closed.
-
Getting Started Relevance Include in Getting Started: NO