Commit Graph

83 Commits

Author SHA1 Message Date
David Kaltschmidt
487de2b832 Explore: Logging dedup tooltips
- use title attribute of toggle button group
- add descriptions for all dedup options
2018-12-09 13:06:34 +01:00
Torkel Ödegaard
14cf846e73 Fixed issue with logs graph and stacking 2018-12-08 11:15:02 -08:00
Torkel Ödegaard
cb59f388ca explore logs options styling 2018-12-07 17:23:35 +01:00
Torkel Ödegaard
bfbb44af03 transparent toggle style and new button group style 2018-12-07 17:15:46 +01:00
Torkel Ödegaard
eb6d0e9f51 Merge branch 'master' into develop 2018-12-07 14:59:38 +01:00
David Kaltschmidt
fb4925a8c2 Rebase fixes 2018-12-07 10:22:52 +01:00
David Kaltschmidt
acd52e6a93 Explore: Logging line parsing and field stats
Lazily parse lines and display stats for field when clicked on.

- log line parsers for JSON (basic), and logfmt
- delayed parsing in case user moves to other line
- reuse label stats for field stats
2018-12-07 09:59:55 +01:00
David
be2d9edd1f
Merge pull request #14353 from grafana/14249-multi-button-group
Multi button group
2018-12-06 21:27:34 +01:00
Erik Sundell
b74c099773 use render props instead of cloneElement 2018-12-06 16:38:50 +01:00
Erik Sundell
6f8293af4e sort of a hacky way to figure if the small variation should be used for the label
improve light theme look

use new toggle button group in logs

stop propagation on click event

clean up styles

improve support for small when a label is present

refactoring - move toggle button to the group file. turn it into a stateless component

improve support for light theme

rename dedupe to dedup

use radius variable
2018-12-06 16:37:23 +01:00
Torkel Ödegaard
9a06fad24d
Merge pull request #14352 from grafana/explore-logs-css-refactor
Explore logs css refactor
2018-12-06 15:52:25 +01:00
Torkel Ödegaard
2e6690428f fixed logs to time series calculation issue, increased bucket size, fixes #14248 2018-12-06 12:12:43 +01:00
Torkel Ödegaard
afd7580598 explore logs css refactoring, step1 2018-12-06 10:53:01 +01:00
Torkel Ödegaard
c7d701c8fa explore logs styling poc, WIP 2018-12-06 10:53:01 +01:00
Torkel Ödegaard
e01c196d88 fix to switch component 2018-12-05 11:19:38 +01:00
David Kaltschmidt
6980d2e142 Explore: Display duplicate row count as number
- the pips were hard to see
- make it really clear which rows are duplicates by allocating a column to show number
2018-12-04 16:21:27 +01:00
David Kaltschmidt
6ee7459f22 Explore: Logging query live preview of matches
A logging query has a selector part and a regexp. The regexp matches are highlighted when results return.
This change adds live preview to matches when modifying the regexp in a search field.

- delegate retrieval of match query to datasource
- datasource returns search expressions to be used to highlight a live preview of matches
- logs row now takes preview highlights
- logs row renders preview highlights with dotted line to distinguish from query run matches (solid line)
- fix react-highlight-words version to ensure custom chunk matcher
- custom chunk matcher can now also take incomplete regexps, eg, `(level` without inifinte looping
- perf: debounce of live preview to 500ms
- perf: only top 100 rows get the live preview
- preview is only supported with one query row (multiple rows semantic makes this tricky: regexp for row n should only filter results for query n)
2018-12-04 15:47:51 +01:00
David Kaltschmidt
5916cb3e7c Explore: Logging label stats
- added filter and stats icons to log stream labels
- removed click handler from label itself
- click on stats icon calculates label value distribution across loaded logs lines
- show stats in hover
- stats have indicator which value is the current one
- showing top 5 values for the given label
- if selected value is not among top 5, it is added
- summing up remaining label value distribution as Other
2018-12-04 12:41:32 +01:00
David Kaltschmidt
4ce79349a3 Explore: return to grid layout for logs table
- better column control than flexbox
- increased gutter and row spacing
2018-12-04 10:48:28 +01:00
David Kaltschmidt
979f3f3e0c Review feedback
- fixed typo
- moved result calculation to explore utils
- use component keys instead of componentWillReceiveProps
- require logs to have and id, to as use as Logs component key
- render delay based on row count
2018-11-30 12:26:57 +01:00
David Kaltschmidt
ae26f7126f Explore: Logging render performance
- moved from grid to flexbox
- calculate Explore results only when query transactions change to prevent expensive re-renders
- split up rendering of graph and log data
- render log results in 2 stages
2018-11-29 17:30:11 +01:00
David Kaltschmidt
c3b67f3a13 Explore: Logging label filtering
- adds a custom label renderer to Logs viewer in Explore
- labels are no longer treated as strings, they are passed as parsed objects to the log row
- label renderer supports onClick handler for an action
- renamed Explore's `onClickTableCell` to `onClickLabel` and wired up log label renderers
- reuse Prometheus `addLabelToSelector` to modify Logging queries via click on label
- added tests to `addLabelToSelector`, changed to include the surrounding `{}`
- use label render also for common labels in the controls panel
- logging meta data section has now a custom renderer that can render numbers, strings, and labels
- style adjustments
2018-11-28 14:20:10 +01:00
David Kaltschmidt
593cc38cfc Added stop scan button 2018-11-27 16:35:37 +01:00
David Kaltschmidt
4803b8f3c0 Explore: Scan for older logs
Sometimes log streams dont return any lines for the given range. Would be great to automate the search until some logs are found.

- Allow Explore to drive TimePicker via ref
- Show `Scan` link in Logs when there is no data
- Click on `Scan` sets Explore into scanning state
- While scanning, tell Timepicker to shift left
- TimePicker change triggers new queries with shifted time range
- Remember if query transaction was started via scan
- keep scanning until something was found
- Manual use of timepicker cancels scanning
2018-11-27 15:56:10 +01:00
David Kaltschmidt
4f55a238ed Explore: Filter logs by log level
- add `onToggleSeries` to Explore Graph props
- toggling a Logging Graph series from the legend propagates its hidden series to Logs
- Logs translates hidden series alias to LogLevels
- Logs filters out hidden log levels
2018-11-23 16:29:55 +01:00
David Kaltschmidt
4771eaba5b Explore: POC dedup logging rows
- added dedup switches to logs view
- strategy 'exact' matches rows that are exact (except for dates)
- strategy 'numbers' strips all numbers
- strategy 'signature' strips all letters and numbers to that only whitespace and punctuation remains
- added duplication indicator next to log level
2018-11-19 16:26:47 +01:00
David Kaltschmidt
adb2430a1b Explore: collapsible result panels
- replace the Graph/Table buttons with toggle control in a wrapper panel
- moved toggle control to left to be close to the label
- removed panel styles from Logs and Graph viewer
- moved loader animation to panel
2018-11-16 18:21:13 +00:00
David Kaltschmidt
e39e82949d Adaptive bar widths for log graph 2018-11-06 11:07:12 +01:00
David Kaltschmidt
c1ca1ed35e Time selection via graph 2018-11-05 23:36:58 +01:00
David Kaltschmidt
583334df05 Explore: Logging graph overview and view options
- Logging gets a graph for log distribution (currently per stream, but I
  think I'll change that to per log-level)
- added grid columns for timestamp and unique labels
- show common labels of streams
- View options to show/hide time columns, label columns
- created `--small` modifier for Switch CSS classes
- merging of streams is now a datasource responsibility
2018-11-02 08:25:36 +01:00
David Kaltschmidt
c92f5462fe Explore: repair logging after code restructuring
this is a fix-up PR that cleans up Explore Logging after the recent
restructuring.

- log results need to be merged since query transactions have been
  introduced
- logging DS has its own language provider, query field, and start page
  (some of them based on prometheus components)
- added loader animation to log viewer
- removed logging logic from prometheus components
2018-10-30 16:35:49 +01:00
David Kaltschmidt
76a3b1a793 Explore: highlight typed text in suggestions
- use react-highlight-words
- add highlighting (color and border) to the matching substring of the
  suggested items in the typeahead
- extracted match finding from logging datasource
- created new utils/text.ts class for text-related functions
- added more types
2018-10-09 12:33:25 +02:00
David Kaltschmidt
d07a3a7637 Explore: moved code to app/features/explore 2018-09-24 12:16:06 +02:00