Released at 2024-12-05
-
FEATURE: add
firstandlastpipes for returning the firstNand the lastNlogs after sorting them by the given set of log fields. For example, the following query returns up to 5 logs with the biggest value forrequest_durationover the last hour:_time:1h | last 5 by (request_duration). -
FEATURE:
sortpipe: add an ability to applylimitindividually per group of logs viapartition by (...)syntax. For example, the following query returns up to 3 logs with the smallestrequest_durationindividually per eachhost:_time:5m | sort by (request_duration) limit 3 partition by (host). -
FEATURE: format pipe: allow formatting log fields in lowercase and uppercase via
<uc:field_name>and<lc:field_name>syntax. This can be useful when some fields must be consistently transformed to the same case during querying. See this issue. -
FEATURE: web UI: add frontend-only pagination for table view.
-
FEATURE: web UI: improve memory consumption during data processing. This enhancement reduces the overall memory footprint, leading to better performance and stability.
-
FEATURE: web UI: reduce memory usage across all tabs for improved performance and stability. See this issue.
-
FEATURE: Grafana Loki data ingestion: use Loki stream labels as VictoriaLogs stream fields by default. The set of stream fields can be overriden via
_stream_fieldsquery arg or viaVL-Stream-Fieldsheader as described here. -
FEATURE: OpenTelemetry data ingestion: use resource labels as VictoriaLogs stream fields by default. The set of stream fields can be overriden via
_stream_fieldsquery arg or viaVL-Stream-Fieldsheader as described here. -
FEATURE: data ingestion: expose
vl_bytes_ingested_totalcounter at/metricspage. This counter tracks an estimated number of bytes processed when parsing the ingested logs. This counter is exposed individually per every supported data ingestion protocol - the protocol name is exposed in thetypelabel. For example,vl_bytes_ingested_total{type="jsonline"}tracks an estimated number of bytes processed when reading the ingested logs via json line protocol. Thanks to @tenmozes for the idea and the initial implementation. -
FEATURE: data ingestion: expose
vl_too_long_lines_skipped_totalcounter at/metricspage. This counter tracks the number of the ingested lines with the length bigger than the value of-insert.maxLineSizeBytescommand-line flag. Such lines are ignored. -
BUGFIX:
/select/logsql/stats_query_rangeAPI: properly handlelimitpipe aftersortpipe. Previously thelimitwas applied globally across all the calculated stats, while it must be applied individually per eachstepon thestart ... endtime range. See this issue. -
BUGFIX: vmui: fix for
showLegendandaliasflags in predefined panels. See this issue -
BUGFIX: fix
too big number of columns detected in the blockpanic when the ingested logs contain more than 2000 fields with different names per every log stream. See this issue for details. -
BUGFIX: properly parse lines after too long JSON lines and Elasticsearch lines with the length exceeding
-insert.maxLineSizeBytes. Previously all the lines after the too long line in the stream were ignored.