UserAgent parser is currently used exclusively in RUM related
middleware. Loading it lazily when RUM data is ingested results in
significant RSS reduction at the startup of O2.
- Use dynamic filters as a checkbox compared to part of variables
- In the Dashboard's general settings, will get an option to show
dynamic filters apart from set variables
---------
Co-authored-by: Kirtan Thakkar <kirtan@kiara.tech>
Co-authored-by: ktx-abhay <abhay.padamani@kiara.tech>
vrl functions during query make query execution very slow, which makes
function unusable, the PR aims to fix this by:
- [x] applying functions on query results rather than complete data set
and then applying query filters
This will result in values for derived field values not being returned
for _values api
Control redirection of a user to ingestions page in case no data This is
an extension to #2173, just that user can now control this behavior.
```
ZO_RESTRICTED_ROUTES_ON_EMPTY_DATA=false cargo run
curl -s -u user:pass -k http://localhost:5080/config | jq .restricted_routes_on_empty_data
```
The idea behind this PR is to generate logs in a structured-json
format, such that we can use automated tooling to parse and debug
O2 logs as well.
If logs are to be written and analysed in files, one can enable:
`ZO_LOG_FILE_DIR=/tmp/openobserve`
The output file will be of format -
`/tmp/openobserve/o2.log.2023-12-18-10`
and it will be rotated daily.
And add a new environment `ZO_LOG_JSON_FORMAT=false`, set to `true` to
enable json format.
---------
Co-authored-by: Ankur Srivastava <ankur@grover.com>
Co-authored-by: hengfeiyang <hengfei.yang@gmail.com>
We renamed `oo` prefix in RUM related data to `o2`, but tags werent
being parsed properly.
This PR fixes it
Co-authored-by: Ankur Srivastava <ankur@grover.com>
The response from a bad "User Update" request should be generic and not
indicate if an account already exists.
Co-authored-by: Hengfei Yang <hengfei.yang@gmail.com>
This PR fixes the scenario when, the client wont be initialized if the
file wasnt downloaded.
for e.g. if someone restarted the server and the mmdb file was already
present the client will not be initialized.