AzureMonitor: Traces updates (#68462)
* Use fully qualified resource identifiers
* Add additional data link to explore parent span
* Correctly order links to not break trace logs functionality
(cherry picked from commit bf75969794)
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
elastic: more tests (#68533)
* elastic: more tests
* fix lint error
(cherry picked from commit 6189f48be7)
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
Nested folders: Allow renaming a folder multiple times (#68379)
Return folder version in response that is required for updating
the entry in the dashboard table.
(cherry picked from commit d458292b66)
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
* Add/Edit Panel: Enable new DS picker toggle by default (#68380)
(cherry picked from commit ede8df846e)
---------
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
Settings: Add ability to override `skip_org_role_sync` with Env variables (#68364)
Switch to using the SectionsWithOverride for settings for skip org role sync
(cherry picked from commit 1a79c8a601)
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
Pyroscope: Add authentication when calling backendType resource API (#67667)
(cherry picked from commit 8da90f624d)
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
Folders: return an error when listing folders if permission guardian returns an error (#68109)
return an error when listing folders if perm gaurdian returns an error
(cherry picked from commit e51b92991d)
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
Settings: Do not hide sensitive values if it's empty (#68088)
* Settings: Do not hide sensitive values if it's empty
* Fix implementation
* Add tests for RedactedValue function
(cherry picked from commit 0b6ae0d119)
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
AzureMonitor: Correctly set resource parameter for Logs queries (#68133)
* Update to ensure the resources parameter is passed through for logs queries only
* Use string slices for resources to ensure order remains the same
* Fix lint
* clarify test
(cherry picked from commit e059ce9c8a)
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
AzureMonitor: Appropriately handle trace correlation resources (#67934)
* Appropriately handle correlation resources
- Retrieve resources in buildQueries step
- Build updated queries based off of correlation results
- Update tests
* Fix query building and tests
* Fix lint
* Ensure multiple resource queries will work
- Correctly set resources to ensure there is no overlapping between multiple resource selection and correlated resources
- Add tests for these specific cases
- Remove unnecessary pointers
- Build queries correctly
(cherry picked from commit 5ddc37ee21)
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
Alerting: Migration to not fail if alert_configuration table is not empty (#67924)
(cherry picked from commit 0ce7f7eaf4)
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
AzureMonitor: Fix logs query multi-resource and timespan values (#67914)
* Update TimeGrain interface methods
- Make them util functions because it's simpler
* Update logs ds to appropiately set resources and timespan
* Set timespan using RCF times
* Update tests
(cherry picked from commit 9d16718acc)
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
Render analytics identifiers (#67860)
* Append analytics identifier upon authenticate session
* Add id and module upon syncing user to identity
* Add authModule & id to `IdentityFromSignedInUser`
* Allow req calls in test to use basic auth
* Add `intercom_secret` to grafana config in tests
* Add test for analytics render in html view
(cherry picked from commit 15e34505e2)
Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
Elasticsearch: Fix processing of logs with not-recognized time format (#67767)
* Elasticsearch: Fix parsing of invalid time
* Fix lint
* Add more test data to data.js
* Add tests
* Fix lint
* Update pkg/tsdb/elasticsearch/client/search_request.go
(cherry picked from commit 95cf598423)
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
RBAC: Do not search for parents of the root folder (#67746)
do not search for parents of the general folder
(cherry picked from commit b1382ac48e)
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
Connections: Rename "Your data source" to "Data source" page (#67662)
rename "Your data source" to "Data source" page
This page was meant to be named "Data source" in the previous PR [0].
I just made a mistake by naming it wrongly.
[0]: https://github.com/grafana/grafana/pull/66813/files
(cherry picked from commit 76284ed3a6)
Co-authored-by: mikkancso <miklos.tolnai@grafana.com>
NestedFolders: Use new Browse Dashboards UI behind feature flag (#67416)
NestedFolders: Put feature flagged new Browse Dashboards UI at main route
(cherry picked from commit c4a31390ef)
Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
* enable case insensitive by default
* fix missing case-insensitive query
* fix missing case insensitive query
* fix missing case insensitive query in temp_user
* skip integration testing in mysql
* skip integration testing in mysql
* use t.cleanup
* lowercase only once
* aligned to only using sql as that is what we do in other parts
---------
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
* fix , comparison regression
* intervalMs was not pressent before the regression and this value changes the adjusted interval calculating giving a false positive in favor of the regression
Moving call resource API stream handling within plugin management as a utility/wrapper.
Closes#66889
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
* change from role grant overrides to SAML UI specific config option
* update permissions needed to access SAML UI
* PR feedback: change config name, change required perms to write, add a comment
* Update behavior of defaults in connection limits
* Refactor to use config object instead
* Refactor remove unneeded function
---------
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* Build out barebones Traces editor
- Add Traces query type and operation ID prop to query type
- Add necessary header types
- Update resource picker to appropriately work with traces query type
- Build out TracesQueryEditor component
- Include logic to retrieve operationId's for AI Workspaces
- Add backend route mapping
- Update macro to use timestamp as default time field for traces
* AzureMonitor: Traces - Response parsing (#65442)
* Update FormatAsField component
- Add trace ResultFormat type
- Generalise FormatAsField component
- Add component to TracesQueryEditor
- Remove duplicate code in setQueryValue
* Add custom filter function to improve performance
* Add basic conversion for logs to trace
- Add serviceTags converter
- Pass through required parameters (queryType and resultFormat)
- Appropriately set visualisation
* Update parsing to also fill trace tags
- Add constant values for each table schema (include legacy mapping for now if needed)
- Add constant for list of table tags
- Set the foundation for dynamic query building
- Update query to build tags value
- Appropriately set operationName
- Update tagsConverter to filter empty values
* Fix lint and test issues
* AzureMonitor: Traces - Data links (#65566)
* Add portal link for traces
- Pull out necessary values (itemId and itemType)
- Appropriately construct
- Fix ordering
* Set default format as value
- Also set default visualisation
* Fix event schema
* Set default formatAsField value
* Include logs link on traces results
- Adapt config links to allow custom title to be set
* Correctly set operationId for query
* Update backend types
- Include OperationID in query
- Pass forward datasource name and UID
* Ensure setTime doesn't consistently get called if operationID is defined
* Add explore link
- Update util functions to allow setting custom datalinks
* Fix tests
* AzureMonitor: Traces - Query and Editor updates (#66076)
* Add initial query
- Will query the resource as soon as a resource has been selected
- Updates the data links for the query without operationId
- Remove initial operationId query and timeRange dependency
- Update query building
* Add entirely separate traces query property
- Update shared types (also including future types for Azure traces)
- Update backend log analytics datasource to accept both azureLogAnalytics and azureTraces queries
- Update backend specific types
- Update frontend datasource for new properties
- Update mock query
* Update FormatAsField to be entirely generic
* Update query building to be done in backend
- Add required mappings in backend
- Update frontend querying
* Fix query and explore data link
* Add trace type selection
* Better method for setting explore link
* Fix operationId updating
* Run go mod tidy
* Unnecessary changes
* Fix tests
* AzureMonitor: Traces - Add correlation API support (#65855)
Add correlation API support
- Add necessary types
- Add correlation API request when conditions are met
- Update query
* Fix property from merge
* AzureMonitor: Traces - Filtering (#66303)
* Add initial query
- Will query the resource as soon as a resource has been selected
- Updates the data links for the query without operationId
- Remove initial operationId query and timeRange dependency
- Update query building
* Add entirely separate traces query property
- Update shared types (also including future types for Azure traces)
- Update backend log analytics datasource to accept both azureLogAnalytics and azureTraces queries
- Update backend specific types
- Update frontend datasource for new properties
- Update mock query
* Update FormatAsField to be entirely generic
* Update query building to be done in backend
- Add required mappings in backend
- Update frontend querying
* Fix query and explore data link
* Add trace type selection
* Better method for setting explore link
* Fix operationId updating
* Run go mod tidy
* Unnecessary changes
* Fix tests
* Start building out Filters component
- Configure component to query for Filter property values when a filter property is set
- Add setFilters function
- Add typing to tablesSchema
- Use component in TracesQueryEditor
* Update Filters
- Asynchronously pull property options
- Setup list of Filter components
* Update filters component
- Remove unused imports
- Have local filters state and query filters
- Correctly set filters values
- Don't update query every time a filter property changes (not performant)
* Update properties query
- Use current timeRange
- Get count to provide informative labels
* Reset map when time changes
* Add operation selection
* Reset filters when property changes
* Appropriate label name for empty values
* Add filtering to query
* Update filter components
- Fix rendering issue
- Correctly compare and update timeRange
- Split out files for simplicity
* Add checkbox option to multiselect
- Add custom option component
- Correctly call onChange
- Add variableOptionGroup for template variable selection
* Fix adding template vars
* Improve labels and refresh labels on query prop changes
* AzureMonitor: Traces - Testing (#66474)
* Select ds for template variable interpolation
* Update az logs ds tests
- Add templateVariables test
- Add filter test
- Update mock
- Remove anys
* Update QueryEditor test
- Update mocks with timeSrv for log analytics datasource
- Fix query mock
- Use appropriate and consistent selectors
* Add TracesQueryEditor test
- Update resourcePickerRows mock to include app insights resources
- Remove comments and extra new line
* Add FormatAsField test
- Remove unneeded condition
* Update resourcePicker utils test
* Don't hide selected options in filters
* Fix multi-selection on filters
* Add TraceTypeField test
- Add test file
- Update selectors (remove copy/paste mistake)
- Update placeholder text for select and add label
* Add basic filters test
* Begin filters test
* Update filters test
* Add final tests and simplify/generalise addFilter helper
* Minor update to datasource test
* Update macros test
* Update selectors in tests
* Add response-table-frame tests
* Add datasource tests
- Use sorting where JSON models are inconsistent
- Update filters clause
- Dedupe tags
- Correct operationId conditions
* Don't set a default value for blurInputOnSelect
* Simplify datasource test
* Update to use CheckGoldenJSON utils
- Update with generated frame files
- Remove redundant expected frame code
- Update all usages
* Fix lint
* AzureMonitor: Traces feedback (#67292)
* Filter traces if the visualisation is set to trace
- Update build query logic
- Added additional test cases
- Return an error if the traces type is set by itself with the trace visualisation
- Add descriptions to event types
- Update tests
* Fix bug for error displaying traces
* Update mappings and add error field
- Update tests
- Remove unnecessary comments
* Switch location of Operation ID field
* Re-order fields
* Update link title
* Update label for event type selection
* Update correct link title
* Update logs datalink to link to Azure Logs in explore
* Fix lint
* Draft: Feature: Trusted Types support
* remove trusted-types package
* Create policy before jQuery and Angular is loaded and add feature flag
* Add trustedTypePolicies
* Sanitize scriptURL
* Add TT meta tag for test env
* Move trusted types into core
* Add DOMParser support for TrustedHTML
* Seperate RSS sanitization and add better TrustedHTML support
* Get test CSP header from config
* Remove dompurify dep from core
* Add documentation for trusted types
* Apply suggestions from code review
Co-authored-by: Kristian Bremberg <114284895+KristianGrafana@users.noreply.github.com>
* Add comment about Github discussion thread and things breaking
* Remove changes from News panel
* Remove TT feature toggle
* Expose TT and CSPReportOnly to frontend
* Log errors in console when CSP report only is enabled
* Log error for reporting and remove test mode
* Only insert CSP header in HTML for dev env
* Update docs
---------
Co-authored-by: Tobias Skarhed <tobias.skarhed@gmail.com>
Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
* Add a method for getting descendant folders
* Include dashboard count for descendant folders
* Return subfolder count
* Replace references to children with descendants
* Update openapi specs
* Add test for descendant counts
* Add logging to GetDescendantCounts
* Fix files with two dots in the name not being returned by LocalFS.Files()
* Renamed variable for consistency
* Add test
* Fix typo
* Fix wrong upperLevelPrefix value
* Removed unnecessary check in LocalFS.Files()