* fix(card): defend against invalid elements types passed to BaseActions
* test(card): add test to support conditional buttons being passed in
* fix(playlistpage): remove disabled prop from LinkButton for editors
* chore(playlistpage): remove title from edit button
* Annotations: Fix for update/save/delete annotation not appearing/disappearing
* Annotations: Fix so adds, updates and deletes are shown correctly
* Chore: updates after PR comments
* UnsavedChanges: Move Change tracker to use Prompt
* Fix a lot of race conditions and stacking of changes in onConfirm and onDismiss
* Listen to save event
* add missing delay argument
* migrated the change tracker unit tests
* Updated snapshot
* Removed unessary action
* removed updateSourcePanel
* Fix hiding save library panel modal prompt when clicking discard
* change saved libray panel title and buttons so they are a bit different as Prompt and when used from save button
* Fixed issue with saving new dashboard
* Now all scenarios work
* increase wait time
* Fixed one more race condition
* Dashboard: Fix Table view when editing causes the panel data to not update
- Add event subscription on PanelEditorTableView
- Extract runAllPanelQueries into Panel Model in order to use it on PanelChrome and PanelEditorTableView
- Add simple unit test for runAllQueryPaneQueries
* Switch to GraphNG for Logs Histogram
* Remove redundant timeZone
It was used just to format timestamp in the tooltip but it's not needed anymore.
* Add tests for creating logs histogram data
* Update decoractors tests
* Adjust bar width to be more like in the old graph
* Fix tooltip pointer color
* Test tooltip pointer color
* Decouple graph config from uPlot internals
* Ensure nested properties are not mutated when overrides are applied
* Add legend toggling for Explore graphs
* Remove unused component
ExploreGraphNGPanel is now used in Explore
* Code formatting
* allow multiple bars pathBuilders to be globally cached with different settings
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
* Docs: Settings updates on runtime docs skeleton
* Docs: Settings HTTP API
* Docs: Minor changes on settings updates at runtime docs
* Docs: Settings updates at runtime description
* Docs: Minor fix
* Docs: Move PUT /api/admin/settings docs into Admin API page
* Docs: Added longer explanation into 'Settings updates at runtime' page
* Apply suggestions from code review
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Leonard Gram <leo@xlson.com>
* Docs: Include order of precedence description at settings updates page
* Update docs/sources/http_api/admin.md
* Docs: Add link to main configuration page from Settings updates at runtime
* Apply suggestions from code review
Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Leonard Gram <leo@xlson.com>
Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
Threema Gateway supports two types of IDs: Basic IDs (where the
encryption is managed by the API server) and End-to-End IDs (where the
keys are managed by the user).
This plugin currently does not support End-to-End IDs (since it's much
more complex to implement, because the encryption needs to happen
locally). Add a few clarifications to the UI.
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
this should help Live to be enabled by default but still
do not affect setups with lots of simultenious users. To
properly handle many WS connections Grafana administrators
should tune infrastructure a bit - for example increase a
number of open files for a process. Will be in more details
in documentation.
* fix(dashboardpage): add padding so add panel chrome isnt cut off
* fix(addpanelwidget): introduce wrapping element to cater for pulsate animation offset
* refactor(addpanelwidget): use spacing.xs rather than spacing.sm
* test(addpanelwidget): update snapshot
* Show node graph collapsed by default with trace view
* Fix rename variable
* Change the message
* Add test
* Fix e2e test
* Remove expect in exemplars test
* Align icon
* review fixes
* fix(pagetoolbar): pad elements top and bottom to keep vertical align and wrapper padding
* fix(sidemenu): prevent mobile sidemenu squashing dashboard, vertically align mobile sidemenu icon
* fix(dashboardsettings): prevent subheader overlap
* fix(pagetoolbar): center align all toolbar elements vertically
* refactor(pagetoolbar): combine vertical paddings to bring back original padding values
* refactor: update padding values for components that use PageToolbar
* fix(playlists): update Empty cta link route to prevent 404
* test(dashboard): update snapshot
* starting to add eval logic.
* wip
* first version of test rule.
* reverted file.
* add info colum to result to show error or (with CC evalmatches)
* fix labels in evalmatch
* fix be test
* refactored using observables.
* moved widht/height div to outside panel rendere.
* adding docs api level.
* adding container styles to error div.
* increasing size of preview.
Co-authored-by: kyle <kyle@grafana.com>
* WIP: Implement simple caching
* If results are cached, don't run new query and use those results
* Add duplicate key check
* Clean up
* Clean up
* Add tests for caching
* Remove unused variables
* Update public/app/features/explore/state/query.test.ts
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* Update public/app/features/explore/state/query.test.ts
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* Use decorateData to apply all decorators
* Remove unused variables
* Change loading stte to Done
* Clear cache when running query from navigation
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* Invoke setScrollTop callback only after scrolling finishes
When the state is updated while scroll events are being dispatched (like in QueryGroup) it may cause resetting the scroll position to the first emitted event because setting the scroll happens only after render (useEffect).
* Memoize onScrollStop callback
* Allow Route component usage in app plugins
* i tried
* fix catalog app
* fix catalog app
* remove catalog changes from this PR
* remove extra files
* feat(plugins): expose react-router to plugins rather than export via grafana-ui
* Bring back query and pathname to AppRootPage and add deprecation notice
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* Adding simplified version of query editor based on app flag.
* cleaned up the absolute time range.
* changing placeholder text.
* updated snapshot.
* added some tests.
* adding loki query editor tests.
* updating snapshots.
* VizWrapper to handle some state
* alertingqueryrunner first edition
* added so we always set name and uid when changing datasource.
* wip.
* wip
* added support for canceling requests.
* util for getting time ranges for expression queries
* remove logs, store data in state
* merge from run branch
* incremental commit
* viz working
* added structure for marble testing.
* paddings and move viz picker
* less height for viz, less width on rows
* change so the expression buttons doesnt submit form.
* fixed run button.
* replaced mocks with implementation that will set default query + expression.
* merge with run queries
* fixed so we set a datasource name for the default expression rule.
* improving expression guard.
* lots of styling fixes for viz
* adding placeholder for relative time range.
* fixed story.
* added basic structure to handle open/close of time range picker.
* removed section from TimeOptions since it isn't used any where.
* adding mapper and tests
* move relativetimepicker to its own dir
* added some simple tests.
* changed test.
* use relativetimerangeinput
* redo state management
* refactored the tests.
* replace timerange with relativetimerange
* wip
* wip
* did some refactoring.
* refactored time option formatting.
* added proper formatting and display of time range.
* add relative time description, slight refactor of height
* fixed incorrect import.
* added validator and changed formatting.
* removed unused dep.
* reverted back to internal function.
* fixed display of relative time range picker.
* fixed failing tests.
* fixed parsing issue.
* fixed position of time range picker.
* some more refactorings.
* fixed validation of really big values.
* added another test.
* restored the step2 check.
* fixed merge issue.
* Update packages/grafana-ui/src/components/Forms/RadioButtonGroup/RadioButtonGroup.tsx
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
* reverted change.
* fixed merge conflict.
* fixed todo.
* sort some paddings
* replace theme with theme2
Co-authored-by: Peter Holmberg <peter.hlmbrg@gmail.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
* Show log details in Logs panel
* Add hide log details as panel option
* Refactor tests to use testing library
* Change hideLogDetails to enableLogsDetails
* Add enableLogDetails to test file
* Dashboard: Fix editing panel with auto-refresh
- Add default hidden and disabled auto-refresh option on the editing panel
- Extend unit test for DashboardModel
- Add unit test DashNavTimeControls component
* Use state.eventBridge for errors only if angular editor (some SQL data sources are still listening on this)
* Update public/app/features/explore/state/query.ts
* Update public/app/features/explore/state/query.ts
* add field to plugin meta
* only show cache settings if pluginMeta has "isBackend"
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* MinMax: Highlight issues with skipping field overrides
* check global range
* more selective
* basic test
* moved into getFieldDisplayValues
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* add uninstall flow
* add install flow
* small cleanup
* smaller-footprint solution
* cleanup + make bp start auto
* fix interface contract
* improve naming
* accept version arg
* ensure use of shared logger
* make installer a field
* add plugin decommissioning
* add basic error checking
* fix api docs
* making initialization idempotent
* add mutex
* fix comment
* fix test
* add test for decommission
* improve existing test
* add more test coverage
* more tests
* change test func to use read lock
* refactoring + adding test asserts
* improve purging old install flow
* improve dupe checking
* change log name
* skip over dupe scanned
* make test assertion more flexible
* remove trailing line
* fix pointer receiver name
* update comment
* add context to API
* add config flag
* add base http api test + fix update functionality
* simplify existing check
* clean up test
* refactor tests based on feedback
* add single quotes to errs
* use gcmp in tests + fix logo issue
* make plugin list testing more flexible
* address feedback
* fix API test
* fix linter
* undo preallocate
* Update docs/sources/administration/configuration.md
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Update docs/sources/administration/configuration.md
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Update docs/sources/administration/configuration.md
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* fix linting issue in test
* add docs placeholder
* update install notes
* Update docs/sources/plugins/marketplace.md
Co-authored-by: Marcus Olsson <marcus.olsson@hey.com>
* update access wording
* add more placeholder docs
* add link to more info
* PR feedback - improved errors, refactor, lock fix
* improve err details
* propagate plugin version errors
* don't autostart renderer
* add H1
* fix imports
* feat(bundled-plugins): introduce marketplace-app to the repo
* chore(marketplace-app): remove backend
* feat(marketplace): nav is only visible to admins
* feat(marketplace): use gnet api
* refactor(marketplace): move styles to theme2 move card concerns to card component
* feat(marketplace): introduce loaders, clean up styles
* refactor(marketplace): wip - debugging for api endpoints
* feat(grafana-ui): introduce height prop to Layout components
* refactor(marketplace): clean up org details component
* fix(marketplace): display search results without active filters
* refactor(marketplace): use grafana api for install/uninstall
* refactor(marketplace): remove pluginDir
* feat(marketplace): clean up Library page
* fix(plugins): get panel plugins from meta for newly installed plugins
* fix(marketplace): fix multiple renders of InstallControls when installing/uninstalling plugins
* refactor(marketplace): componentise the loader
* chore(marketplace): remove unsigned plugins option
* refactor(marketplace): remove includeUnsigned from codebase
* refactor(marketplace): prefer useStyles over useTheme
* docs(marketplace): remove changelog and update readme
* Apply suggestions from code review
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* refactor(marketplace): prefer module over class for api
* refactor(marketplace): move updatePlugin to api
* refactor(marketplace): add PluginMeta to api to please TS
* feat(marketplace): always include pre-release in semver check
* chore(marketplace): remove redundant arch install code. backend handles it now
* feat(marketplace): add a link to browse page if library is empty
* refactor(marketplace): replace status with isLoading boolean for hooks
* refactor(marketplace): clean up async functions in InstallControls
* fix(marketplace): setInstalled false on successful uninstall
* include marketplace in bundled plugin test
Co-authored-by: Will Browne <will.browne@grafana.com>
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Marcus Olsson <marcus.olsson@hey.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* adding placeholder for relative time range.
* fixed story.
* added basic structure to handle open/close of time range picker.
* removed section from TimeOptions since it isn't used any where.
* adding mapper and tests
* move relativetimepicker to its own dir
* added some simple tests.
* changed test.
* use relativetimerangeinput
* redo state management
* refactored the tests.
* replace timerange with relativetimerange
* wip
* wip
* did some refactoring.
* refactored time option formatting.
* added proper formatting and display of time range.
* add relative time description, slight refactor of height
* fixed incorrect import.
* added validator and changed formatting.
* removed unused dep.
* reverted back to internal function.
* fixed display of relative time range picker.
* fixed failing tests.
* fixed parsing issue.
* fixed position of time range picker.
* some more refactorings.
* fixed validation of really big values.
* added another test.
Co-authored-by: Peter Holmberg <peter.hlmbrg@gmail.com>
* Add exploration option to node layout
* Add hidden node count
* Add grid layout option
* Fix panning bounds calculation
* Add legend with sorting
* Allow sorting on any stats or arc value
* Fix merge
* Make sorting better
* Reset focused node on layout change
* Refactor limit hook a bit
* Disable selected layout button
* Don't show markers if only 1 node is hidden
* Move legend to the bottom
* Fix text backgrounds
* Add show in graph layout action in grid layout
* Center view on the focused node, fix perf issue when expanding big graph
* Limit the node counting
* Comment and linting fixes
* Bit of code cleanup and comments
* Add state for computing layout
* Prevent computing map with partial data
* Add rollup plugin for worker
* Add rollup plugin for worker
* Enhance data from worker
* Fix perf issues with reduce and object creation
* Improve comment
* Fix tests
* Css fixes
* Remove worker plugin
* Add comments
* Fix test
* Add test for exploration
* Add test switching to grid layout
* Apply suggestions from code review
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* Remove unused plugin
* Fix function name
* Remove unused rollup plugin
* Review fixes
* Fix context menu shown on layout change
* Make buttons bigger
* Moved NodeGraph to core grafana
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* Store queries that were run to get log results
* Fix typing
* Update public/app/features/explore/Logs.tsx
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
* Add changes based on feedback
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
* Update UI
* Update UI, return spinner
* Add title to Scroll to top button
* Update public/app/features/explore/Logs.tsx
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
* Update public/app/features/explore/LogsNavigation.test.tsx
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
* Remove unnecessary memoization
* Update public/app/features/explore/LogsNavigationPages.tsx
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
* alternative mapping editor
* alternative mapping editor
* values updating
* UI updates
* remove empty operators
* fix types
* horizontal
* New value mapping model and migration
* DataSource: show the uid in edit url, not the local id (#33818)
* update mapping model object
* Update to UI
* fixing ts issues
* Editing starting to work
* adding missing thing
* Update display processor to use color from value mapping
* Range maps now work
* Working on unit tests for modal editor
* Updated
* Adding new NullToText mapping type
* Added null to text UI
* add color from old threshold config
* Added migration for overrides, added Type column
* Added compact view model with color edit capability
* [Alerting]: store encrypted receiver secure settings (#33832)
* [Alerting]: Store secure settings encrypted
* Move encryption to the API handler
* CloudMonitoring: Migrate config editor from angular to react (#33645)
* fix broken config ctrl
* replace angular config with react config editor
* remove not used code
* add extra linebreak
* add noopener to link
* only test jwt props that we actually need
* Elasticsearch: automatically set date_histogram field based on data source configuration (#33840)
* Docs: delete from high availability docs references to removed configurations related to session storage (#33827)
* docs: delete from high availability docs references to removed configurations related to session storage
* docs: remove session storage mention and focus on the auth token implementation
* fix postgres to have precision of ms (#33853)
* Use ids for enterprise nav model items (#33854)
* Alerting: Disable dash alerting if NG enabled (#33794)
* Scuemata: Add grafana-cli cue schema validation to CI (#33798)
* Add scuemata validation in CI
* Fixes according to reviewer's comments
* Ensure http client has no timeout (#33856)
* Redact sensitive values before logging them (#33829)
* use a common way to redact sensitive values before logging them
* fix panic on missing testCase.err, simplify require checks
* fix a silly typo
* combine readConfig and buildConnectionString methods, as they are closely related
* Tempo: Search for Traces by querying Loki directly from Tempo (#33308)
* Loki query from Tempo UI
- add query type selector to tempo
- introduce linkedDatasource concept that runs queries on behalf of another datasource
- Tempo uses Loki's query field and Loki's derived fields to find a trace matcher
- Tempo uses the trace-to-logs mechanism to determine which dataource is linked
Loki data loads successfully via tempo
Extracted result transformers
Skip null values
Show trace on list id click
Query type selector
Use linked field trace regexp
* Review feedback
* Add isolation level db configuration parameter (#33830)
* add isolation level db configuration parameter
* add isolation_level to default.ini and sample.ini
* add note that only mysql supports isolation levels for now
* mention isolation_level in the documentation
* Update docs/sources/administration/configuration.md
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Drawer: fixes title overflowing its container (#33857)
* Timeline: move grafana/ui elements to the panel folder (#33803)
* revendor loki with new Tripperware (#33858)
* live: move connection endpoint to api scope, fixes#33861 (#33863)
* OAuth: Add support for empty scopes (#32129)
* add parameter empty_scopes to override scope parameter with empty value and thus be able to authenticate against IdPs without scopes. Issue #27503
Update docs/sources/auth/generic-oauth.md
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* updated check according to feedback
* Update generic-oauth.md
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Prometheus: Fix exemplars hover disappearing and broken link (#33866)
* Revert "Tooltip: eliminate flickering when repaint can't keep up (#33609)"
This reverts commit e159985aa2.
* Fix exemplar linking
Co-authored-by: David Kaltschmidt <david.kaltschmidt@gmail.com>
* Removed content as per MarcusE's suggestion in https://github.com/grafana/grafana/issues/33822. (#33870)
* Fixed grammar usage. (#33871)
* Explore: Wrap each panel in separate error boundary (#33868)
* New Panel: Histogram (#33752)
* Sanitize PromLink button (#33874)
* Refactor and unify option creation between new visualizations (#33867)
* Refactor and unify option creation between new visualizations
* move to grafana/ui
* move to grafana/ui
* resolve duplicate scale config
* more imports
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* Live: do not show connection warning when on the login page (#33865)
* enforce receivers align with backend type when posting AM config (#33877)
* special values
* merge fix
* Document `hide_version` flag (#33670)
Unauthenticated users can be barred from being shown the current Grafana server version since https://github.com/grafana/grafana/pull/24919
* GraphNG: always use "x" as scaleKey for x axis (#33884)
* Timeline: add support for strings & booleans (#33882)
* Chore(deps): Bump hosted-git-info from 2.8.5 to 2.8.9 (#33886)
Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.5 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.5...v2.8.9)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* merge with torkel
* add empty special character
* Fixed centered text in special value match select
* fixed unit tests
* Updated snapshot
* Update dashboard page
* updated snapshot
* Fix more unit tests
* Fixed test
* Updates
* Added back tests
* Fixed doc issue
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
Co-authored-by: Erik Sundell <erik.sundell@grafana.com>
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
Co-authored-by: Daniel dos Santos Pereira <danield1591998@gmail.com>
Co-authored-by: ying-jeanne <74549700+ying-jeanne@users.noreply.github.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Kyle Brandt <kyle@grafana.com>
Co-authored-by: Dimitris Sotirakis <dimitrios.sotirakis@grafana.com>
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
Co-authored-by: David <david.kaltschmidt@gmail.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Uchechukwu Obasi <obasiuche62@gmail.com>
Co-authored-by: Owen Diehl <ow.diehl@gmail.com>
Co-authored-by: Alexander Emelin <frvzmb@gmail.com>
Co-authored-by: jvoeller <48791711+jvoeller@users.noreply.github.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
Co-authored-by: Tristan Deloche <tde@hey.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Unify tooltip options across visualizations
* Update tests
* use addTooltipOptions in piechart
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
* WIP: intial structure
* Refactor: adds create library element endpoint
* Feature: adds delete library element
* wip
* Refactor: adds get api
* Refactor: adds get all api
* Refactor: adds patch api
* Refactor: changes to library_element_connection
* Refactor: add get connections api
* wip: in the middle of refactor
* wip
* Refactor: consolidating both api:s
* Refactor: points front end to library elements api
* Tests: Fixes broken test
* Fix: fixes delete library elements in folder and adds tests
* Refactor: changes order of tabs in manage folder
* Refactor: fixes so link does not cover whole card
* Update pkg/services/libraryelements/libraryelements.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
* Update pkg/services/libraryelements/libraryelements_permissions_test.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
* Update pkg/services/libraryelements/database.go
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
* Chore: changes after PR comments
* Update libraryelements.go
* Chore: updates after PR comments
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
* Initial work
* WIP add cursor in debug panel
* shared cursor.sync filter
* explicit uplot events
* explicit uplot events
* uplot events
* uplot events
* depend on master uplot
* sync sync sync
* Fix merge
* Get rid of PlotSyncContext and sync tooltip positions
* make sync optional
* Improve shared tooltip positioning
* Plugins: add level and signature badges to plugin details page (#33553)
* feat(grafana-ui): badge can accept react node for text, add shield-exclamation to icons
* feat(plugins): add PluginSignatureType type
* feat(pluginpage): introduce PluginSignatureDetailsBadge. Fix sidebar icon margin
* feat(pluginlistpage): update filterinput placeholder, introduce filter by plugin type
* Variables: Removes the never refresh option (#33533)
* Variables: Removes the never refresh option
* Tests: fixes DashboardModel repeat tests
* Tests: fixs snapshots
* Tests: fixes processVariable test
* Tests: fixes DashboardModel tests
* PageLayout: Fixes max-width breakpoint so that it triggers only when there is room for margin+ (#33558)
* Alerting: Remove datasource (name) from migration (#33544)
no longer needed as of https://github.com/grafana/grafana/pull/33416
for https://github.com/grafana/alerting-squad/issues/126
* Library panels: Adds description to library panels tab (#33428)
* CodeOwners: Set owners of unified alerting migration (#33571)
* ButtonSelect: updates component with the new theme model (#33565)
* EmptySearchResult: updates component with the new theme model (#33573)
* DashboardSettings: Slight design tweak to fix page toolbar padding and align design (#33575)
* DashboardSettings: Slight design tweak to fix page toolbar padding and align design
* Fixed font weight
* Removed comment
* Update
* gitignore: Ignore files for accesscontrol provisioning (#33577)
* Alerting/metrics (#33547)
* moves alerting metrics to their own pkg
* adds grafana_alerting_alerts (by state) metric
* alerts_received_{total,invalid}
* embed alertmanager alerting struct in ng metrics & remove duplicated notification metrics (already embed alertmanager notifier metrics)
* use silence metrics from alertmanager lib
* fix - manager has metrics
* updates ngalert tests
* comment lint
Signed-off-by: Owen Diehl <ow.diehl@gmail.com>
* cleaner prom registry code
* removes ngalert global metrics
* new registry use in all tests
* ngalert metrics impl service, hack testinfra code to prevent duplicate metric registrations
* nilmetrics unexported
* Add note to Snapshot API doc to specify that user has to provide the entire dashboard model (#33572)
* Added note as suggested by Macus E.
* Update docs/sources/http_api/snapshot.md
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
* Alerting: backend "ng" code cleanup (#33578)
* AlertMigration: remove alert_rule UID db check (#33568)
do not believe this is needed due to uniqueness promised by shortid lib
since there is no provisioning yet. https://github.com/teris-io/shortid
* Live: persisting last message in cache for broadcast scope (#32938)
* Alerting: Load annotations from rule into State cache (#33542)
for https://github.com/grafana/alerting-squad/issues/127
* add template for dashboard url parameters (#33549)
* Update dashboard-links.md
parameters with plain text like `var-something=value` can make confusion.
template it to clarify .
* describe way for template link.
* AlertingMigration: Create alert_rule_version entry (#33585)
Create the alert rule version entry during the migration so it is consistent with rules created via api.
for https://github.com/grafana/alerting-squad/issues/123
* Build: Fix with cleanup call maybe? (#33590)
* add selector for code editor (#33554)
* broadcast over eventBus
* broadcasting to eventbus (but not useing it yet)
* merge master
* moved to context
* fix yarn.lock
* update snapshot
* Fix direct state mutation
* Persist location state on partial updates
* GraphNG- use getStream rather than subscribe
* Sync LegacyGraphHoverEvent with GraphNG
* Chenge plotRef signature
* use subscription
* subscription
* one fewer file
* Update types
* Remove unnecessary filtering
* Disable cursor sync when in edit mode
* GraphNG - bring back logging
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.org>
Co-authored-by: Kyle Brandt <kyle@grafana.com>
Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
Co-authored-by: Uchechukwu Obasi <obasiuche62@gmail.com>
Co-authored-by: gamab <gamab@users.noreply.github.com>
Co-authored-by: Owen Diehl <ow.diehl@gmail.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
Co-authored-by: Alexander Emelin <frvzmb@gmail.com>
Co-authored-by: Nagle Zhang <nagle.zhang@sap.com>
Co-authored-by: Erik Sundell <erik.sundell@grafana.com>
* PanelEdit: Adds raw data toggle to quickly be able to view data in table form
* With transforms
* Updated name for toggle
* refactoring and added e2e test
* Support options
* fixing e2e
* Create basic prototype for Loki integration
* Simplify importing queries
* Code clean-up
* Add test coverage and info box
* Remove test data script
* Update help
* Use less space for mappings info
* Make help screen dismissable
* Make mappings help more generic
* Convert learn more to a link
* Remove unused param
* Use a link Button for help section
* Add an extra line for better formatting
* Update public/app/plugins/datasource/graphite/configuration/MappingsHelp.tsx
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Update public/app/plugins/datasource/graphite/configuration/MappingsHelp.tsx
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Re-arrange lines
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* support default
* fix
* fix
* fix better
* Refactor: simplifies the logic a bit and changes test description
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
* LibraryPanels: Adds folder filter
* Refactor: Adds folder filter to library search
* Refactor: splits huge function into smaller functions
* LibraryPanels: Adds Panels Page to Manage Folder tabs (#33618)
* Chore: adds tests to LibraryPanelsSearch
* Refactor: Adds reducer and tests
* Chore: changes GrafanaThemeV2
* Refactor: adds folderName to get all result
* Refactor: adds folderName to get result
* Refactor: adds folder name to LibraryPanelDTOMeta
* Refactor: adds folder name to lbirary panels result
* Chore: reverts public/app/routes/routes.tsx to master
* Minor style tweak
* Refactor: adds folder uid to meta
* Chore: updates after PR comments
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* alertingqueryrunner first edition
* added so we always set name and uid when changing datasource.
* wip.
* wip
* added support for canceling requests.
* util for getting time ranges for expression queries
* remove logs, store data in state
* added structure for marble testing.
* change so the expression buttons doesnt submit form.
* fixed run button.
* replaced mocks with implementation that will set default query + expression.
* fixed so we set a datasource name for the default expression rule.
* improving expression guard.
* Update public/app/features/alerting/components/AlertingQueryEditor.tsx
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
* fixed some nits.
* some refactoring after feedback.
* use grafanthemev2
* rename grafanatheme
* fixing so we convert to correct relative time range.
* added some more tests.
* fixing so duplicating query works.
* added some more tests without marbles.
* small refactoring to share code between runRequest and alerting query runner.
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
* Alerting: Support for alerting for react panels, and lots of fixes to alert annotations for both react and angular
* Fix showing annotations in panel edit
* Theme: Page styles move to emotion global styles and design tweaks
* More style tweaks
* tweaks
* Updating snapshots
* Another fix
* Another fix
* minor fix
* More style tweaks to page toolbar and alert rule page
* minor polish
* Move fitlering and deduplication to comnponent to enable future caching
* Clean up LogsMetaInfo
* Update
* Memoize component
* Fix type errors
* Clean uo
* Add tests for filtering in combination with deduplication
* initial commit.
* Some more improvements to the expression data source support.
* added tests to verify that time range picker and data source picker only is visible when callbacks is passed to row.
* fixing issue with filter in alerting list.
* minor refactoring.
* removed guarding code, should be fixed in backend.
* cleaning the data query if we change to a different data source.
* WIP updating getColorForTheme
* Progress
* More fixes
* Updating more parts
* Fixing unit tests
* Fixing more tests
* Fixing storybook issues
* More refactoring
* Fixed test
* chore: expose theme types / functions
* fix(grafana-ui): withTheme2 extends themeable2
* feat: migrate page components to use new theme
* refactor(pages): replace legacy form components with latest form components
* refactor(dashboardimport): update page component to use theme spacing
* refactor(alerting-ng): update page component to use v2 theme
* test(dashboardpage): update test for v2 theme
* test(apikeyspage): update test to select InlineSwitch component
* test(createteam): update snapshot
* refactor(playlist): update page components to use v2 theme
* refactor(page): put back classes on page-container and background colors
* HelpModal: Migrates to new style
* Alerting: Migrates how to do alerting modal to React
* ApiKeysModal: migrates to new theme
* Dashboard: View dasboard json modal migrated to React and new theme
* PluginPage: migrates update plugin modal to react and new theme
* Chore: deprecates events and functions
* Simplify help modal
* Updated json modal to use Modal.ButtonRow
* Tweak to api key design
* Tests: updates snapshot
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Wip
* Updates to colors to make secondary outline work
* refactor: prefer buttonStyle="text" over variant="link" for text buttons
* revert(button): put back mdx story page
* fix(button): variant link disabled as text disabled
* docs(button): remove link variant from stories
* feat(grafana-ui): introduce basic deprecation notice for button and linkbutton components
* docs(button): update usage of href with button and buttonlink
* feat(button): add grafana/ui to deprecation warning
* refactor(buttons): use a more descriptive name for prop warning function
* test(buttonrow): update snapshots
* refactor(buttons): change prop name from buttonStyle to fill
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Modals: Style update draft
* Modal.ButtonRow to control spacing better in a centralised way
* Remove header border if no tabs
* Added border and made buttons right aligned and changed order of buttons
* Updating the overlay
* Tweaks to paddings
* Updated share modals
* Hoovering over a legend label hightlighs that pie slice
* Change to event bus
* Adds EventBusWithSource to help identify the origin of the event
* Add tests and fix bug with incorrect source
* Clean up PieChart and EventBus a bit
* Fix bug when payload.source is undefined
* Add some documentation and adjust naming
* useState instead of useSetState
* Clean up some more documentation
* Move eventbus to state
* add event bus actions to the debug panel
* add event bus actions to the debug panel
* Try to make the naming a bit clearer
* Try passing eventbus as context
* Fix lint issues
* Move event bus context to panel chrome
* Fix event handler functions
* switch to using useCallback for legend item callbacks
* Remove unused parameters
* Add id to panel fixture of PanelChrome test
* Simplify event source
* Place eventBus inside more generic context
* Push handling of context up the tree to VizLegend
only export usePanelContext and PanelContextProvider
implement isOwnEvent on EventBus
some cleanup
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* Move data alignment to panel
* Make uPlot plugins sync, bring back alignment to GraphNG
* Update GraphNG-like panels
* Update explore graph ng
* Cleanup unnecessary tests
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
* WIP: initial commit
* Fix: Fixed $timeout call when testing snapshots
* Chore: reverts changes to metrics_panel_ctrl.ts
* Chore: reverts changes to annotations_srv
* Refactor: adds DashboardQueryRunner.run to initdashboard
* Refactor: adds run to dashboard model start refresh
* Refactor: move to own folder and split up into smaller files
* Tests: adds tests for LegacyAnnotationQueryRunner
* Tests: adds tests for AnnotationsQueryRunner
* Tests: adds tests for SnapshotWorker
* Refactor: renames from canRun|run to canWork|work
* Tests: adds tests for AlertStatesWorker
* Tests: adds tests for AnnotationsWorker
* Refactor: renames operators
* Refactor: renames operators
* Tests: adds tests for DashboardQueryRunner
* Refactor: adds mergePanelAndDashboardData function
* Tests: fixes broken tests
* Chore: Fixes errors after merge with master
* Chore: Removes usage of AnnotationSrv from event_editor and initDashboard
* WIP: getting annotations and alerts working in graph (snapshot not working)
* Refactor: fixes snapshot data for React panels
* Refactor: Fixes so snapshots work for Graph
* Refactor: moves alert types to grafana-data
* Refactor: changes to some for readability
* Tests: skipping tests for now, needs rewrite
* Refactor: refactors out common static functions to utils
* Refactor: fixes resolving annotations from dataframes
* Refactor: removes getRunners/Workers functions
* Docs: fixes docs errors
* Docs: trying to fix doc error
* Refactor: changes after PR comments
* Refactor: hides everything behind a factory instead
* Refactor: adds cancellation between runs and explicitly
* refactor(loginpage): migrate custom button styles to use Button component
* refactor(certificationkey): prefer grafana-ui form elements over html elements and classnames
* refactor(axisselector): prefer grafana-ui Button component over html button element
* refactor(input-datasource): replace use of btn class with grafana-ui components
* chore(grafana-ui): delete deprecated ToggleButtonGroup component
* refactor: replace btn and cta-form__close class usage with IconButton
* chore(closebutton): post master merge use v2 theme
* refactor(permissionlist): remove usage of .btn classname
* Wip
* docs(styling): update styling and theme docs import paths
* refactor(alerting): remote btn classnames from TestRuleResult
* refactor(apikeys): prefer grafana-ui Button components over btn classNames
* refactor(folders): prefer grafana-ui Button components over btn classNames
* refactor(teams): prefer grafana-ui Button components over btn classNames
* refactor(datasources): prefer grafana-ui Button components over btn classNames
* refactor: prefer grafana-ui Button components over btn classNames
* Minor style tweak to service buttons
* test: update snapshots related to button changes
* chore(input-datasource): remove unused import declaration
* refactor(loginservicebuttons): rename theme.palette to theme.colors
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Theme: Update theme layering
* More updates
* Updates to shadows and dropdowns
* Moved panel option group to emotion global styles
* more minor fixes
* Card: migrates styles from sass to emotion
* removed LayoutSelector component since it's not used in the codebase
* updates card styles with new color name
* fix viz
* add datasource picker on query rows in mixed mode
* add timerange, handle add/remove queryrunners
* multiqueryrunner test
* trying things out.
* adding another test to verify running a induvidual query runner will update multirunner.
* cleaned up tests a bit.
* draft version working ok.
* fixing so we base the refId from request targets.
* reenable adding expression
* layout fixes for alerting page
* some cleanup
* cleaning up code that we won't use
* changed so we don't display the time range if params not passed.
* remove unused things in querygroup
* changed button to type button.
* removed timerange from dataQuery and removed multiquery runner.
* minor refactoring.
* renamed callback function to make it more clear what it does.
* renamed droppable area.
* changed so we only display the query editor when selecting threshold.
* removed the refresh picker.
* revert
* wip
* extending with data query.
* timerange fixes
* it is now possible to add grafana queries.
* removed unused type.
* removed expect import.
* added docs.
* moved range converting methods to rangeUtil.
* clean up some typings, remove file
* making sure we don't blow up on component being unmounted.
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
* DashboardPanel: migrates styling from sass to emotion
* fixes frontend test
* removed the theme since it doesn't have any use case in the styles
* updates frontend snapshot test
* WIP: Add more info ro log line limit, remove redundant info
* Refactor
* Clean up
* Adjust tests
* Adjust spacing
* Add test for new functionality
* Update snapshot
* Change solution, simplify
* Remove redundant variables, makees it more clear
* Update public/app/core/logs_model.ts
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* 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
* calculate schemaRevision in panel query runner
* schema > structureRev
* calculate revision after apply field overrides
* this.state
* don't apply field overrides if the shape is already the same
* check schema revision
* update snapshots
* feat(piechart): align styles between piechart and graph
* feat(piechart): introduce tooltip options to panel and visualisation
* feat(piechart): get tooltip options working
* feat(piechart): add SeriesTable to visx TooltipInPortal
* refactor(piechart): move getTooltipData out of PieSlice
* docs(piechart): fix storybook story errors
* feat(viztooltip): initial commit of common tooltip types and components
* refactor(viztooltip): rename type as enum and update usage
* refactor(viztooltip): move chart.tooltip into viztooltip and fix imports and typings
* refactor(viztooltip): update import paths and names where used
* docs(infotooltip): fix story import paths
* docs(piechart): fix typings in story
* docs(viztooltip): add public annotations to exported components and types
* GraphNG: Use new theme props
* Minor fix to letterspacing in button
* Minor tweaks
* Updated
* Revert to roboto
* Added concept of a dark or white base
* Style updates
* Sass
* Updated light text blue
* updates
* reverting button group design
* Fixed tests
* updates
* Updated tests
* Fallback to default data source in Explore and use uid for history
uid is used to allow changing the name of the datasource and preserve history
* Remove redundant console logs
* Chore: reduces strict error in OptionPicker tests
* Chore: reduces strict errors in FormDropdownCtrl
* Chore: reduces has no initializer and is not definitely assigned in the constructor errors
* Chore: reduces has no initializer and is not definitely assigned in the constructor errors
* Chore: lowers strict count limit
* Tests: updates snapshots
* Tests: updates snapshots
* Chore: updates after PR comments
* Refactor: removes throw and changes signature for DashboardSrv.getCurrent
* First iteration
* Dev dash
* Re-use StackingMode type
* Fix ts and api issues
* Stacking work resurected
* Fix overrides
* Correct values in tooltip and updated test dashboard
* Update dev dashboard
* Apply correct bands for stacking
* Merge fix
* Update snapshot
* Revert go.sum
* Handle null values correctyl and make filleBelowTo and stacking mutual exclusive
* Snapshots update
* Graph->Time series stacking migration
* Review comments
* Indicate overrides in StandardEditorContext
* Change stacking UI editor, migrate stacking to object option
* Small refactor, fix for hiding series and dev dashboard