* feat: report to bench
* fix: output json
* chore: own the code
* temp: limit files to test for faster iteration
* temp: force bench to run for testing purposes
* fix: bench has been merged to main
* fix: correct file name
* temp: remove temp
* feat: pin the tparse binary
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
---------
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
* Alerting: Implement arbitrary data source remote writer.
Recording rules currently remote write to the endpoint speficied in the
configuration file, but we want to change this so that it can be specified
on a per-rule basis. This change implements the updated RemoteWriter
interface, and dispatches writes to the correct data source.
Notes about the implementation:
- There is a defaulting behaviour, because we will need to handle situations
when upgrading from older Grafana versions, where recording rules do not a
data source target specified.
- In order to avoid re-creating the remote write clients for every request,
a cache is used. The entries have a TTL of 30 seconds at which point they
are recreated; this is the delay for picking up new data source settings.
Known limitations:
- There is no per data source configuration for the remote write path suffix.
- Not all data source settings will be used, but basic auth and TLS will be.
- There is no RBAC. This will be a follow up feature.
* Lint
* baldm0mma/ parallelize tests for reporting
* baldm0mma/ update combining non-existant outputs
* baldm0mma/ remove duplicate logic
* baldm0mma/ rem any unnecessary logging
* baldm0mma/ add workflow path for test coverage test
* baldm0mma/ cache ent
* baldm0mma/ update with crucial comments
* baldm0mma/ generate go files
* baldm0mma/ cache enterprise only once
* baldm0mma/ adjust coverage threshholds
* baldm0mma/ remove temp artifacts from storage to save $$$
* baldm0mma/ remove strict coverage for unit tests
* baldm0mma/ pass coverage go opts
* baldm0mma/ update run backend tests action to composite
* baldm0mma/ separate make gen go into it's own composite step
* baldm0mma/ move options to workflow
* baldm0mma/ remove use of action
* baldm0mma/ remove unsed action
* baldm0mma/ update codeowners
* baldm0mma/ add edition logic
* baldm0mma/ set env vars in determine-edition action
* baldm0mma/ make test
* baldm0mma/ debug sequential
* baldm0mma/ debugging by removing unit tests
* baldm0mma/ TRY SOMETHING DIFFERENT!!!
* baldm0mma/ uploading ent from within the workspace
* baldm0mma/ revert run-backend-tests action
* baldm0mma/ move edition to job level
* baldm0mma/ update WIRE_TAGS
* baldm0mma/ move the enterprise code to the correct location after extracting it
* baldm0mma/ rem packaging/extracting of enterprise code
* baldm0mma/ test makefile
* baldm0mma/ add ent setup to coverage
* baldm0mma/ rem backend test action
* baldm0mma/ add wire and go steps to coverage job
* baldm0mma/ remove make installation, as it is already present in the "ubuntu-latest" package
* baldm0mma/ convert to matrix testing strategy
* baldm0mma/ update separate test coverage to only a day
* baldm0mma/ add setup-common-backend-testing-env action
* baldm0mma/ add setup env
* baldm0mma/ update naming
* baldm0mma/ updade codeowners
* baldm0mma/ rem ent
* baldm0mma/ update naming
* baldm0mma/ remove multiline syntax in report-coverage
* baldm0mma/ make gen-go
* baldm0mm/ remove integration tests
* baldm0mma/ update coverage params
* baldm0mma/ streamline workflow
* baldm0mma/ update codeowners
* baldm0mma/ update naming
* baldm0mma/ simplify logic
* baldm0mma/ remove uneeded trigger
* baldm0mma/ remove conditional coverage step
* baldm0mma/ debug coverage
* baldm0mma/ update file name
* baldm0mma/ remove artifact upload
* baldm0mma/ update atrifact params in the workflow
* baldm0mma/ simplify processing logic
* Update namespace endpoint to filter out only relevant namespaces
* Update tests
* Fix url builder tests
* Add todo comments
* Update func to use ARG to retrieve namespaces with metrics
* Refactor getMetricNamespaces for readability
* Lint
* Remove comments
* Remove type assertion
* Refactor ARG query
* Update tests and refactor class to use ARG
* Update resource group query
- Updates the resource groups query to support users/apps with restricted permissions
* Update resources request to be paginated
- Also order by name
- Add tests
* Start refactoring azure monitor util functions to resource graph
* Minor lint
* Add getMetricNamespaces resource graph function
* Modify getMetricNamespaces call
- Use resource graph function for variable queries
* Return names for getResourceNames values
* Use getMetricNamespaces variable specific req in editor
* Substantial refactor
- Update Azure Resource Graph data source with a method for making paged requests and a method for retrieving metric namespaces (and add tests)
- Extract helpers from azure_monitor_datasource to utils and generalise them (also revert previous changes to datasource and test file)
- Update mock with Azure Resource Graph data source
- Revert response parser changes
- Revert url builder changes
- Update get metric namespaces query to use the resource graph method for variable queries
- Update docs
* Lint
* Oops
* Fix type
* Lint and betterer
* Simplify imports
* Improve type
* Simplify resource picker class
* Start updating tests
* Fix naming and include missing error
* Update resource graph data source mock
* Update tests
* Remove unneeded parser
* Add get subscriptions to resource graph
* Generalise resource groups request
* Fix resource names request to ensure no clashing
* Update types
* Use resource graph queries for resource picker
* Correctly map resource group names
* Update mocks
* Update tests
* Fix mapping
* Refactor getResourceNames
- Remove most of the logic from resourcePickerData
- Add helper for parsing resource names as template vars
- Some renames for clarity
- Update types
- Update tests
* Ensure namespaces are lowercase
* Update docs/sources/datasources/azure-monitor/template-variables/index.md
Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
* Prettier write
* Ensure we return all namespaces if resourceGroup isn't specified
---------
Co-authored-by: alyssabull <alyssabull@gmail.com>
Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
* Create element panel lookup table
* When transforming to schema v2 get the element_identifier
* Add element identifier logic to layouts
* Retrieve element id in the serialization of each layout
* Keep ElementMapping updated when adding, removing panels
* Add basic unit test
* Wip: implement element mapping in serializer
* Remove Singleton
* Apply suggestions from code review
Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
* bring back missing functions - poc works at this point
* Move getElementIdentifierForVizPanel to dashboardSceneGraph
* poc - don't keep elementMapping updated
* Move logic to layout type serializer
* Remove unused code and remove layout tests
* clean up code, remove unnecessary functions
* Fix issue with initializeMapping
* remove console errors
* Remove testing code from response transformers
* Add unit test for DashboardSceneSerializer
* reset file, change not needed
* Improve comments on getElementIDForPanel
---------
Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
Simplify, by retaining quotes when escaping query
We also don't need to convert to string when passing to fmt.Sprintf
a slice of Bytes is accepted by Sprintf instead.
* feat: report to codecov
* fix: use webhook domain
* chore: force coverage check
* fix: use token
* fix: pass in token from workflow
* feat: remove codecov coverage force
The project board github.com/grafana/grafana/projects/21 has been deleted
as far as I can tell (or never existed).
I can't see an obvious candidate-team to receive `area/editor`, so I
propose we delete it instead.
* Alerting: Refactor NewPrometheusWriter function.
In order to re-use PrometheusWriter, changing the function take a
PrometheusWriterConfig instead of RecordingRulesSettings, and adapt the old
interface onto the new interface.
* Make linter happy
* Adds ability to run integration tests against spanner (by using GRAFANA_TEST_DB=spanner env variable. SPANNER_DB variable then specifies database to use: spannertest, emulator or string like /projects/<project>/instances/<instance>/databases/<db>)
* Adds feature to migration dialects to create database from a snapshot, instead of running individual migrations.
* Adds first version of Spanner snapshot, prepared from "OSS" migrations.
* Uses generated bit-reversed-positive values instead of auto_increment. (As an experiment)
* Clean up authenticator
* Cleanup authorizers and replace org_id and stack_id with namespace authorizer
* Remove dependency on org service
* Extract orgID from /apis/ urls and validate stack id
Extend the recording rule definition to include the target data source, allowing
configuration of where the output of the recording rule is written to. Also
extends the relevant interfaces in preparation for the next set of changes.
* Chore: Bump golang.org/x/net to v0.36.0
* Chore: Use github.com/moby/moby version 27.5.1 instead of 26.0.0
* Chore: Bump github.com/ua-parser/uap-go to v0.0.0-20250213224047-9c035f085b90
* Chore: Bump github.com/grpc-ecosystem/go-grpc-middleware/v2 to fix 32-bit overflow issue