* logs: restrict permalinks to datasources with id fields
* simplified code
* more tests
* more test
* removed unnecessary comment
* fixed tests
* updated tests
* add grafana-apiserver
* remove watchset & move provisioning and http server to background
services
* remove scheme
* otel fixes (#70874)
* remove module ProvideRegistry test
* use certgenerator from apiserver package
* Control collector/pdata from going to v1.0.0-rc8 (as Tempo 1.5.1 would have it)
* Refactor Tempo datasource backend to support multiple queryData types.
Added traceId query type that is set when performing the request but doesn't map to a tab.
* WIP data is reaching the frontend
* WIP
* Use channels and goroutines
* Some fixes
* Simplify backend code.
Return traces, metrics, state and error in a dataframe.
Shared state type between FE and BE.
Use getStream() instead of getQueryData()
* Handle errors in frontend
* Update Tempo and use same URL for RPC and HTTP
* Cleanup backend code
* Merge main
* Create grpc client only with host and authenticate
* Create grpc client only with host and authenticate
* Cleanup
* Add streaming to TraceQL Search tab
* Fix merge conflicts
* Added tests for processStream
* make gen-cue
* make gen-cue
* goimports
* lint
* Cleanup go.mod
* Comments
* Addressing PR comments
* Fix streaming for tracel search tab
* Added streaming kill switch as the disableTraceQLStreaming feature toggle
* Small comment
* Fix conflicts
* Correctly capture and send all errors as a DF to client
* Fix infinite error loop
* Fix merge conflicts
* Fix test
* Update deprecated import
* Fix feature toggles gen
* Fix merge conflicts
* I18N: Add browser language detector
* Improve style
* No new property for type check
* Add dependency
* Suggested doc change
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Fix prettier
* 'detect' as special language, no cache and only navigator detector
As per PR suggestion comments
* Update language configuration doc
* Suggested change in doc
From @chri2547
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Fix import
* Revert public/app/types/explore.ts changes
* Prettier write
---------
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: joshhunt <josh@trtr.co>
* introduce a new node-type ML and implement a command outlier that uses ML plugin as a source of data.
* add feature flag mlExpressions that guards the feature
* add table visualisation for logs
* add `logsExploreTableVisualisation` feature flag
* add feature flag to visualisation switch
* fix english
* improve state when no data is present
* improve margin
* add missing prop to test
* add tests
* fix logs table height
* fix linting
* move visualisation toggle
* add field config overrides
* update tests
* fix explore test
* fix explore test
* add missing header and revert test changes
* use timefield from logsFrame.ts
* add TODO
* move to new file
* hide fields that should be hidden
* add test to hide fields
* remove unused lines
* Update dependency sinon to v15.2.0
* add sinon to esmodules list
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* Saga: Divider component (horizontal and vertical)
* Documentation file updated
* Made changes suggested to the component, story and docs
* Updates made to the mdx documentation
* Updates on documentation for Divider component
* Made changes to the mdx documentation following suggestions received
* Explore: Allow the use of plugin panels
Allow plugins to define a visualisation to use in explore that comes from a plugin.
* Explore: Allow the use of plugin panels
Rename ExplorePanel to CustomContainer
* Explore: Allow the use of plugin panels
Changed CustomContainer to take all frames for plugin id.
Add field preferredVisualisationPluginId to frame metadata.
Updated decorators to check for plugin and fallback to preferredVisualisationType if plugin cannot be found.
* Explore: Allow the use of plugin panels
Handle case where there are no custom frames
* Explore: Allow the use of plugin panels
Add test cases
* Allow setting role as None
Co-authored-by: gamab <gabi.mabs@gmail.com>
Seeking for places where role.None would be used
Co-authored-by: Jguer <joao.guerreiro@grafana.com>
Adding None role to the frontend
Co-authored-by: Jguer <joao.guerreiro@grafana.com>
unify org role declaration and remove from add permission
fix backend test
fix backend lint
* remove role none from frontend
* Simplify checks
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
* nits
---------
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
* Apply filters consistently to every list in the picker
* Display all built-in DS when editing a panel
* Add `uploadFile` prop to toggle the CSV file DS
* Add pagination params and apply to sql
* Create getCorrelationsResponse that returns metadata
* Set up pagination, change correlations fetch to only get source datasource correlations
* Move correlations from root to pane, only fetch correlations for one datasource when initialized or datasource is changed
* Fix tests
* Fix remaining tests
* Use functional component to handle state
* Remove unneeded mocks, fix tests
* Change perPage to limit
* Fix Go Tests
* Fix linter
* Remove parameter
* Account for mixed datasources
* Delete unused hook
* add source UID filter to API, start backing out front end hook changes
* add source IDs to API, use when loading or changing datasource
* Fix prettier
* Mock correlations response
* Get correlations for all datasources in mixed scenario
* Add documentation for new parameters
* Attempt to fix swagger
* Fix correlations page
* add swagger and openapi docs
* Add mocks to failing test
* Change API for consistency, remove extra hooks and unused function
* Add max to limit and re-gen api docs
* Move the page to the previous page if deleting all the rows on the page
* Only fetch if remove does not have value
* Change page to a reference hook
* Fix documentation, a test and some logic thinking page could be 0
* PanelChrome: Fixes issues with hover header and sizing panel above
* Update
* Make panel be focusable
* Fix tooltip when using keyboard nav
* Re-render grid when layout change to have dom positions match absolute css positions
* Fix clicking panel leaves hover header open
* Add component to display QueryOptions in editor
* Display QueryOptions in QueryWrapper
* Display real data for time range and max data points
* Improve QueryOptions styling
* Remove Portal from RelativeTimeRangePicker
* Prevent RefID from hiding on small screens
Fixes https://github.com/grafana/grafana/issues/70900
* Address review comments
* Fix lint
* change ConfirmButton to accept a function as a child so it can pass onClick to a custom child button
* spread button props instead
* update documentation
* remove duplicate line
* spread ref instead of className
* use cloneElement instead
* I18n:Mark up Permissions
* Mark up strings in Permissions file
* I18n:Mark up phrases for on Permissions drawer
* I18n:Mark up phrases for translation on Permissions page
* I18n:Mark up phrases for translation on Permissions page
* Made the changes based on suggestions received
* restore translations
* Run extract again
* Cleaned up solution and starting to make it work properly.
* will disable add button if no queries available.
* Changed so 'add to dashboard' is registered as an extension in explore.
* moved utility function to utils
* hides button if insufficent permissions.
* Fixed ts issue.
* cleaned up the code and change to using the 'getPluginLinkExtensions'
* Added values to explore context.
* truncating title in menu.
* added tests to verify explore extension point.
* fixed failing tests in explore.
* made excludeModal optional.
* removed temporary fix to force old button.
* reverted generated files.
* fixed according to feedback.
* Update public/app/features/explore/extensions/ToolbarExtensionPoint.test.tsx
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* Update public/app/features/explore/extensions/ToolbarExtensionPoint.test.tsx
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* added tests suggested in reviews.
* fixed failing tests after sync with main.
* replaced exploreId type with stirng.
* cleaned up code a bit more.
---------
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* Adds support for additional throughput units to `valueFormats`.
These new units are useful for streaming, e.g. Kafka or RedPanda, and database systems.
* Adds missing entries to the dev dashboard tests.
* Generate plugin version and remove lineage version
* Generate version for each major
* Remove pluginVersion from core plugins
* Remove code version generation
* Generate cue files
* Move grafana version into jenny
* fix go import
* Plugins: Angular detector: Remote patterns fetching
* Renamed PatternType to GCOMPatternType
* Renamed files
* Renamed more files
* Moved files again
* Add type checks, unexport GCOM structs
* Cache failures, update log messages, fix GCOM URL
* Fail silently for unknown pattern types, update docstrings
* Fix tests
* Rename gcomPattern.Value to gcomPattern.Pattern
* Refactoring
* Add FlagPluginsRemoteAngularDetectionPatterns feature flag
* Fix tests
* Re-generate feature flags
* Add TestProvideInspector, renamed TestDefaultStaticDetectorsInspector
* Add TestProvideInspector
* Add TestContainsBytesDetector and TestRegexDetector
* Renamed getter to provider
* More tests
* TestStaticDetectorsProvider, TestSequenceDetectorsProvider
* GCOM tests
* Lint
* Made detector.detect unexported, updated docstrings
* Allow changing grafana.com URL
* Fix API path, add more logs
* Update tryUpdateRemoteDetectors docstring
* Use angulardetector http client
* Return false, nil if module.js does not exist
* Chore: Split angualrdetector into angularinspector and angulardetector packages
Moved files around, changed references and fixed tests:
- Split the old angulardetector package into angular/angulardetector and angular/angularinspector
- angulardetector provides the detection structs/interfaces (Detector, DetectorsProvider...)
- angularinspector provides the actual angular detection service used directly in pluginsintegration
- Exported most of the stuff that was private and now put into angulardetector, as it is not required by angularinspector
* Renamed detector.go -> angulardetector.go and inspector.go -> angularinspector.go
Forgot to rename those two files to match the package's names
* Renamed angularinspector.ProvideInspector to angularinspector.ProvideService
* Renamed "harcoded" to "static" and "remote" to "dynamic"
from PR review, matches the same naming schema used for signing keys fetching
* Fix merge conflict on updated angular patterns
* Removed GCOM cache
* Renamed Detect to DetectAngular and Detector to AngularDetector
* Fix call to NewGCOMDetectorsProvider in newDynamicInspector
* Removed unused test function newError500GCOMScenario
* Added angularinspector service definition in pluginsintegration
* Moved dynamic inspector into pluginsintegration
* Move gcom angulardetectorsprovider into pluginsintegration
* Log errUnknownPatternType at debug level
* re-generate feature flags
* fix error log
* refactor: modify interfaces to make tooltip or aria-label required
* refactor: change functionality around aria-label and tooltip
* refactor: change and add information in storybook documentation
* refactor: remove default from tooltip
* refactor: IconButton to make tooltip or aria-label required
* refactor: Fix tests
* refactor: Fix tests
* refactor: Fix tests
* refactor: Fix tests
* feat: add migration guide for breaking change
* feat: add latest requirements to storybook docs
* refactor: separate iconbutton story with and without tooltip
* refactor: remove exported baseArgs
* refactor: clean up and restructure original story
* refactor: adjust styling
* refactor: enable control for tooltip
* refactor: clean up
* refactor: enable control for aria-label
* refactor: fix theme getting the wrong theme
* refactor: fix tests
* refactor: adjust story
* refactor: remove confusing story
* refactor: adjust controls for stories
* Add notification policies preview in alert rule form
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
* Refactor using new useGetPotentialInstances hook and apply some style changes
* Add notification policy detail modal
* Use backtesting api for simulating potential alert instances
* Fix logic to travserse all the children from the root route
* Split notification preview by alert manager
* Add instance count to matching policy header and fix some styles
* Move some logic to a new hook useGetAlertManagersSourceNames to make the code more clean
* Fix some tests
* Add initial test for NotificationPreview
* Use button to preview potential instances
* Add link to contact point details
* Add route matching result details
* Show AlertManager image in the routing preview list
* Add tests setup, add single AM preview test
* Handle no matchers and no labels use case
* Update some style in collapse component and fix policy path in modal
* Update modal styles
* Update styles
* Update collapse header styling
* Normalize tree nodes should happen before findMatchingRoutes call
* Fix findMatchingRoutes and findMatchingAlertGroups methods after reabasing
* Move instances matching to the web worker code
* Fix config fetching for vanilla prometheus AMs
* Add tests
* Add tests mocks
* Fix tests after adding web worker
* Display matching labels for each matching alert instance
* Add minor css improvements
* Revert changes added in Collapse component as we don't use it anymore
* Move the route details modal to a separate file
* Move NotificationRoute and preview hook into separate files
* Fix Alertmanager preview tests
* Fix tests
* Move matcher code to a separate file, improve matcher mock
* Add permissions control for contact point edit view link
* Fix from and to for the temporal use of backtesting api
* Fix tests, add lazy loading of the preview component
Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
* Fix preview test
* Add onclick on the header div so it collapse and expands when clicking on it, and update styles to be consistent with the rest of tables
* Adapt the code to the new rule testing endpoint definition
* Fix tests
* small changes after reviewing the final code
* compute entire inherited tree before computing the routes map
* Throw error in case of not having receiver in routesByIdMap and add test for the use case of inheriting receiver from parent to check UI throws no errors
* Add list of labels in the policy route path that produces the policy matchers to match potential instances
* Use color determined by the key, in label tags when hovering matchers in the policy tree
* Remove labels in modal and handle empty string as receiver to inherit from parent as we do with undefined
* Revert "Add list of labels in the policy route path that produces the policy matchers to match potential instances"
This reverts commit ee73ae9cf9.
* fix inheritance for computeInheritedTree
* Fix message shown when preview has not been executed yet
* First round for adressing PR review comments
* Adress the rest of PR review commments
* Update texts and rename id prop in NotificaitonStep to alertUid
---------
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
* user essentials mob! 🔱
lastFile:packages/grafana-ui/src/components/Monaco/CodeEditor.internal.story.tsx
* user essentials mob! 🔱
lastFile:packages/grafana-ui/src/components/Monaco/suggestions.ts
* user essentials mob! 🔱
lastFile:packages/grafana-ui/src/components/Monaco/CodeEditor.internal.story.tsx
* user essentials mob! 🔱
lastFile:packages/grafana-ui/src/components/Monaco/suggestions.ts
* remove duplicate editor from story
* remove suggestions from story
---------
Co-authored-by: Laura Benz <laura.benz@grafana.com>
Co-authored-by: Tobias Skarhed <tobias.skarhed@gmail.com>
Currently does not do anything as it is for use with a future enterprise PR
Eventually: "Enables writing multiple items from a single query within Recorded Queries"
* use custom name from legend
* revert prometheus change
* fix issue in the transformer and not prometheus
* getFrameDisplayName falls back to getFieldDisplayName already
* run prettier
* Update dependency @testing-library/dom to v9.3.0
* dedupe versions in the lockfile
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* add tests for empty dashboard page
* add tests for AddPanelButton
* export default components
* test +Add menu in dashboard page
* use userEvent instead of firing an event on the DOM itself
* fix test to match new analytic events
* refactor: tooltip is required
* refactor: add tooltips
* refactor: add tooltips
* refactor: add tooltips
* refactor: add tooltips
* refactor: add tooltips
* refactor: add tooltips
* refactor: adjust tests
* refactor: apply changes from code review
* refactor: adjust component for e2e test
* refactor: adjust fallback
* refactor: apply changes from code review
* refactor: apply changes from code review
* refactor: set IconButton default as type=button and remove from use cases
* refactor: remove aria-labels when duplicated and type=button from use cases
* refactor: clean up
* refactor: fix tests
* refactor: fix type errors
* refactor: remove changes in order in order to add them to a separate PR
* refactor: set IconButton default as type=button
* refactor: remove tooltip
* refactor: apply changes requested in review