summaryrefslogtreecommitdiff
path: root/docs/processor/udaf.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/processor/udaf.md')
-rw-r--r--docs/processor/udaf.md180
1 files changed, 178 insertions, 2 deletions
diff --git a/docs/processor/udaf.md b/docs/processor/udaf.md
index e22846f..dd1dd70 100644
--- a/docs/processor/udaf.md
+++ b/docs/processor/udaf.md
@@ -11,7 +11,11 @@
- [Long Count](#Long-Count)
- [MEAN](#Mean)
- [Number SUM](#Number-SUM)
-
+- [HLLD](#HLLD)
+- [Approx Count Distinct HLLD](#Approx-Count-Distinct-HLLD)
+- [HDR Histogram](#HDR-Histogram)
+- [Approx Quantile HDR](#APPROX_QUANTILE_HDR)
+- [Approx Quantiles HDR](#APPROX_QUANTILES_HDR)
## Description
@@ -146,4 +150,176 @@ NUMBER_SUM is used to sum the value of the field in the group of events. The loo
- function: NUMBER_SUM
lookup_fields: [received_bytes]
output_fields: [received_bytes_sum]
-``` \ No newline at end of file
+```
+
+### HLLD
+hlld is a high-performance C server which is used to expose HyperLogLog sets and operations over them to networked clients. More details can be found in [hlld](https://github.com/armon/hlld).
+
+```HLLD(filter, lookup_fields, output_fields[, parameters])```
+- filter: optional
+- lookup_fields: required.
+- output_fields: required.
+- parameters: optional.
+ - input_type: `<String>` optional. input field type can be `regular` or `sketch`. Default is `sketch`. regular field data type includes `string`, `int`, `long`, `float`, `double` etc.
+ - precision: `<Integer>` optional. The precision of the hlld value. Default is 12.
+ - output_format: `<String>` optional. The output format can be either `base64(encoded string)` or `binary(byte[])`. The default is `base64`.
+
+### Example
+ Merge multiple string field into a HyperLogLog data structure.
+```yaml
+ - function: HLLD
+ lookup_fields: [client_ip]
+ output_fields: [client_ip_hlld]
+ parameters:
+ input_type: regular
+
+```
+ Merge multiple `unique_count ` metric type fields into a HyperLogLog data structure
+```yaml
+ - function: HLLD
+ lookup_fields: [client_ip_hlld]
+ output_fields: [client_ip_hlld]
+ parameters:
+ input_type: sketch
+```
+
+### Approx Count Distinct HLLD
+Approx Count Distinct HLLD is used to count the approximate number of distinct values in the group of events.
+
+```APPROX_COUNT_DISTINCT_HLLD(filter, lookup_fields, output_fields[, parameters])```
+- filter: optional
+- lookup_fields: required.
+- output_fields: required.
+- parameters: optional.
+ - input_type: `<String>` optional. Refer to `HLLD` function.
+ - precision: `<Integer>` optional. Refer to `HLLD` function.
+
+### Example
+
+```yaml
+- function: APPROX_COUNT_DISTINCT_HLLD
+ lookup_fields: [client_ip]
+ output_fields: [unique_client_ip]
+ parameters:
+ input_type: regular
+```
+
+```yaml
+- function: APPROX_COUNT_DISTINCT_HLLD
+ lookup_fields: [client_ip_hlld]
+ output_fields: [unique_client_ip]
+ parameters:
+ input_type: sketch
+```
+
+### HDR Histogram
+
+A High Dynamic Range (HDR) Histogram. More details can be found in [HDR Histogram](https://github.com/HdrHistogram/HdrHistogram).
+
+```HDR_HISTOGRAM(filter, lookup_fields, output_fields[, parameters])```
+- filter: optional
+- lookup_fields: required.
+- output_fields: required.
+- parameters: optional.
+ - input_type: `<String>` optional. input field type can be `regular` or `sketch`. Default is `sketch`. regular field is a number.
+ - lowestDiscernibleValue: `<Integer>` optional. The lowest trackable value. Default is 1.
+ - highestTrackableValue: `<Integer>` optional. The highest trackable value. Default is 2.
+ - numberOfSignificantValueDigits: `<Integer>` optional. The number of significant value digits. Default is 1. The range is 1 to 5.
+ - autoResize: `<Boolean>` optional. If true, the highestTrackableValue will auto-resize. Default is true.
+ - output_format: `<String>` optional. The output format can be either `base64(encoded string)` or `binary(byte[])`. The default is `base64`.
+
+### Example
+
+ ```yaml
+ - function: HDR_HISTOGRAM
+ lookup_fields: [latency_ms]
+ output_fields: [latency_ms_histogram]
+ parameters:
+ input_type: regular
+ lowestDiscernibleValue: 1
+ highestTrackableValue: 3600000
+ numberOfSignificantValueDigits: 3
+ ```
+ ```yaml
+ - function: HDR_HISTOGRAM
+ lookup_fields: [latency_ms_histogram]
+ output_fields: [latency_ms_histogram]
+ parameters:
+ input_type: sketch
+ ```
+
+### Approx Quantile HDR
+
+Approx Quantile HDR is used to calculate the approximate quantile value of the field in the group of events.
+
+```APPROX_QUANTILE_HDR(filter, lookup_fields, output_fields, quantile[, parameters])```
+- filter: optional
+- lookup_fields: required.
+- output_fields: required.
+- parameters: optional.
+ - input_type: `<String>` optional. Refer to `HDR_HISTOGRAM` function.
+ - lowestDiscernibleValue: `<Integer>` optional. Refer to `HDR_HISTOGRAM` function.
+ - highestTrackableValue: `<Integer>` required. Refer to `HDR_HISTOGRAM` function.
+ - numberOfSignificantValueDigits: `<Integer>` optional. Refer to `HDR_HISTOGRAM` function.
+ - autoResize: `<Boolean>` optional. Refer to `HDR_HISTOGRAM` function.
+ - probability: `<Double>` optional. The probability of the quantile. Default is 0.5.
+
+### Example
+
+ ```yaml
+ - function: APPROX_QUANTILE_HDR
+ lookup_fields: [latency_ms]
+ output_fields: [latency_ms_p95]
+ parameters:
+ input_type: regular
+ probability: 0.95
+ ```
+
+ ```yaml
+ - function: APPROX_QUANTILE_HDR
+ lookup_fields: [latency_ms_HDR]
+ output_fields: [latency_ms_p95]
+ parameters:
+ input_type: sketch
+ probability: 0.95
+
+ ```
+
+### Approx Quantiles HDR
+
+Approx Quantiles HDR is used to calculate the approximate quantile values of the field in the group of events.
+
+```APPROX_QUANTILES_HDR(filter, lookup_fields, output_fields, quantiles[, parameters])```
+- filter: optional
+- lookup_fields: required.
+- output_fields: required.
+- parameters: optional.
+ - input_type: `<String>` optional. Refer to `HDR_HISTOGRAM` function.
+ - lowestDiscernibleValue: `<Integer>` optional. Refer to `HDR_HISTOGRAM` function.
+ - highestTrackableValue: `<Integer>` required. Refer to `HDR_HISTOGRAM` function.
+ - numberOfSignificantValueDigits: `<Integer>` optional. Refer to `HDR_HISTOGRAM` function.
+ - autoResize: `<Boolean>` optional. Refer to `HDR_HISTOGRAM` function.
+ - probabilities: `<Array<Double>>` required. The list of probabilities of the quantiles. Range is 0 to 1.
+
+### Example
+
+```yaml
+- function: APPROX_QUANTILES_HDR
+ lookup_fields: [latency_ms]
+ output_fields: [latency_ms_quantiles]
+ parameters:
+ input_type: regular
+ probabilities: [0.5, 0.95, 0.99]
+```
+
+```yaml
+- function: APPROX_QUANTILES_HDR
+ lookup_fields: [latency_ms_HDR]
+ output_fields: [latency_ms_quantiles]
+ parameters:
+ input_type: sketch
+ probabilities: [0.5, 0.95, 0.99]
+```
+
+
+