* Add common labels to Logs panel
* Clean up and add tests
* Update documentation
* Update public/app/plugins/panel/logs/LogsPanel.tsx
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
* Fix type error
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
* Switch to GraphNG for Logs Histogram
* Remove redundant timeZone
It was used just to format timestamp in the tooltip but it's not needed anymore.
* Add tests for creating logs histogram data
* Update decoractors tests
* Adjust bar width to be more like in the old graph
* Fix tooltip pointer color
* Test tooltip pointer color
* Decouple graph config from uPlot internals
* Ensure nested properties are not mutated when overrides are applied
* Add legend toggling for Explore graphs
* Remove unused component
ExploreGraphNGPanel is now used in Explore
* Code formatting
* allow multiple bars pathBuilders to be globally cached with different settings
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
* Move fitlering and deduplication to comnponent to enable future caching
* Clean up LogsMetaInfo
* Update
* Memoize component
* Fix type errors
* Clean uo
* Add tests for filtering in combination with deduplication
* WIP: Add more info ro log line limit, remove redundant info
* Refactor
* Clean up
* Adjust tests
* Adjust spacing
* Add test for new functionality
* Update snapshot
* Change solution, simplify
* Remove redundant variables, makees it more clear
* Update public/app/core/logs_model.ts
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* Remove unnecessary deduplication
* Remove dedup test as we are not doing dedup on all logs anymore
* Create unique ids in Loki
* Fix comment
* Fix comment
* Store prev response uids in usedUids
* Revert "Store prev response uids in usedUids"
This reverts commit 05c496e2a8.
* Add comment
* Fix logSeriesToLogsModel when some data frames have empty fields
* Update test
* Update public/app/core/logs_model.ts
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* Return valid metadata even if data is empty
* Make sure fields is not accessed when there is no data
* Meta Info should depend only on meta data
* Refactor condition for better reading
* Change data to empty array for better condition handling
* Remove unecessary checks
* Add test for showing metaData even when data is empty
* Logs: Use result range instead of timepicker range for log histogram
If a logs datasource does not send histogram data for the requested
time range, the logs model computes a timeseries based on the log row
counts, bucketed by an automcatically calculated time interval. Even
when this histogram time series did not span the whole requested time
range it was still rendered in the graph across the whole range, leaving
an empty area at its start. Users find this confusing and are lead to
believe their log data is missing.
This change fixes this by anchoring the start of the timeseries on the
first log row's timestamp from the result, and adds this smaller range
as `visibleRange` to the logs model and passes it through to the logs
component that optionally takes it into account to not render the empty
area.
The interval (bucket size) is also adjusted to account for a potentially
finer resolution on the shorter visible time interval.
The bucketsize multiplier was also changed from 10 to 20 to account for
the space between the chart's bars.
* Aligned visible range with buckets
* Extract bucket size calculation and add test
Adds a config section with derived fields which is a config that allows you to create a new field based on a regex matcher run on a log message create DataLink to it which is the clickable in the log detail.