* WIP first attempt to query variable
* regex issue repro demo
* Refresh variable on time range change if refresh specified
* Instantiate variable runner when updating query variable options
* Simplify runners getTarget interface
* Fix issue with variable ot being updated correctly after other variable changed
* Add templateSrv.replace compatibility with query variable
* QueryVariable: use datasource variable as source
* use proper format
* Make sure variables set is correctly updated when query variable errors
* Do not destruct scopedVars when using sceneGraph.interpolate in templateSrv
* Add support for Legacy variables (metricFindQuery)
* Review
* Fix lint
* Test: Add unit for datasource by variable
* test: Add unit for datasource as var
* query: delegate interpolation to datasourceSrv
* Cleanup
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
* Fix RuleEditor flaky test for existing grafana managed alert
* Fix RuleEditor flaky test for creating a new grafana managed alert
* Fix tests for cloud rules
* Split tests for different rule types
* Move common clickSelectOption method to helpers
* Remove from RuleEditorCloudRules.test.tsx a repeated cloud rule test
* Move existing grafana rule test case to a new file
* Split RuleEditorCloudRules test: move checking only allowed data sources test case to a new test file
* Re-use common ui const
* Re-use renderRuleEditor method
* Create getDiscoverFeaturesMock to reduce code
* refactor(PluginDetails): use react-router hooks instead of props
* Wip
* refactor: remove unnecessary constant
* feat: use the original plugin details page under connections
* chore: use better wording in the not-found warning
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* chore: use the renderer utility everywhere in the test
* chore: don't show a title while loading a plugin
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* Lattice: Point to private prerelease of aws-sdk-go (#515)
* point to private prerelease of aws-sdk-go
* fix build issue
* Lattice: Adding a feature toggle (#549)
* Adding a feature toggle for lattice
* Change name of feature toggle
* Lattice: List accounts (#543)
* Separate layers
* Introduce testify/mock library
Co-authored-by: Shirley Leu <4163034+fridgepoet@users.noreply.github.com>
* point to version that includes metric api changes (#574)
* add accounts component (#575)
* Test refactor: remove unneeded clientFactoryMock (#581)
* Lattice: Add monitoring badge (#576)
* add monitoring badge
* fix tests
* solve conflict
* Lattice: Add dynamic label for account display name (#579)
* Build: Automatically sync lattice-main with OSS
* Lattice: Point to private prerelease of aws-sdk-go (#515)
* point to private prerelease of aws-sdk-go
* fix build issue
* Lattice: Adding a feature toggle (#549)
* Adding a feature toggle for lattice
* Change name of feature toggle
* Lattice: List accounts (#543)
* Separate layers
* Introduce testify/mock library
Co-authored-by: Shirley Leu <4163034+fridgepoet@users.noreply.github.com>
* point to version that includes metric api changes (#574)
* add accounts component (#575)
* Test refactor: remove unneeded clientFactoryMock (#581)
* Lattice: Add monitoring badge (#576)
* add monitoring badge
* fix tests
* solve conflict
* add account label
Co-authored-by: Shirley Leu <4163034+fridgepoet@users.noreply.github.com>
Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
* fix import
* solve merge related problem
* add account info (#608)
* add back namespaces handler
* Lattice: Parse account id and return it to frontend (#609)
* parse account id and return to frontend
* fix route test
* only show badge when feature toggle is enabled (#615)
* Lattice: Refactor resource response type and return account (#613)
* refactor resource response type
* remove not used file.
* go lint
* fix tests
* remove commented code
* Lattice: Use account as input when listing metric names and dimensions (#611)
* use account in resource requests
* add account to response
* revert accountInfo to accountId
* PR feedback
* unit test account in list metrics response
* remove not used asserts
* don't assert on response that is not relevant to the test
* removed dupe test
* pr feedback
* rename request package (#626)
* Lattice: Move account component and add tooltip (#630)
* move accounts component to the top of metric stat editor
* add tooltip
* CloudWatch: add account to GetMetricData queries (#627)
* Add AccountId to metric stat query
* Lattice: Account variable support (#625)
* add variable support in accounts component
* add account variable query type
* update variables
* interpolate variable before its sent to backend
* handle variable change in hooks
* remove not used import
* Update public/app/plugins/datasource/cloudwatch/components/Account.tsx
Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
* Update public/app/plugins/datasource/cloudwatch/hooks.ts
Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
* add one more unit test
Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
* cleanup (#629)
* Set account Id according to crossAccountQuerying feature flag in backend (#632)
* CloudWatch: Change spelling of feature-toggle (#634)
* Lattice Logs (#631)
* Lattice Logs
* Fixes after CR
* Lattice: Bug: fix dimension keys request (#644)
* fix dimension keys
* fix lint
* more lint
* CloudWatch: Add tests for QueryData with AccountId (#637)
* Update from breaking change (#645)
* Update from breaking change
* Remove extra interface and methods
Co-authored-by: Shirley Leu <4163034+fridgepoet@users.noreply.github.com>
* CloudWatch: Add business logic layer for getting log groups (#642)
Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
* Lattice: Fix - unset account id in region change handler (#646)
* move reset of account to region change handler
* fix broken test
* Lattice: Add account id to metric stat query deep link (#656)
add account id to metric stat link
* CloudWatch: Add new log groups handler for cross-account querying (#643)
* Lattice: Add feature tracking (#660)
* add tracking for account id prescense in metrics query
* also check feature toggle
* fix broken test
* CloudWatch: Add route for DescribeLogGroups for cross-account querying (#647)
Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
* Lattice: Handle account id default value (#662)
* make sure right type is returned
* set right default values
* Suggestions to lattice changes (#663)
* Change ListMetricsWithPageLimit response to slice of non-pointers
* Change GetAccountsForCurrentUserOrRole response to be not pointer
* Clean test Cleanup calls in test
* Remove CloudWatchAPI as part of mock
* Resolve conflicts
* Add Latest SDK (#672)
* add tooltip (#674)
* Docs: Add documentation for CloudWatch cross account querying (#676)
* wip docs
* change wordings
* add sections about metrics and logs
* change from monitoring to observability
* Update docs/sources/datasources/aws-cloudwatch/_index.md
Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
* Update docs/sources/datasources/aws-cloudwatch/query-editor/index.md
Co-authored-by: Fiona Artiaga <89225282+GrafanaWriter@users.noreply.github.com>
* Update docs/sources/datasources/aws-cloudwatch/query-editor/index.md
Co-authored-by: Fiona Artiaga <89225282+GrafanaWriter@users.noreply.github.com>
* Update docs/sources/datasources/aws-cloudwatch/query-editor/index.md
Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
* Update docs/sources/datasources/aws-cloudwatch/query-editor/index.md
Co-authored-by: Fiona Artiaga <89225282+GrafanaWriter@users.noreply.github.com>
* apply pr feedback
* fix file name
* more pr feedback
* pr feedback
Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
Co-authored-by: Fiona Artiaga <89225282+GrafanaWriter@users.noreply.github.com>
* use latest version of the aws-sdk-go
* Fix tests' mock response type
* Remove change in Azure Monitor
Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
Co-authored-by: Shirley Leu <4163034+fridgepoet@users.noreply.github.com>
Co-authored-by: Fiona Artiaga <89225282+GrafanaWriter@users.noreply.github.com>
* First commit with working version of sub-tables using subData array
* Update TableContainer and query result to support a dataframe array for the table result
* Fix border issue by moving the subtable to above the cells in the DOM
* Allow header to be configurable using custom options.
* Update TablePanel to support sub-tables
* Fix main row links
* Added tests
* Fix TablePanel correctly splitting frames and sub-frames by using refId
* add custom component for location editor
* FC cleanup
* Apply filter to add location fields call
* Create custom editor for location mode
* Apply validation logic and render warning
* Improve alert styling
* Add help url button to location alert
* Add success alert for auto
* Remove completed TODOs
* Only use alert on error, not success
* Change location mode to dropdown
* Change alert severity to less severe, info
* Prevent auto field selection during manual
* Update location testing to be for auto mode
* Run geo transformer editor init once
* Fix breaking test
* Clean up some anys
* Update styling for alert
* Remove auto success styling
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* VizPanel: Make it more real
* Updates
* Progress on query runner and max data points from width
* Updated
* Update
* Tests
* Fixed issue with migration
* Moving VizPanel
* Fixed migration issue due to pluginVersion not being set
* Update public/app/features/scenes/querying/SceneQueryRunner.test.ts
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
* Some minor review fixes
* Added expect
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
* support folderuid in FolderPicker
* support folderuid in unified alerting
* support folderuid when returning to view mode after editing a panel
* support folderuid when preselecting the folderpicker in dashboard general settings
* support folderuid when saving dashboard
* support folderuid when pre-selecting folderpicker in dashboard form
* support folderuid in routes when loading a dashboard
* support folderuid when saving dashboard json
* support folderuid when validating new dashboard name
* support folderuid when moving dashboard to another folder
* support folderuid on dashboard action buttons
* support folderuid when creating a new dashboard on an empty folder
* support folderuid when showing library panel modal
* support folderuid when saving library panel
* support folderuid when importing dashboard
* fixed broken tests
* use folderuid when importing dashboards
* remove commented line
* fix typo when comparing uid values
* Component that can cache and extract variable dependencies
* Component that can cache and extract variable dependencies
* Updates
* Refactoring
* Lots of refactoring and iterations of supporting both re-rendering and query re-execution
* Updated SceneCanvasText
* Updated name of file
* Updated
* Refactoring a bit
* Added back getName
* Added comment
* minor fix
* Minor fix
* Merge fixes
* Scene variable interpolation progress
* Merge fixes
* Added all format registeries
* Progress on multi value support
* Progress on multi value support
* Updates
* Progress on scoped vars
* Fixed circular dependency
* Updates
* Some review fixes
* Updated comment
* Added forceRender function
* Add back fail on console log
* Update public/app/features/scenes/variables/interpolation/sceneInterpolator.test.ts
* Moving functions from SceneObjectBase
* fixing tests
* Fixed e2e
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* Component that can cache and extract variable dependencies
* Component that can cache and extract variable dependencies
* Updates
* Refactoring
* Lots of refactoring and iterations of supporting both re-rendering and query re-execution
* Updated SceneCanvasText
* Updated name of file
* Updated
* Refactoring a bit
* Added back getName
* Added comment
* minor fix
* Minor fix
* Merge fixes
* Merge fixes
* Some review fixes
* Updated comment
* Added forceRender function
* Add back fail on console log
* WIP: First approach to scene grid layout
* Flex layout
* Grid layout rows
* Allow passing custom props to scene object renderers
* Allow nesting grid layouts
* Re-layout nested grid's enclosing grids
* Update public/app/features/scenes/components/layout/SceneGridLayout.tsx
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Review comments
* Got rid of flex & grid child layout objects
* WIP: Recreating rows behaviour (almost working)
* Major progress on rows
* remove nested grid example (not supported)
* Remove removal damn
* Trying to use children directly
* Ts fixes
* chore: Fix TS
* Fix issue when row bboxes when not updated on layout change
* Now the tricky part
* working
* Removing some code
* needs more work
* Getting some thing working
* Getting some thing working
* fix toggle row
* Starting to work
* Fix
* Yay it's working
* Updates
* Updates
* Added some sorting of children
* Updated comment
* Simplify sorting
* removed commented code
* Updated
* Pushed a fix so we can move a panel out from a row and into the parent grid
* simplify move logic
* Minor simplification
* Removed some unnesary code
* fixed comment
* Removed unnessary condition in findGridSceneParent
* remove unnessary if
* Simplify toGridCell
* removed duplicate if
* removed unused code
* Adds grid demo with different data scenarios
* Make it green
* Demo grid with multiple time ranges
* Move child atomically
* Add tests
* Cleanup
* Fix unused import
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
* WIP: try to support removing series endpoint for supported clients
* add other filter variables to match param for label values query against filter values, in order to resolve bug in which filter value options would display that aren't relevant in the current query editor context, i.e. options would display that upon select would display no data
* clean up console logs
* refactor and comment
* expanding current unit test coverage to cover calls to new API
* fix unit test
* whitespace
* prettier
* WIP: need to merge in other PR
* WIP giving up and trying again
* WIP: most functionality is working, split out shared loki/prom code
* fix bug in which search results wouldn't take other label context into the query
* Fix bug in which the previously selected value would conflict with the async search
* interpolate the label name string instead of the match promql expression
* remove type assertions
* remove type assertion
* clean up generic confusing types, and add back in a type assertion
* remove generic type
* make sure to interpolate label names
* fix bugs with variables not interpolating before query
* remove debug
* assert partial properties on QueryBuilderLabelFilter
* Force update betterer results :(
* update regex so dropdown UX more closely matches current behavior
* add eslint ignore
* add eslint ignore and update betterer
* Added labels
* App page fixes
* Switch to switch
* wip
* Updates
* I am stuck
* Minor tweak
* This props interface could work
* removed change
* use new page extensions in plugin details page
* add link separator, fix action button spacing
* some renaming
* Move PageInfo into it's own folder + add tests
* add support for new props in old page header
* remove PluginDetailsHeader as it's no longer used
* Fix unit tests
* fix some badge alignments
* center align actions
* badge alignment + only show downloads for community/commercial plugins
* better link alignment
* conditionally render description
* move install control warnings to below subtitle + refactor
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* chore: fix go lint issues
* feat(Routing): route standalone plugin pages to the `AppRoutePage`
* feat(plugin.json): introduce a new field called `isCorePage` for `includes`
* chore: add explanatory comments for types
* refactor(AppRootPage): receive the `pluginId` and `pluginSection` through the props
Now we are able to receive these as props as the pluginId is defined on navLinks
that are registered by plugins.
* chore: update teests for AppRootPage
* fix: remove rebase issue
* tests(applinks): add a test for checking isCorePage plugin page setting
* refactor(applinks): update tests to use FindById() and be more resilient to changes
* fix: Go lint issues
* refactor(routes): use cleaner types when working with plugin nav nodes
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
* chore: fix linting issues
* t: remove `isCorePage` field from includes
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
* Perf: remove structureRev logic from Graph in Explore
* Avoid reinitializing uPlot when not needed
* move fieldConfigRegistry
* restore usememo for dataWithConfig
* Started search state refactor
* Things are working
* Move more to statemanger
* minor tweaks
* Fixed name of hook
* revert yarn.lock changes
* Harderning StateManagerBase
* More tests and refinements
* Fixed unit test
* More polish
* fixing tests
* fixed test
* Fixed test
* first stab at context away plugin tracking.
* adding a plugin context and a hook to get hold of a tracker that always appends the plugin context information.
* wip
* improved the code a bit.
* wip
* Fixed type errors.
* added datasource_uid to data sources.
* fixed error message when trying to use hook outside of context.
* small refactoring according to feedback.
* using the correct provider for data source context.
* check not needed.
* enforcing the interaction name to start with grafana_plugin_
* exposing guards for the other context type.
* added structure for writing reporter hook tests.
* added some more tests.
* added tests.
* reverted back to inheritance between context types.
* adding mock for getDataSourceSrv
- Migrate Postgres query editor to react
- Add support for field aliasing in SELECT clauses to SQL based datasources
Co-authored-by: Kyle Cunningham <kyle@codeincarnate.com>
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>