85 Commits

Author SHA1 Message Date
8eea0c9a3d Explore: Use fixed dates to prevent DST issues in tests (#103497)
* Explore: Use fixed dates to prevent DST issues in tests

* PanelQueryRunner: Use fixed dates to prevent DST issues in tests
2025-04-06 17:04:28 +02:00
1ca9910736 Grafana Data: Use package.json exports for internal code (#102696)
* refactor(frontend): rename all @grafana/data/src imports to @grafana/data

* feat(grafana-data): introduce internal entrypoint for sharing code only with grafana

* feat(grafana-data): add test entrypoint for data test utils usage in core

* refactor(frontend): update import paths to use grafana/data exports entrypoints

* docs(grafana-data): update comment in internal/index.ts

* refactor(frontend): prefer public namespaced exports over re-exporting via internal

* chore(frontend): fix a couple more weird paths that typescript complains about
2025-03-25 10:48:36 +01:00
5cd8547131 Revert "Grafana Data: Use package.json exports for internal code (#102286)
Revert "Grafana Data: Use package.json exports for internal code (#102036)"

This reverts commit 91116de790c6c59248abd262721c40f169be6661.
2025-03-17 12:26:59 +00:00
91116de790 Grafana Data: Use package.json exports for internal code (#102036)
* refactor(frontend): rename all @grafana/data/src imports to @grafana/data

* feat(grafana-data): introduce internal entrypoint for sharing code only with grafana

* feat(grafana-data): add test entrypoint for data test utils usage in core

* refactor(frontend): update import paths to use grafana/data exports entrypoints

* docs(grafana-data): update comment in internal/index.ts

* refactor(frontend): prefer public namespaced exports over re-exporting via internal
2025-03-17 11:27:17 +01:00
4e10507c84 Chore: Remove global mock of plugin_loader (#97351)
* Remove global mock of `plugin_loader`

Removing this means we can get more accurate datasources behaviour in tests

* Fix circular dependency/undefined method when plugin_loader is unmocked

* Use optional chaining for trusted policies to stop tests failing when `bootData` is partially set

* Add plugin_loader mock back into single test that is still broken

* Revert trusted type policies changes

* Fix tests that break with trusted type policies
2024-12-11 14:50:49 +00:00
315778227b Dashboards: Links to explore should respect subpath (#94525)
* Links to explore should respect subpath

* Change to using assureBaseUrl

* Change back to normal single quotes
2024-10-10 15:54:48 +02:00
41e0430f83 K8s/Dashboards: Add frontend api to switch between implementations (#88632) 2024-06-05 17:34:23 +03:00
6ffc08f429 Explore: Set X-Cache-Skip to true for query requests (#85460)
Explore: set X-Cache-Skip to true for query requests
2024-04-04 09:44:06 +01:00
bbe9c8661a Explore: Use rich history local storage for autocomplete (#81386)
* move autocomplete logic

* Tests

* Write to correct history

* Remove historyUpdatedAction and related code

* add helpful comments

* Add option to mute all errors/warnings for autocomplete

* Add back in legacy local storage query history for transition period

* Move params to an object for easier use and defaults

* Do not make time filter required

* fix tests

* change deprecation version and add issue number
2024-02-23 09:44:21 -06:00
d1c6da7b64 Explore: Avoid swapping time range when from value is after to value (#79520) 2023-12-15 13:09:38 +01:00
2c92e370dd Explore: Fix broken interpolation for mixed datasources coming from dashboards (#76904)
* Fix broken interpolation for mixed datasources in explore

* Add interpolation tests

* Use Promise.all and be better about dealing with invalid empty ds in query scenario

* condense logic

* Remove type declarations

* Fix tests
2023-10-26 08:16:22 -05:00
ed3fb71f7b DashboardScene: Panel menu tracking, adding explore menu action and unit tests (#74867)
* DashboardScene: Panel menu updates, adding explore action

* DashboardScene: Panel menu updates, adding explore action

* Fix test

* Update test
2023-09-14 16:12:20 +02:00
fdd384ab56 Explore: Decouple TimeSrv from Explore (#73559) 2023-09-04 14:08:52 +01:00
ab451d76ac Explore: Improve parsing ranges from URL (#72498)
* Fix parsing absolute range

* Silence warning issued by moment js

* Introduce URLRangeValue to enforce better type-checking

* Fix unit tests

* Allow not passing range to generate ExploreUrl

* Use updated time range format in a test

* Allow empty object to be passed as a data link for backward compatibility

* Update mocks

* Post-merge fixes

* Simplify checking if range is passed as an empty object

* Update docs
2023-08-17 12:06:52 +02:00
d3450d75a4 Explore: URL migrations & improved state management (#69692)
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2023-06-21 10:06:28 +01:00
067bbcbe56 Explore: Refactor & centralize URL/state sync (#66286)
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2023-06-06 15:31:39 +01:00
f03d0698d3 Explore: move panes into a keyed object (#66117) 2023-05-03 16:45:11 +01:00
15363e416b Explore: Avoid duplicate refIds when adding a new query (#67499) 2023-04-28 15:01:50 +01:00
c363a81806 Dashboards: Filter out expressions when going to Explore (#64654)
* Filter out expressions when going from dashboard to explore

* Move expression UID constant to types
2023-03-13 07:53:19 -05:00
f8d89eff56 Chore: fix type errors in tests (#63270)
* fix any's in tests

* fix more any's in tests

* more test type fixes

* fixing any's in tests part 3

* more test type fixes

* fixing test any's p5

* some tidy up

* fix template_srv
2023-02-14 16:46:42 +01:00
439dd062da Explore: Add unit tests for addQueryRow() and generateEmptyQuery() (#60977)
* feat: add condition

* refactor: clea up

* refactor: remove changes and add my solution as comment

* feat: add test

* refactor: test preparation

* refactor: finish test prep and remove planned changed from addQueryRow()

* refactor: finish first test

* refactor: add required props after removing any (not complete)

* refactor: replace props and clean up

* refactor: add another test

* refactor: extend tests with datasourceInstance

* refactor: add test for mixed ds enabled

* refactor: remove typescript errors

* feat: add first attempt of a test for generateEmptyQuery()

* feat: setup first test for generateEmptyQuery()

* refactor: remove typescript errors

* feat: add another test for generateEmptyQuery()

* refactor: add some assertions

* refactor: restructure tests

* refactor: remove doubled code

* refactor: remove typescript errors

* refactor: remove mocking mistake and add test

* refactor: remove mocking mistakes

* refactor: repair mock for feature toggle

* refactor: clean up

* refactor: changes from code review
2023-01-31 10:13:08 +01:00
bdfa127ee5 Explore: Notify when compact URL is used (#58684)
* Add explore compact url notices

* Add error checking around data links urls

* Fix tests

* remove global flag, add test for warning in title

* Move feature tracking to initialization, add better error messaging

* Fix test

* Add compact url tests, fix styling bug, remove warning tooltip

* Fix broken check, move tests to util file
2022-11-21 08:03:50 -06:00
d2a70bc42d Chore: more any/type assertion improvements (#57450)
* more friday any/type assertion improvements

* Apply suggestions from code review

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* Update public/app/angular/promiseToDigest.test.ts

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2022-10-25 11:04:35 +02:00
dfa538ff92 Revert "Explore: Remove support for legacy, compact format URLs (#49350)" (#50873)
This reverts commit a9cc3225ba44c57b1cb93de5afe951c0a167cbd7.

Co-authored-by: Elfo404 <me@giordanoricci.com>
2022-06-15 08:44:36 -05:00
a9cc3225ba Explore: Remove support for legacy, compact format URLs (#49350)
* Remove function, start changing tests

* Fix tests

* Remove deprecated parameter from function
2022-05-23 15:18:49 +02:00
3c6e0e8ef8 Chore: ESlint import order (#44959)
* Add and configure eslint-plugin-import

* Fix the lint:ts npm command

* Autofix + prettier all the files

* Manually fix remaining files

* Move jquery code in jest-setup to external file to safely reorder imports

* Resolve issue caused by circular dependencies within Prometheus

* Update .betterer.results

* Fix missing // @ts-ignore

* ignore iconBundle.ts

* Fix missing // @ts-ignore
2022-04-22 14:33:13 +01:00
d3700c4032 Chore: Remove console output from some jest tests (#45792)
* Chore: Remove console output from some jest tests

* Skip manual performance test
2022-02-24 10:49:48 +00:00
4e38ac9cf7 Remove return to panel button and related code (#45018) 2022-02-08 10:20:22 -06:00
6415b9a54d Explore: avoid locking timepicker when range is inverted (#44790)
* Explore: avoid locking timepicker when range is inverted

* Explore: prevent time picker to lock if from & to search parameters are present
2022-02-03 13:45:29 +00:00
d87cd6f26c Update dependency prettier to v2.5.1 (#43473)
* Update dependency prettier to v2.5.1

* prettier fixes

* chore(toolkit): bump prettier to 2.5.1

* style(eslint): bump grafana config to 2.5.2 in core and toolkit

* style(mssql-datasource): fix no-inferrable-types eslint errors

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-02-02 12:02:32 +00:00
ea48d131ee Explore: deprecate compact URL encoding & dafault to extended (#44385) 2022-01-27 11:23:56 +00:00
ac945fb6e1 Tempo / Trace Viewer: Implement deep linking to spans 2022-01-24 08:49:35 -07:00
7319efe077 Dashboard: replace datasource name with a reference object (#33817)
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Elfo404 <me@giordanoricci.com>
2021-10-29 10:57:24 -07:00
2ee54b7ffe Explore: Fix running queries without a datasource property set (#40805)
* Explore: Fix running queries without a datasource property set

* fix test

* adjust test
2021-10-25 14:25:17 +01:00
0e63ad44aa Explore: simplify URL generation logic (#40640)
* Explore: simplify URL generation logic

* Fix test
2021-10-21 09:46:40 +01:00
738d5e499e Add fiscal years and search to time picker (#39073)
* Add search to time picker

* implement fiscal datemath

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2021-09-30 09:40:02 +02:00
f79173c99d Explore: Reuse Dashboard's QueryRows component (#38942)
* WIP

* Functional without custom wrapper component, needs highlight

* Remove latency from explore

* Sync eventbus

* Some cleanup & removal of unused code

* Avoid clearing queries when running all empty queries

* Run remaining queries when removing one

* Update snapshots

* fix failing tests

* type cleanup

* Refactor QueryRows

* update snapshot

* Remove highlighter expressions

* minor fixes in queryrows

* remove unwanted change

* fix failing e2e test

* Persist refId in explore url state

* make traces test slightly more robust

* add test for query duplication
2021-09-15 16:26:23 +01:00
001331e2ac Explore: Fix query cancellation when opening an url with split panes (#36847)
* Add exploreId to requestId

* Fix tests
2021-07-19 17:29:51 +02:00
89a178dfb4 Explore: Fix issue when some query errors were not shown (#32212)
* Remove getFirstNonQueryRowSpecificError

* Move some error handling to separate component

* Update public/app/features/explore/ErrorContainer.tsx

Co-authored-by: Giordano Ricci <gio.ricci@grafana.com>

* Add comments

* More explicit expects

* Update tests with proper expects

Co-authored-by: Giordano Ricci <gio.ricci@grafana.com>
2021-03-23 11:58:09 +01:00
1d689888b0 Prettier: Upgrade to 2 (#30387)
* Updated package json but not updated source files

* Update eslint plugin

* updated files
2021-01-20 07:59:48 +01:00
c94e8e61a9 Make backwards compatible (#29212) 2020-11-19 21:08:16 +01:00
f71f03bf94 Explore: Remove redundant decodeURI and fix urls (#28697)
* Remove redundant path URIdecoding

* Remove redundant comments
2020-11-02 18:14:57 +01:00
ce1f7908c8 Explore: parse time range fix (#28467)
* Explore: parse time range fix

* Remove commented out code

* Fix cases for string epoch and ISO strings

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2020-10-22 14:37:07 +02:00
2f5a60f561 Explore: Remove ui params from url (#27753)
* Remove ui from url

* Update tests

* Update changeDedupStrategy

* Add test coverage
2020-10-01 12:18:21 +02:00
4a523c3248 Explore: Sort order of log results (#26669)
* Create sorting button and functionality

* Set up logs ordering

* Add tests

* Refactor

* Refactor

* Replace new button with old

* Move SortOrder enum to grafana/data

* Update SortOrder in test

* Update context based on sort order of logs

* Update used  method for panel, update tests

* Rename prop  to logsSortOrder

* Memoize resuults

* Add title too button

* Add disablinng of button for 1sec

* Update wordiing

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

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

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

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update test by reordering logs

* Clear timers, add button flipping title

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2020-08-06 18:35:49 +02:00
7b218b7198 Explore: parse queryType from explore url (#26349)
* Explore: parse queryType from explore url

* Modify explore.ts parse logic
2020-07-22 16:36:53 +02:00
64bc85963b Explore: Unification of logs/metrics/traces user interface (#25890)
Removes "Metrics"/"Logs" mode switcher from Explore, allowing for both
metrics and logs queries at the same time.

Co-authored-by: kay delaney <kay@grafana.com>
2020-07-09 15:14:55 +01:00
6c7a452726 Explore: Remove legend formatting when switching from panel to Explore (#25848)
* Remove legend formatting when switching from panel to explore

* Add test coverage
2020-06-30 16:14:27 +02:00
81d7cb1773 DataLinks: Add internal links in table and allow custom query (#25613)
* Add internal links in table and with custom query

* Add specific types for internal and external link

* Change the datalink types to be more backward compatible

* Refactor the link utils for explore

* Add internal linking to table panels

* Fix derived field condition

* Prettify

* Add and fix tests

* Prettify

* Fix imports and tests

* Remove unused type

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

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>

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

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2020-06-30 14:51:04 +02:00
dbd77e0ab5 Explore: fixes log entries sorting - changes milliseconds to nanoseconds (#24303)
* Chore: adds timeEpochNs to LogRowModel in @grafana/data

* Chore: updates explore utils ResultProcessor getLogsResult and explore utils tests

* Chore: updates core/logs_model to include nanoseconds

* Chore: updates LogRowModel sorting key from milliseconds to nanoseconds and adds timeEpochNs to tests

* Chore: adds timeEpochNs to LogRowModel mock in Explore LiveLogs test

* Chore: fixes logs model timeEpochNs padding

* Chore: updates timeEpochNs padding in tests

* Chore: updates LogRowModel mocks

* Chore: changes isLoki to datasourceId

* Chore: adds hasFieldWithNameAndType method to FieldCache in grafana-data dataframe

* Chore: changes timeEpochNs from number to string as it can overflow Number.MAX_SAFE_INTEGER

* Chore: updates LogRowModel sorting to use milliseconds and nanoseconds

* Chore: removes datasourceId from logSeriesToLogsModel method

* Chore: updates ResultProcessor tests to include nanosecond-level precision log rows sorting
2020-05-07 13:53:24 +02:00