Commit Graph
52 Commits
Author SHA1 Message Date
Andreas Christou a814357d6d FalconLogScale: Traces to logs support (#64174)
* Humio traces to logs support

* Update tag formatting

* Add tests for humio

* Correct naming
2023-03-10 14:17:17 +00:00
Andreas Christou 0a7474ac5c Bump coverage versions (#63755)
- Includes a fix to ensure only ts/tsx files have coverage generated
2023-02-24 13:20:16 -05:00
Andreas Christou 823aaaeb7c AzureMonitor: Fix template variables in ARG subscription field (#63731)
Add support for template variables in sub field
2023-02-24 16:37:09 +00:00
Andreas Christou 20591cc42b CloudMonitor: Fix query migration (#63491)
* Update query and set required fields for explore queries

* Update test case

- Validate onChange is called with the new query
2023-02-21 11:21:20 -05:00
Andreas Christou d7f7cd1e61 Schema: Initial Azure Monitor query schema (#62018)
* Initial schema

- Add types based off of current frontend

* Rename and field-level comments

* Update report and regenerate files

* Rename frontend Azure folder

- Doing this for consistency and to ensure code-generation works
- Update betterer results due to file renames

* Remove default and add back enum vals that I deleted

* Set workspace prop as optional

* Replace template variable types

* Connect frontend query types

- Keep properties optional for now to avoid major changes
- Rename AzureMetricResource
- Correctly use ResultFormat

* Add TSVeneer decorator

* Update schema

* Update type

* Update CODEOWNERS

* Fix gen-cue issue

* Fix backend test

* Fix e2e test

* Update code coverage

* Remove references to old Azure Monitor path

* Review

* Regen files
2023-02-03 16:06:54 +00:00
Andreas Christou f77853f91e AzureMonitor: Fix dimension migration (#62485)
Remove unneeded properties post migration
2023-01-31 12:36:21 +00:00
Andreas Christou 3ac97dd396 TemplateVariables: Fix custom variable function support (#62509)
Validate query values
2023-01-30 17:49:16 +00:00
Andreas Christou 5bdfbd93a5 Bump code coverage version (#62322)
* Bump code coverage version

* Update codeowners to include aws-plugins

* Bump version further
2023-01-27 14:33:48 +00:00
Andreas Christou 18465bc04f Bump code-coverage workflow version (#62182) 2023-01-26 11:04:00 +00:00
Andreas Christou 590d1f8a7d AzureMonitor: Move DefaultSubscriptions field to separate component (#61633)
* Move DefaultSubscriptions field to separate component

- Add separate component
- Update CredentialsForm
- Update tests
- Remove redundant test

* Remove defaultSubscriptionId

- Update MonitorConfig to appropriately set subscriptionId
- Update DefaultSubscription component to make use of JsonData
- Remove references to defaultSubscriptionId
- Update tests
- Update mockInstanceSettings for flexibility

* Review

- Add DefaultSubscription test and remove component from AzureCredentialsForm test
- Remove onCredentialsChange from DefaultSubscription
- Set subscription as a part of onSubscriptionChange
2023-01-23 12:19:48 +00:00
Andreas Christou d50f206677 AzureMonitor: Correctly select template variable values in E2E (#61780)
Correctly select values
2023-01-19 15:21:25 +00:00
Andreas Christou f135c6cbf1 Cloudmonitor: Refactor query builder (#61410)
* 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
2023-01-16 17:57:12 +00:00
Andreas Christou f319a5f740 CloudMonitor: Add adoption metrics (#60706)
* Add adoption metrics for Cloud Monitoring

- Add metrics to track each query type (MQL/Time Series Query, Builder/Time Series Filter, SLO, Annotation)

* Remove hidden fields and account for pre 9.4 queries

* Simplify object
2022-12-23 07:01:29 -05:00
Andreas Christou c34aa05548 grafana/e2e: Add ability to customise scenario config (#60646)
* Add ability to retry e2e test scenarios

* Add wait and remove retries

* Revert retry logic and elaborate on 15s wait time

* No need to update datasource name now
2022-12-22 11:07:49 -05:00
Andreas Christou 0367036108 AzureMonitor: E2E update (#60624)
* Wait for locations call to complete

* Update drone to run cloud suite on tests update
2022-12-21 16:42:24 +00:00
Andreas Christou 2e4bc200f5 AzureMonitor: Correctly set filter values in portal URL (#60627)
* Correctly set filter values in portal URL

* Refactor to include dimensions as a part of AzureMonitor query

* Correctly set splitting value in URL

- Add type for dimension filters object

* Update tests

* Don't test dimensions
2022-12-21 16:30:17 +00:00
Andreas Christou f3f043e097 AzureMonitor: Set Logs portal URL from resource URI (#60583)
Set URL based off of resource URI
2022-12-21 15:46:31 +00:00
Andreas Christou 5fd8d515be Bump code coverage versions (#60419) 2022-12-15 14:32:19 -05:00
Andreas Christou c81df0dec0 AzureMonitor: Add custom header support to Azure Monitor (#60269)
* Add integration test for Azure Monitor

- Add Azure Monitor to datasource types
- Update instance creation to correctly set HTTP client options
- Combine custom azure headers and custom grafana headers on HTTP client creation
- Update HTTP client tests

* Test custom azure headers
2022-12-14 15:09:11 +00:00
Andreas Christou 4730be8842 AzureMonitor: Add error indicating potential configuration issue on Resource Picker (#60041)
* Add error indicating potential configuration issue

- Update test

* Update error

- Lint update
2022-12-09 13:50:01 +01:00
Andreas Christou 43afb85056 CloudMonitor: Improve detail of MQL series labels (#59747)
* Improve consistency between MQL and builder queries

* Review

* Review and fix test
2022-12-07 15:32:54 +00:00
Andreas Christou b4cf711a74 Package: @grafana/e2e updates (#59723)
E2E package updates

- Update addDashboard flow to work with latest grafana
- Update viewport configuration to ensure components aren't hidden
2022-12-05 13:49:25 +00:00
Andreas Christou c52d4e2a64 AzureMonitor: Automate location retrieval (#59602)
* Automate location retrieval

- Add function to retrieve provider information
- Add function to retrieve subscription locations
- Add parsers for each function
- Add types
- Update resourcePickerData with new functions
- Remove old location metadata file

* Improve types

- Add types for responses
- Use correct name parameter
- Update response parser (parseProvider unnecessary)

* Fix tests

- Add necessary mocks

* Fix logic and ensure maps are consistent

* Add tests

* Review

* Lint issue
2022-12-02 13:23:15 +00:00
Andreas Christou 4eed56193f DataSourceWithBackend - Set postResource method to POST (#59114)
Set postResource method to POST
2022-11-22 13:31:47 +00:00
Andreas Christou f8656d269d AzureMonitor: Separate subscription health check API version (#58253)
Separate subscription health check API version
2022-11-21 13:03:16 +01:00
Andreas Christou 19ff3645e8 Update verify-release script (#58812)
Update verify-release script with required arg
2022-11-18 16:47:13 +00:00
Andreas Christou ed64133943 grafana/e2e: Update add dashboard flow (#58360)
* Update variable editor e2e flow

- Use correct selector for Variables
- Add variable query form
- Add label for variable apply button

* Use data-testid instead of aria-label

* Add jsdoc
2022-11-08 12:15:21 -05:00
Andreas Christou 5cfd983cc2 AzureMonitor - E2E tests drone update (#57100)
* Update e2e command with video flag

* Add Cloud Plugins E2E tests to drone

* Update env variable names

* Add vault Azure secrets

* Update e2e steps

* Update secrets path

* Update image and rebuild drone file

* Readd drone changes

* Rebuild drone

* Remake drone

* Correct reference to secret

* Remake drone file

* Remove unneeded step

* Clear values in Arg query
2022-11-08 11:27:54 +01:00
Andreas Christou 7bb76e0975 Azure Monitor: E2E Tests (#54619)
* Update credentials form with data-testids and aria-labels

* Update gitignore

* Add example dashboard

* Stub out E2E test for creating ds and importing dashboard

* Add component selectors

* Remove subscription check temporarily

* Appropriately set disabled prop

* Fix lint issues

* Update to use selectors and wait on subscriptions request

* Add test for metrics panel

- Add required selectors for resource picker and metrics query editor

* Add logs and ARG basic query scenarios

- More selector updates

* Add E2E test for template variables

- Tests advanced resource picker
- Adds required selectors

* Remove log and add annotation e2e test

* Update test

* Prettier/betterer updates

- Remove gitignore change

* Lint issues

* Update betterer results

* Lint issue and remove unneeded import

* Don't print certain commands

* Avoiding flakiness

- Ensure code editor has sufficient time to load in ARG test
- Avoid flakiness around correct template variable being selected by typing in resource name

* Remove be.visible requirement

* Update test

* Update selector name

* Reuse datasource

* Fix datasource reuse and combine query tests

* Remove import dashboard step as unneeded

* Review

- Randomise datasource name
- Skip annotations test
- Remove unused example dashboard

* Update to ensure e2e test works in CI

* Update e2e test

- Update environment variables (process is not available in cypress)
- Add wait on resource picker searches to avoid flakiness
- Update subscription and resource group names

* Update CODEOWNERS

* Parse credentials in CI from outputs file

* Update outputs file path

* Fix selector

* Undo selector change

* Update e2e tests

- Set default subscription
- Fix datasource selection in variable editor
- Fix resource picker search flakiness
- Set subscription in ARG query test
- Fix resource group selection
- Update resource group

* Review

* Review 2
2022-11-04 10:47:54 +00:00
Andreas Christou 462ca50512 AzureMonitor: Ensure resourceURI template variable is migrated (#56095)
* Ensure resourceURI template vars are migrated

- Do not filter queries containing a resource URI template
- Update migration
- Add test

* Update condition

* Review
2022-10-04 04:44:34 -04:00
Andreas Christou 37aa45001f AzureMonitor: Correctly update subscriptions value in ARG editor (#55860)
* Correctly update subscriptions prop in query

* Simplify setting of subscriptions value
2022-09-28 11:59:07 +01:00
Andreas Christou 53c61b49bf AzureMonitor: Add region params (#55763)
* Ensure region params are included

* Fix betterer results change
2022-09-26 12:56:18 -04:00
Andreas Christou cf588bd083 AzureMonitor: Automate retrieval of supported Metrics namespaces (#53203)
* Automate retrieval of supported Metrics namespaces

- Pass AzMonitor datasource to resource picker
- Add function to fetch unique namespaces for all subscriptions
- Update tests

* Remove unused file and reference

* Remove final namespace reference

* Add missing arguments

* Remove spaces added to generated file
2022-09-22 14:05:29 +01:00
Andreas Christou 17fc5d82d3 Bump code coverage versions (#55554) 2022-09-21 13:38:02 +01:00
Andreas Christou e8b13f8122 Bump code coverage workflow version (#54138) 2022-08-24 14:40:47 +01:00
Andreas Christou 1f17e9a044 Update effects to avoid retrieving metrics descriptors except on project name update (#54091) 2022-08-23 16:42:59 +01:00
Andreas Christou d6a0a5c9ed Set projectName in componentDidMount to ensure GCE project is set (#53652)
- Update componentDidMount to call ensureGCEDefaultProject to correctly set project name for GCE Service Account auth
- Set state appropriately
- Update test
2022-08-12 14:54:19 +01:00
Andreas Christou cace6f06d1 Fix webpack issue (#53666) 2022-08-12 13:53:35 +00:00
Andreas Christou d4f382892d CloudMonitor: Fix to hide queries when used in conjunction with Expressions (#53537)
* 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
2022-08-12 11:02:56 +01:00
Andreas Christou 1c48f443f0 Upgrade grafana-azure-sdk-go package (#52248)
- Includes fix for appropriate selection of system assigned identity when using managed identity credential for Azure Monitor auth
2022-07-15 10:46:30 +01:00
Andreas Christou caec0f8771 Cloud Datasources: Add necessary inputs and bump version for code coverage workflow (#52055)
* Add necessary inputs and bump version

* Test coverage commit

* Bump coverage workflow version

* Bump workflow version

* Try updated workflow

* Bump commit sha

* Rename empty file for testing

* Update sha

* Update sha

* Update sha

* Bump SHA

* Update SHA

* Update sha

* Bump SHA

* Bump SHA

* Bump sha

* Bump SHA

* Test all plugins (including backend)

* Bump SHA

* Update SHA

* Remove empty files and set appropriate workflow version
2022-07-14 10:14:55 +01:00
Andreas ChristouandGarrett Guillotte a4d33a0f43 AzureMonitor: Improve handling of unsupported template variable cases in URIs (#52054)
* Set error message for certain template variable combinations

- Make use of setError method from query editor
- Update Azure Monitor error type
- Add test for case 2 from https://github.com/grafana/grafana/pull/51331

* Update template variable docs

* Fix lint issues

* Update docs/sources/datasources/azuremonitor/template-variables.md

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>

* PR comment updates

Co-authored-by: Garrett Guillotte <100453168+gguillotte-grafana@users.noreply.github.com>
2022-07-14 09:28:44 +01:00
Andreas Christou 0a6eeaa636 AzureMonitor: Update curated dashboards (#51331)
* Ensure resource name is appended to URI

* Add storage account check to ensure default subresource is appended

* Update storage dashboard

* Bump storage version

* Remove ADX StreamingIngestRequestRate panel as the metric is unavailable

* Refactor condition for storage namespaces

* Add more tests for URI builder

* Do not migrate resource URI if resource name or metric definition uses template variables

* Revert change to metricNamespace
2022-07-06 15:37:17 +01:00
Andreas ChristouandAndres Martinez Gotor ecaa1dcbfd AzureMonitor: Migrate to backend checkHealth API (#50448)
* Add check health functions for each datasource and generic checkHealth function

* Log backend errors

* Update testDatasource function

- Remove unused testDatasource functions from pseudo datasources

* Switch datasource to extend DataSourceWithBackend

* Improve errors and responses from health endpoint

* Fix backend lint issues

* Remove unneeded frontend tests

* Remove unused/unnecessary datasource methods

* Update types

* Improve message construction

* Stubbing out checkHealth tests

* Update tests

- Remove comments
- Simplify structure

* Update log analytics health check to query data rather than retrieve workspace metadata

* Fix lint issue

* Fix frontend lint issues

* Update pkg/tsdb/azuremonitor/azuremonitor.go

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>

* Updates based on PR comments

- Don't use deprecated default workspace field
- Handle situation if no workspace is found by notifying user
- Correctly handle health responses

* Remove debug line

* Make use of defined api versions

* Remove field validation functions

* Expose errors in frontend

* Update errors and tests

* Remove instanceSettings

* Update error handling

* Improve error handling and presentation

* Update tests and correctly check error type

* Refactor AzureHealthCheckError and update tests

* Fix lint errors

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2022-06-20 11:33:13 +01:00
Andreas Christou c8094b33cd AzureMonitor: Ensure original query properties are included unchanged (#49642)
* Ensure original query properties are included unchanged

* Remove refId from pseudo datasources

* Include testing for interpolateVariablesInQueries

- Add util function to create template variables
- Update mock query with missing props
- Additional tests on each ds for template variables

* Correct typo and add explicit check for datasource
2022-05-26 14:53:12 +01:00
Andreas Christou ccb8888055 CloudMonitor: Correctly encode default project response (#49510)
* Correctly encode default project response

* Make getGCEDefaultProject a method of Service and add test

* Handle error appropriately

* Update test and function definition
2022-05-25 14:05:12 +01:00
Andreas Christou 34fa7b493c AzureMonitor: Fixes metric definition for Azure Storage queue/file/blob/table resources. (#49101)
* Appropriately set metric definition

- Nested storage account resources (queues/blobs/tables/files) require metric definition of Microsoft.Storage/storageAccounts
- Update tests accordingly

* Restructure getResourceNames test

- Add expect on getResource args

* Update to fix issue for new query editor

- Reconstruct resourceUri if the resource is a storage account
- Correctly push storage namespaces as options for metric namespaces
- Filter options appropriately

* Fix duplicate options

* Fix lint issues

* Add comment explaining URI modification
2022-05-20 16:36:42 +01:00
2780651ea8 AzureMonitor: Fix auto-selection of time-grain for metrics. (#49278)
* Update query editor to fix auto time-grain selection

* Update new query editor to fix auto time-grain selection

* Remove log and fix lint issues

* Add test for useMetricMetadata

- Add necessary types

* More test updates

- Update old dataHooks test
- Ensure query changes

Co-authored-by: Kevin Yu <kevinwcyu@users.noreply.github.com>
Co-authored-by: Andres Martinez Gotor <andres.mgotor@gmail.com>
Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
2022-05-20 15:45:54 +01:00
Andreas ChristouandAndres Martinez Gotor 2bd9e9aca5 AzureMonitor: Add support for selecting multiple options when using the equals and not equals dimension filters (#48650)
* Add support for multiselect

- Add filters param to Dimensions
- Update existing tests
- Add MultiSelect component
- Add helper function to determine valid options
- Update labels hook to account for custom values
- Update go type
- Add function to build valid filters string

* Additional go tests

- Ensure query targets are built correctly

* Update DimensionFields frontend test

- Corrently rerender components
- Additional test for multiple labels selection
- Better selection of options in react-select components

* Fix lint issue

* Reset filters when operator or dimension changes

* Terminology

* Update test

* Add backend migration

- Update types (deprecate Filter field)
- Add migration logic
- Update tests
- Update dimension filters buliding

* Add migration test code

* Simplify some logic

* Add frontend deprecation notice

* Add frontend migration logic and migration tests

* Update setting of filter values

* Update DimensionFields test

* Fix linting issues

* PR comment updates

- Remove unnecessary if/else condition
- Don't set filter default value as queries should be migrated
- Add comment explaining why sw operator only accepts one value
- Remove unnecessary test for merging of old and new filters

* Nit on terminology

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>

* Rename migrations for clarity

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2022-05-10 15:05:48 +01:00
Andreas Christou 7f4b1b767e Add new DynamoDB metrics & dimensions (#48551) 2022-05-03 13:32:09 +01:00
Andreas Christou d7c16e06d2 AzureMonitor: Add support for not equals and startsWith operators when creating Azure Metrics dimension filters. (#48077)
* Allow dimension operator selection

- Add dimension operators and function to update the operator in the query
- Add logic to ensure the same dimension cannot be selected multiple times (Azure restriction)
- Add selection component

* Update backend logic to default operation and filter to eq '*'

- This must be done as the ne and sw operators do not work with the wildcard filter

* Add tests on dimension operators

* Correct placement of 'and' when building query

* Add comment and simplify filtering logic

* Allow multiSelect for eq and ne operators

- Pass PanelData to DimensionFields component
- Add logic to retrieve labels from PanelData
- Add MultiSelect component for relevant operators
- Update frontend types to allow filter to be an array of strings
- Update backend types to allow filter to be an array of strings
- Update filter string building

* Improve setting of labels

* Update go tests

* Update frontend tests

- Add panelData mock (to be expanded later)
- Update null check in DimensionFields

* Allow custom value and set default

* Add frontend test and fix lint issues

* Improved handling of options for sw operator

* Remove changes related to multiselect

* Add check on refId to ensure dimension labels are correct for query

* Extract custom hook for setting dimension labels

* Add documentation around Azure Monitor metrics dimensions

* Update MetricQueryEditor tests

- Add missing data prop

* Correctly set field values

* Add additional expect for onQueryChange

* Correctly set operators

- Simplify onFilterInputChange

* Ensure no duplicate filters appear

* Ensure that filters are displayed correctly for saved queries

* Update dimension filter test

* Include additional test around changing dimension labels

* Pass panel data through new metrics query editor
2022-04-29 17:01:13 +01:00
Andreas Christou d0b41f882e Transformations: Support escaped characters in key-value pair parsing (#47901)
* Additional logic to handle quoted values

* Simple test with quoted values that include spaces

* Update test description

* Updating logic to account for nested quotes

- Adding additional test for nested quotes

* Strip out line breaks and carriage returns pre-processing

* Fix typo in test result

* Update key-value logic to avoid regexp

- Minor changes to account for null values

* Correct escaping on test

* Additional tests

- Test for null values
- Test for nested separator characters
- Update quoting
2022-04-20 15:46:54 +01:00