* Google Cloud Monitor: Fix mem usage for dropdown
Previously the Metric name dropdown would attempt to load _all_ the
available metric names into the Select which would eventually crash the
browser if the dataset was large enough.
We can fix this by using AsyncSelect and making another query once a
Service is selected _and_ the user types a few characters.
* fix: update tests for AsyncSelect
* fix lint
* fix: add subset of metrics on initial load
* Reset filters when service is changed
* Update to reset any query props
* Reset query properties on metric change
* Update tests
* Refresh labels on panel time update
* Review
* Refactor VisualMetricsQueryEditor
- Move any Metrics functionality to VisualMetricsQueryEditor
- Update tests
- Expose timeSrv from datasource
- Update getLabels to make use of provided timeRange
* Review
* GoogleCloudMonitoring: Migrate queries to the new format
* Refactor Aligment and AligmentFunction components (#60235)
* Adapt CloudMonitoringDatasource and CloudMonitoringAnnotationSupport (#60177)
* Fix: avoid migration for new queries (#60375)
* Move preprocessor handling to the backend (#60383)
* Other fixes and new function (#60411)
* Adapt components to the new API (#60451)
* Split metrics query type in time series list and query (#60475)
* Clean up metricQuery references (#60478)
* More bug fixes (#60525)
* Correctly pass all original query parameters on interpolation
* Add datasource tests
- Update props on mock query
- Add mock instance settings
- Add util function to generate template variables
- Add datasource test file
- Correct setting of templateSrv
- Update betterer results
* Simplify test and pass templateSrv appropriately
* Fix lint issue
* Simplify test and add type that supports parital nested objects
* Update test and remove unneeded util function
* Rename to avoid duplicate mock
* remove angular code
* format annotation on backend
* format time with time type instead of string
* update annotation query tests
* update get alignment data function
* update annotation query editor
* add annotation query editor test
* update struct
* add tests
* remove extracted function
* remove non-null assertion
* remove stray commented out console.log
* fix jest haste map warning
* add alignment period
* add AnnotationMetricQuery type
* Chore: More TypeScript strict fixes
* Chore: Use filter instead of reduce to fix TypeScript error
* Chore: Retype AzureResultFormat as string
* Chore: Account for getBlocks() poor typings of reduce
* Chore: Need to explicitly check for undefined here since '' is falsey
* add support for handling preprocessors in the backend
* add preprocessor tests
* use uppercase for constants
* add super label component
* remove error message from query editor since its not working (probably cause onDataError doesnt work anymore)
* use cheat sheet instead of help
* add return type annotation for projects
* add support for preprocessing. replace segment comp with select. change components names and refactoring
* cleanup
* more pr feedback
* fix annotations editor
* rename aggregation component
* fix broken test
* remove unnecessary cast
* fix strict errors
* fix more strict errors
* remove not used prop
* update docs
* use same inline label for annotation editor
* fix react prop warning
* disable preprocessing for distribution types
* using new default values for reducer
* auto select 'rate' if metric kind is not gauge
* fix create label format
* pr feedback
* more pr feedback
* update images
* Performance: Standardize lodash imports to use destructured members
Changes lodash imports of the form `import x from 'lodash/x'` to
`import { x } from 'lodash'` to reduce bundle size.
* Remove unnecessary _ import from Graph component
* Enforce lodash import style
* Fix remaining lodash imports
* Stop using transformation to tables
* Update datasource.ts to parse from dataframes
* Add test on transformToDataframe func
* Remove parseResponse and do the work inside parseToAnnotations method
* Name the dataframe after the RefID
* Small fix when mapping to annotation
* Add tests in annotation_query_test.go class
* Small fix in loop iteration
* Change for loop signature
* cloud monitoring mql support
* reduce nesting
* remove resource type from deep link since. its removed for two reasons. first of all it is not needed for the link to work. secondly, by adding the resource type, the the link will differ from the query in grafana which I think is misleading
* use frame.meta.executedQueryString instead of legacy meta
Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
* Convert Cloud Monitoring (Stackdriver) Datasource to use Dataframes #29830
* add deeplink into config
* omggggggggggggggg this deeplink works!
* move unit to the backend part
* remove unit from frontend
* only set the config fields[1] for deeplink and unit
* refactory + fix some test
* remove frontend test for unit
* adding backend test for unit mapping
* resolve review
* rewrtie unit logic to do exactly the same as frontend filter
* refactory
* Chore: Remove angular dependency from data sources
* Removes default export for time and template srvs
Also uses @grafana/runtime versions of the interfaces where possible
* Replace usage of internal templateSrv where possible
* Use runtime templateSrv in a couple more places
* Add stackdriver deep link
* No deep link for SLO queries
* Add tests
* Update docs/sources/features/datasources/stackdriver.md
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
* Enforce resource type
* Navigate to google account chooser first
* Change renamed image reference
Fix misspelling in image name and change it to conform with the rest cloud monitoring images
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
* Update backend
* Update frontend
* Keep old plugin id
* Update docs
* Place doc images to a new directory
* Legacy support for stackdriver-auto alignment
* Consistent plugin name
* Apply suggestions from code review
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
* Update docs
* Update public/app/plugins/datasource/cloud-monitoring/README.md
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
* Add reference to the data source formerly being named Stackdriver
* Update pkg/models/datasource.go
Co-authored-by: Carl Bergquist <carl@grafana.com>
* Fix gofmt
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
Co-authored-by: Carl Bergquist <carl@grafana.com>