* Remote Alertmanager(refactor): Only parse the URL once
Exactly what it says in the tin.
Signed-off-by: gotjosh <josue.abreu@gmail.com>
* use the existing tests
Signed-off-by: gotjosh <josue.abreu@gmail.com>
---------
Signed-off-by: gotjosh <josue.abreu@gmail.com>
* Alerting: Introduce a Mimir client as part of the Remote Alertmanager
This is our first attempt at making Grafana communicate use Mimir as a backend - it uses a new set of APIs that we've developed on the Mimir side to upload the grafana configuration and alertmanager state so that it can then be ported over.
Codewise, we've introduced a couple of things:
A client to isolate in its own package all the communication that happens with Mimir
A few changes to the remote/alertmanager to include uploading the configuration and state when it starts
A few refactors that align a bit better with the design approach that we're thinking
An integration tests again these newly developed APIs using a custom image
---------
Signed-off-by: gotjosh <josue.abreu@gmail.com>
Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
* Embed flame graph
* Update test
* Update test
* Use toggle
* Update test
* Add tests
* Use const
* Cleanup
* Update profile tag
* Move flame graph out of tags, remove request and other cleanup + tests
* Update test
* Set flame graph by profile id and simplify logic
* Cleanup and redrawListView
* Create/use feature toggle
* initial work
* only make the tab an anchor if it has a href
* move things around for smaller diff
* use content()
* eslint-disable the type assertions
* extract props into common object and add missing return statement
* Updated links in what's new 10.2 and what's new next
* Attempted to add alias
* Fix alias
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
---------
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
* Use TimeSeriesWide format for table response
* fix group by query result parsing
* handle labels
* provide a test where result has no tags
* parsing results without time column
* clean the code
* remove the comment line
* more cleaning
* lint
* FlameGraph: reduce max height of table
* prettier fix
* use maxHeight
* makes it actually work
* makes things actually work
---------
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
* dock undock smoothly
* handle keyboard focus
* use ref instead of state
* run i18n:extract
* undo this change
* make dock/undock first button to focus
* only focus when going to docked, add comment
* minor tweaks
* remove all the things
* fix OldFolderPicker tests
* i18n
* remove more unused code
* remove mutation of error object since it's now frozen in the redux state
* fix error handling
* Loki: Allow setting of timeRange when using languageProvider functions
* Loki: Use timerange where available for start
* Loki: Use timerange where available for fetchLabels
* Loki: Use timerange where available for fetchSeriesLabels
* Loki: Use timerange where available for fetchLabelValues
* Loki: Use timerange where available for getParserAndLabelKeys
* Loki: Update and add tests for fetchLabels
* Loki: Update and add tests for fetchSeriesLabels
* Loki: Update and add tests for fetchSeries
* Loki: Update and add tests for fetchLabelValues
* Loki: Update and add tests for fetchLabelValues
* Loki: Update and add tests for getParserAndLabelKeys
* Update public/app/plugins/datasource/loki/LanguageProvider.test.ts
Co-authored-by: Matias Chomicki <matyax@gmail.com>
* Update public/app/plugins/datasource/loki/LanguageProvider.test.ts
Co-authored-by: Matias Chomicki <matyax@gmail.com>
* Not needing to use languageProvider.getDefaultTime in Monaco
* Update comment
* Update getDefaultTimeRange to be ptivate
---------
Co-authored-by: Matias Chomicki <matyax@gmail.com>
* remove use of SignedInUserCopies
* add extra safety to not cross assign permissions
unwind circular dependency
dashboardacl->dashboardaccess
fix missing import
* correctly set teams for permissions
* fix missing inits
* nit: check err
* exit early for api keys