Commit Graph

111 Commits

Author SHA1 Message Date
Ivana Huckova
117e334719
Logs: Fix ui getting stuck when removing fields (#72597)
* Logs: Fix ui getting stuck when removing fields

* Update public/app/features/logs/components/LogDetailsRow.tsx

* Update

* Fix tests
2023-07-31 15:47:26 +02:00
Gábor Farkas
0da199324a
logs: log-details: handle dataplane-compliant dataframes (#71935)
* logs: log-details: handle dataplane-compliant dataframes

* lint fix, removed unused import
2023-07-26 10:56:26 +02:00
Matias Chomicki
ec5650cc82
LogRow: ensure scrollIntoView is called only once with shortlinks (#72291) 2023-07-25 18:00:10 +02:00
Gábor Farkas
63e0b927bd
logs: context: various scrolling-fixes (#72271)
* logs: context: correctly append to the above&below arrays

* logs: context: on initial load always scroll to center

* logs: context: reset counts when context-query-ui changes
2023-07-25 14:34:02 +02:00
Gábor Farkas
f2f30caa73
logs: better unit tests (#72246) 2023-07-25 10:50:54 +02:00
Matias Chomicki
84f94cdc24
Logs: Show active state of "filter for value" buttons in Logs Details (#70328)
* Datasource test: fix describe nesting

* Parsing: export handleQuotes function

* Modify query: add functions to detect the presence of a label and remove it

* Loki: add support to toggle filters if already present

* Datasource test: fix describe nesting

* Loki: add support to toggle filter out if present

* Remove label: handle escaped values

* Datasource: add test case for escaped label values

* Loki: remove = filter when applying !=

* Remove selector: add support for Selector node being far from Matcher

* Modify query: add unit tests

* Elasticsearch: create modifyQuery for elastic

* Elastic modify query: implement functions

* Elasticsearch: implement modifyQuery functions in datasource

* Elasticsearch: update datasource test

* Loki modify query: check for streamSelectorPositions length

* Elasticsearch query has filter: escape filter value in regex

* Remove unused type

* Modify query: add functions to detect the presence of a label and remove it

* Remove label: handle escaped values

* Logs: create props to check for label filters in the query

* Log Details Row: use label state props to show visual feedback

* Make isCallbacks async

* Explore: add placeholder for checking for filter in query

* Datasource: define new API method

* Inspect query: add base implementation

* Remove isFilterOutLabelActive as it will not be needed

* Check for "isActive" on every render

Otherwise the active state will be out of sync

* Elasticsearch: implement inspectQuery in the datasource

* Logs: update test

* Log details: update test

* Datasources: update tests

* Inspect query: rename to analize query to prevent confusion

* Datasource types: mark method as alpha

* Explore: add comment to log-specific functions

* Remove duplicated code from bad rebase

* Remove label filter: check node type

* getMatchersWithFilter: rename argument

* Fix bad rebase

* Create DataSourceWithQueryManipulationSupport interface

* Implement type guard for DataSourceWithQueryManipulationSupport

* DataSourceWithQueryManipulationSupport: move to logs module

* hasQueryManipulationSupport: change implementation

`modifyQuery` comes from the prototype.

* DataSourceWithQueryManipulationSupport: expand code comments

* AnalyzeQueryOptions: move to logs module

* DataSourceWithQueryManipulationSupport: add support for more return types

* Fix merge error

* Update packages/grafana-data/src/types/logs.ts

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

* DatasourceAPI: deprecate modifyQuery

* Explore: refactor isFilterLabelActive

* DataSourceWithQueryModificationSupport: rename interface

* Split interfaces into Analyze and Modify

* Query analysis: better name for interface

* Fix guard

* Create feature flag for active state

* Use new feature flag in Explore

* DataSourceToggleableQueryFiltersSupport: create a specific interface for this feature

* Rename feature flag

* De-deprecate modifyQuery

* DataSourceToggleableQueryFiltersSupport: Rethink types and methods

* Explore: adjust modifyQuery and isFilterLabelActive to new methods

* Loki: implement new interface and revert modifyQuery

* DataSourceToggleableQueryFiltersSupport: better name for arguments

* Elasticsearch: implement new interface and revert modifyQuery

* Loki: better name for arguments

* Explore: document current limitation on isFilterLabelActive

* Explore: place toggleable filters under feature flag

* Loki: add tests for the new methods

* Loki: add legacy modifyQuery tests

* Elasticsearch: add tests for the new methods

* Elasticsearch: add legacy modifyQuery tests

* Toggle filter action: improve type values

* Logs types: update interface description

* DataSourceWithToggleableQueryFiltersSupport: update interface name

* Update feature flag description

* Explore: add todo comment for isFilterLabelActive

---------

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2023-07-24 11:22:47 +03:00
Gábor Farkas
d4dcf9f9d2
logs: log-details: updated test for more complete mock data (#71941)
logs: updated test for more realistic mock data
2023-07-19 14:37:37 +02:00
Gábor Farkas
709e4de7c6
logs: log-details: test for datalink without field value (#71922)
* logs: log-details: test for datalink without field value

* added more test-cases
2023-07-19 14:12:49 +03:00
Gábor Farkas
eaeeb5c698
logs: improved unit tests (#71840) 2023-07-19 11:42:23 +02:00
Ivana Huckova
72c92ca187
Logs: Fix shouldRemoveField (#71882) 2023-07-18 19:12:25 +02:00
Matias Chomicki
43f4e55a76
LogRowMessageDisplayedFields: sync implementation with LogRowMessage (#71770)
* LogRowMessageDisplayedFields: sync implementation with LogRowMessage

* Add regression test
2023-07-17 18:20:25 +03:00
Gábor Farkas
d0351bac57
logs: restrict permalinks to datasources with id fields (#71729)
* logs: restrict permalinks to datasources with id fields

* simplified code

* more tests

* more test

* removed unnecessary comment

* fixed tests

* updated tests
2023-07-17 15:01:48 +02:00
Matias Chomicki
1f3aa099d5
Log rows performance: Render LogRowMenuCell on demand (#71354)
* Log row menu: refactor visibility

* LogRowMenuCell: display if mouse over or pinned

* LogRowMenuCell: use unique wrapper for all buttons

* Revert to using table row as position reference

* Log row message: update test

* Fix tests

* LogRow: handle mouse over behavior
2023-07-14 14:49:08 +03:00
Gábor Farkas
98f4bbf7fa
logs: context small improvements (#71546)
adjusted page size
normalize logrow refid
add tracking
2023-07-13 12:18:26 +00:00
Gábor Farkas
1f55003db2
logs: make sure log-row-react-keys are always unique (#71279) 2023-07-13 08:01:55 +02:00
Sven Grossmann
7e4e743a42
Logs: Add experimental table visualisation in Explore (#71120)
* add table visualisation for logs

* add `logsExploreTableVisualisation` feature flag

* add feature flag to visualisation switch

* fix english

* improve state when no data is present

* improve margin

* add missing prop to test

* add tests

* fix logs table height

* fix linting

* move visualisation toggle

* add field config overrides

* update tests

* fix explore test

* fix explore test

* add missing header and revert test changes

* use timefield from logsFrame.ts

* add TODO

* move to new file

* hide fields that should be hidden

* add test to hide fields

* remove unused lines
2023-07-12 15:52:42 +02:00
Sven Grossmann
9ddba37dbc
Logs: Fix nanosecond partition in log context (#71346)
* add ts partition

* fix setting wrong loadingstate

* improve setContext

* update context and test
2023-07-11 16:20:41 +02:00
Matias Chomicki
b8fbeb084a
Logs: Display log row menu cell on displayed fields (#71300)
* LogRowMenuCell: create component

* LogRowMessage: use new LogRowMenuCell component

* LogRowMessage: turn into functional component

* LogRowMenuCell: memoize component

* LogRowMessage: remove cx

* LogMessage: create component from function

* LogRowMessageDisplayedFields: turn into component

* LogRowMessageDisplayedFields: add LogRowMenuCell

* LogRowMessageDisplayedFields: rename prop and pass missing context prop

* LogRowMessageDisplayedFields: add unit test
2023-07-11 14:50:53 +02:00
Sven Grossmann
212239aedb
LogContext: Fix a bug where multiple logs with similar nanosecond timestamps were loaded too often (#71319)
fix bug with multiple ns logs
2023-07-11 10:00:10 +02:00
Gábor Farkas
a62ae10a02
logs: refactor: move logsModel to the logs folder (#70989)
* move files

* fixed imports in the moved files

* updated imports pointing to the moved files
2023-07-04 13:27:52 +02:00
Ashley Harrison
7a2a5dde8b
Chore: Enable remaining jsx-a11y rules (#70990)
enabling remaining a11y rules + ignore existing violations
2023-06-30 16:58:16 +01:00
Sven Grossmann
6393ef9385
Logs: Add pinning icon in log context (#70945)
add pinning icon
2023-06-30 15:33:40 +02:00
Gábor Farkas
2084cc9955
Logs: Do not insert log-line into log-fields in json download (#70901)
* logs: do not insert log-line into log-fields in json download

* fixed test after merge
2023-06-30 09:37:32 +02:00
Ashley Harrison
9ee2cc742a
Chore: Use theme.shape.radius.circle everywhere (#70896)
* use theme.shape.radius.circle everywhere

* add useTheme2 import
2023-06-29 13:56:05 +01:00
Gábor Farkas
890316c105
logs: add more tests (#70886) 2023-06-29 14:53:31 +02:00
Sven Grossmann
48db23b32f
Logs: Add back properties to prevent unnecessary re-renders (#70839)
* add back properties

* use spread to not define all props
2023-06-28 15:45:22 +02:00
Sven Grossmann
1206cf3dfa
LogContext: Make centered row unsticky on click (#70832)
* add pinning in log context

* add tests

* move icon names

* fix type of `pinned`
2023-06-28 15:22:54 +02:00
Sven Grossmann
e0619e8aa7
LogContext: Add button to scroll to center (#70821)
add scroll to center button
2023-06-28 14:55:22 +02:00
Gábor Farkas
9ca888527b
Logs: Implement "infinite" scrolling in log context (#69459)
* logs: context: allow "infinite" scroll

* Log Context: Add visual changes to infinite scrolling (#70461)

* remove text showing how many log lines are loaded

* better positioning of loading indicators

* add border

* fix import

* better loading states

* improve corner cases

* increase page size 10 => 50

* updated unit test, simplified code

* fixed tests

* updated tests

* removed unused code

* fixed test

* improved refid-handling in loki

* removed unnecessary code

* better variable name

* refactor

* refactor

---------

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2023-06-28 11:51:16 +03:00
Sven Grossmann
4c28b01975
Revert "Logs: Change permalink icon back to link" (#70570)
Revert "Logs: Change permalink icon back to `link` (#70362)"

This reverts commit fc39dadf62.
2023-06-23 10:58:07 +02:00
Sven Grossmann
9cf685cfda
LogContext: Fix filtering out log lines with the same entry (#70538)
* fix bug with filtering out too many log lines

* fix acts

* remove unused line
2023-06-23 10:20:07 +02:00
Sven Grossmann
b5de806f66
Logs: Link anchored logline when opening context in split view (#70463)
* add logline link id to context opened in split

* add comment
2023-06-22 14:00:35 +02:00
Sven Grossmann
90b621be20
Logs: Add tracking for permalinking (#70334)
* add permalink tracking

* move location override to beforeAll

* add `logLevel` to tracking
2023-06-20 14:55:51 +02:00
Sven Grossmann
fc39dadf62
Logs: Change permalink icon back to link (#70362)
change icon to link-icon
2023-06-20 11:50:43 +03:00
Sven Grossmann
68637059c4
Logs: Add permalink to log lines (#69464)
* create explore panel state for logs

* add props to LogRows and unify

* pass properties from explore to logs

* add css

* implement button and scrolling

* export and use `getUrlStateFromPaneState`

* make `scrollIntoView` optional

* change state handling for permalinks

* change link icon

* removed unused state

* add tests for `LogRowMessage`

* remove unused prop

* fix name

* reorg component

* add `LogRow` tests

* add test for `Logs`

* Update public/app/features/logs/components/LogRow.test.tsx

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

* Update public/app/features/explore/Logs/Logs.test.tsx

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

* improve types in test

* fix props export in Logs.tsx

* fix props export in LogRowMessage.tsx

* fix props export in LogRow.tsx

* fixed import

* fix theme import

* remove hidden style

* add better test names

* change to `log line` rather logline

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

* fix tooltips

* remove unused css

---------

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2023-06-16 14:07:51 +02:00
Gareth Dawson
cda10fae52
Logs: Make logs container scrollable (#69371)
* feat: make logs container scrollable

* fix container height

* add a feature toggle

* fix: scroll behaviour with wrap lines on

* Update public/app/features/logs/components/getLogRowStyles.ts

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

* rename feature toggle

---------

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2023-06-15 12:25:34 +01:00
Sven Grossmann
87eb76947b
Revert "LogsPanel: Remove bottom margin" (#69999)
Revert "LogsPanel: Remove bottom margin (#69850)"

This reverts commit 66851d5d87.
2023-06-14 13:24:23 +02:00
Sven Grossmann
66851d5d87
LogsPanel: Remove bottom margin (#69850)
drop margin-bottom
2023-06-12 11:21:18 +02:00
Laura Benz
24502c4c4a
Add tooltip to instances of IconButton (#68880)
* refactor: tooltip is required

* refactor: add tooltips

* refactor: add tooltips

* refactor: add tooltips

* refactor: add tooltips

* refactor: add tooltips

* refactor: add tooltips

* refactor: adjust tests

* refactor: apply changes from code review

* refactor: adjust component for e2e test

* refactor: adjust fallback

* refactor: apply changes from code review

* refactor: apply changes from code review

* refactor: set IconButton default as type=button and remove from use cases

* refactor:  remove aria-labels when duplicated and type=button from use cases

* refactor: clean up

* refactor: fix tests

* refactor: fix type errors

* refactor: remove changes in order in order to add them to a separate PR

* refactor: set IconButton default as type=button

* refactor: remove tooltip

* refactor: apply changes requested in review
2023-06-08 10:23:28 +02:00
Sven Grossmann
9d2f4786c7
Log Row: Fix menu styling and dimensions (#69569)
* fix wrong logrowmenu styling

* fix imports
2023-06-05 20:24:41 +02:00
Sven Grossmann
cb4ad588b9
Log Context: Fix split view button using the wrong query (#69369)
* fix wrong query used in split button

* refactor into one function

* don't act?
2023-06-01 20:39:13 +02:00
Gábor Farkas
4cbe20ca5a
logs: context: removed unused code (#69392) 2023-06-01 15:23:30 +00:00
Gábor Farkas
e5ec8535ec
logs: context: removed unused code (#69383) 2023-06-01 16:38:31 +02:00
Kristina
c2a9d48dd6
Correlations: Show labels fields that have links (#69120)
* Show labels fields that have links

* Fix test

* Do not safestringify strings and numbers
2023-05-31 08:46:33 -05:00
Haris Rozajac
69c4da618c
Explore: Reorganized data viz components (#68510)
* Move logs-related files to its own folder; update ownership paths

* Fix failing tests

* Put Flame graph and Node graph related files into separate folders

* Put RawPrometheus related files into a separate folder

* Put Table related files into a separate folder

* Add owners to three visualization categories

* observability-logs team owns everything under logs

* Move logs utils to their separate folder under Logs
2023-05-23 07:42:38 -06:00
Matias Chomicki
7f61cb92bc
Logs: Added copy-to-clipboard fallback support and visual feedback after copying (#68874)
* Log row: use clipboard button component for copy log button

* Copy log: adjust button styles to match

* Define line height

* Slightly improve line height
2023-05-23 14:36:05 +02:00
Sven Grossmann
0fc9a47779
Log Context: Add feature tracking of limit change (#67966)
* add feature tracking of load more

* Update public/app/features/logs/components/log-context/LogRowContextModal.tsx

Co-authored-by: Matias Chomicki <matyax@gmail.com>

* fix condition

---------

Co-authored-by: Matias Chomicki <matyax@gmail.com>
2023-05-08 11:53:11 +03:00
Ivana Huckova
3a8bb226bd
Logs: Use millisecond precision for open context in split view (#67385)
Log: Use millisecond precision for open context in split view
2023-04-27 14:09:20 +02:00
Sven Grossmann
6abd75b69c
Log Context: Add wrap lines button to easier wrap lines (#67047)
* add wrap lines button

* change default to 50 lines

* fix test

* change css classes
2023-04-21 17:21:02 +02:00
Leon Sorokin
b24ba7b7ae
FieldValues: Use plain arrays instead of Vector (part 3 of 2) (#66612)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-04-20 17:59:18 +03:00