* Move TraceView to core grafana
* Remove unused code
* yarn install
* Remove jaeger-ui-components from CODEOWNERS and other tools
* Type fixes
* yarn install
* Remove mock that we no longer need
* Fix merge conflicts
* Re-add Apache license for trace view components
* Use an exclamation-circle instead of triangle to denote errors
* Remove eslint disables and update betterer results instead
* add loki contextfilter component
* add `getLogRowContextUi` support to DataSourceAPI
* add `runContextQuery` to LogRowContextProvider
* pass `getRowContextUi` to `LogRowContext`
* adapt LogRowContext to show datasource ui
* implement LogRowContextUi in Loki
* add `logsContextDatasourceUi` feature flag
* change state to `Alpha`
* disable the feature if `logsContextDatasourceUi` is not set
* don't fetch labels in the constructor
* adjust to right height
* remove unnecessary eslint disable
* add test for LokiContextUi
* move code down in datasource.ts
* rename `refresh` to `runContextQuery`
* update datasource tests
* don't update if `updateFilter` fn changes
* organized imports in datasource.test.ts
* don't trigger on intialization changes
* change tag to `experimental`
* move `getLogRowContextUi` to props
* InfluxDB: Send retention policy with InfluQL queries if it's been specified.
In InfluxDB v2, due to technical limitations of the InfluxDB v1
compatibility layer, retention policies in a query (e.g. "<retention
policy>.<measurement_name>") aren't honored and must be specified in the
URL query parameter `rp` to be applied. Grafana doesn't send this query
parameter which results in all queries resolving to the default
retention policy when querying InfluxDB v2 servers using InfluxQL.
This addresses the issue by sending the `rp` query parameter for queries
that have specified a retention policy in the `target` given to
`runExploreQuery`.
The outcomes are:
1. InfluxQL queries executed against InfluxDB v2 databases will have the
necessary retention policy information for queries like `SHOW FIELD
KEYS FROM measurement` to function correctly.
2. InfluxQL queries executed against InfluxDB v1 databases will be
unaffected, because this `rp` query parameter is unsupported there.
You can read more about the rentention policy mapping behavior of
InfluxDB v2 in our documentation:
- https://docs.influxdata.com/influxdb/v2.6/reference/api/influxdb-1x/dbrp/#when-querying-data
- https://docs.influxdata.com/influxdb/v2.6/reference/api/influxdb-1x/query/#query-a-non-default-retention-policy
* Use the ? operator
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* schematize data query
* add the stuff you dingus
* feat(testdatasource): add scenario to generated types
* use generated testdata query in frontend
* update code owners
* Add path exception for testdata datasource
* use specific numeric data types
* fix test
* fix e2e smoketest
* add test data query type
* use test data query type
* fix betterer
* Fix typo
* move to experimental
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: sam boyer <sdboyer@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* Fix recording rules being shown in the rules table on edit group modal
* Show no alerts message when there is not some non-recording rules and add tests
* Move specific mock constants to the test file
* Add config to remove Snapshot functionality (frontend is hidden and validation in the backend)
* Add test cases
* Remove unused mock on the test
* Moving Snapshot config from globar variables to settings.Cfg
* Removing warnings on code
* QueryEditorRow: Fixes issue loading query editor when data source variable selected
* Fix func name
* Removed wait
* restore waiting for with better check
* restore waiting for with better check
* Adapt state timeline to scuemata
* Refactor status history to cue model
* Refactor
* Refactor TimelineChart as a core component
* wip
* Change as per CR
Co-authored-by: sam boyer <sdboyer@grafana.com>
* Add schema for XYChart
* Minor cleanup
* remove unessecary fields from ScatterFieldConfigVeneer, and cleaning up more
* Fix counts
Co-authored-by: sam boyer <sdboyer@grafana.com>
* add: skip_org_role_sync setting for github
* fix: frontend
* rearranged tests
* refactor: assignGrafanaAdmin skip also
* Add: tests for allowGrafanaAdmin
- both for the case when both settings are set and the setting for only
allowGrafanaAdmin
* Apply suggestions from code review
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-grafana/_index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update pkg/login/social/github_oauth.go
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
* added vairable inside scope
* Update docs/sources/setup-grafana/configure-security/configure-authentication/github/index.md
* Update docs/sources/setup-grafana/configure-security/configure-authentication/github/index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
* Fix recording rules form steps not showing alert information
* Fix docs about creating cloud and recording rules
* Update docs with suggested changes
* Implement log samples
* Explore: Implement logs sample panel
* Log samples: Add documentation
* Update docs
* Add info for log sample
* Fix label
* Update
* Default to true
* Fix copy in test
* Update public/app/features/explore/LogsSamplePanel.tsx
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
* Use timeZone from grafana/schema
* Rename data props to queryResponse
* Unify name to logs sample
* Remove redundant optional parameters in LogsSamplePanel
* Make intervalMs parameter optional in dataFrameToLogsModel and remove undefined argument when not needed
* Fix incorrect position of copy log line button
* Update public/app/core/logsModel.ts
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
* Add list of bindings for updating on change
* Revert "Add list of bindings for updating on change"
This reverts commit 092707371d.
* Clear keybindings before component render
* Reduce size of topnav search 'input' to 1/5th of the width, min width 200px
* Open command palette on topnav search box click
* Rename component
* fix comment
* feature flag the change
* update feature flag description
* correct link
Signed-off-by: Joe Elliott <number101010@gmail.com>
* lint
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
* rename routes and fix access control for support bundles
* AccessControl: Hide menu if not authorized
* AccessControl: Add AC guards for create and delete
* lint
* fix: use the correct URL for editing datasource dashboards
* feat: show the Datasource/Dashboards page under Connections as well
* refactor: remove unnecessary `useNavModel()` utility
* feat: add a utility for creating the nav-model for DS settings tabs
* refactor: use nav-model crating utility in Edit Datasource
* 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
* build(webpack): replace babel-loader with esbuild-loader
* build(webpack): add esbuild minifier to production builds
* Wip
* Removed ngInject and replaced with manual inject params
* chore: bump esbuild to 0.15.13
* Fixed angular issues
* build(frontend): update esbuild to 0.16.16
* chore(webpack): support browserslist for esbuild
* build(esbuild): unify versions of esbuild to 0.16.17 and esbuild-loader to 2.21.0
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Update docs
* Regen cue model for barchart
* Fix docs
* models.cue renamed to composable_panelcfg.cue
* Rename 'Bar' to 'x-axis' in options UI
* run gen-cue
* fix(auto-size-input): return maxWidth when realWidth exceeds limit
* fix(query-builder): sex madWidth for simple editor component
* fix(auto-size-input): add unit test
* Create DataSourceWithLogsSampleSupport check and move to 1 place
* Add new SupplementaryQueryType
* Add and change utility functions for loading, storing ancd checking supp queries
* Add logic to redux for processing of new type of supp query
* Implement queryLogsSample used to run samples queries
* Fix tests to include also Log samples
* Add tests
* Temporarily, default to false
* Change comment
* Fix lint error
* Refactor handling of supplementary queries in query.ts
* Fix looping over array
* Remove changes for any => unknowns as in utils.ts
* Fix logic
* Fix incorrect imports after function was moved to different file
* Migrate old log volume key
* Update public/app/features/explore/utils/supplementaryQueries.ts
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* Refactor to use DataSourceWithSupplementaryQueriesSupport
* Refactor, improve tests, change internal API
* Update packages/grafana-data/src/types/logs.ts
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* Add deprecation for DataSourceWithLogsVolumeSupport, but still support it
* Update comment with correct new issue
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* New pfs impl
* Reached codegen parity with old system
* Update all models.cue inputs
* Rename all models.cue files
* Remove unused prefixfs
* Changes Queries->DataQuery schema interface
* Recodegen
* All tests passing, nearly good now
* Add SchemaInterface to kindsys props
* Add pascal name deriver
* Relocate plugin cue files again
* Clarify use of injected fields
* Remove unnecessary aliasing
* Move DataQuery into mudball
* Allow forcing ExpandReferences on go type generation
* Move DataQuery def into kindsys, add generator to copy it to common
* Fix copy generator to replace package name correctly
* Fix duplicate type, test failure
* Fix linting issues
* FieldOptions: Add filterable as registry added field item
* Refactor to functional component, move ad hoc filter to PanelStateWrapper
* review tweaks
This commit renames "Message templates" to "Notification templates"
in the user interface as it suggests that these templates cannot
be used to template anything other than the message. However, message
templates are much more general and can be used to template other fields
too such as the subject of an email, or the title of a Slack message.
* feat: add a new modal for displaying no-access info
* feat(CardGrid): add an onClick handler for items
* feat: open a no-access modal when clicking on a connection in the catlog
* feat: update permissions
Open a "No access" modal when the user clicks a connection type but has no permissions creating a datasource out of it
* test: add tests for opening the No Access modal
* test: fix the user permissions in tests
* Wip
* Revert "Wip"
This reverts commit 7f080c7f77.
* Add new config option
* Add frontend control
* Condition new auth broker with config option
* Condition old auth broker with config option
Co-authored-by: Jo <joao.guerreiro@grafana.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* feat(UI/Alert): add two new optional properties: 'ariaLabel' and 'role'
* docs(UI/Alert): add some docs to the props
* feat: infer the role based on the severity
* fix: stop overriding props
* fix: fix a test depending on the wrong alert role
* add query pattern prom types
* rebase main
* update docs
replace query patterns with kick start your query
* update docs, remove raw query from prom docs
Raw query toggle was removed from the code
* add binary query pattern to query patterns
* add aria labels for accessibility
* fix tests
* apply/create a query pattern behavior if anything exists in the query editor
* fix tests
* rebase main
* Add correlation variables for interpolation
* Change to only look at relevant field
* Add links ignoring correlation check, add tests
* Add variables for all fields in dataframe, add tests for it, simplify URL expect
* Table: Fixes broken link styles after recent cell options PR
* Share migration and fix bar gauge as well
* Remove unused import
* Review fixes
* Fixed test
Co-authored-by: Kyle Cunningham <kyle@codeincarnate.com>
* PanelChrome: Simplify props and code a bit
* Don't set a default empty array for leftItems so we can know user has set it
* fix 'this' is undefined
* add storybook examples of statusMessage; remove SB examples of loadingState === Error; simplify loadingState checks in PanelChrome;
Co-authored-by: polinaboneva <polina.boneva@grafana.com>
* feat: show configured line limit
* test: correct failing test
* refactor: update variable names
* fix: ui renders the wrong value given a falsy value
* refactor: use nullish coalescing operator
* 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
* [WIP] Auth: add backend skipOrgRoleSync to AzureAD OAuth
- add: skipOrgRoleSync
- rename: skipOrgRoleSync to skipOrgRoleSyncBase (to make it clear that
it is the base version of SocialBase)
- add: tests for skipOrgRoleSync in AzureAD
TODO:
- [ ] frontend changes
* add: docs
* refactor: remove role from basicinfo
* add: settings for grafanacom
* add: settigns for frontend
* add: logic for azureAD user skip org role
* add: docs for skip_org_role_sync
* refactor: docs a bit
* add: tests for userinfo
* refactor: to only extract if skiporgrolesync false
* refactor: based on review comments
* Update docs/sources/setup-grafana/configure-grafana/_index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* Update docs/sources/setup-grafana/configure-grafana/_index.md
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
* CommandPalette: Use custom useMatches to avoid perf issues with long names
* wip start to multi search
* use search permutations, and do substring match if search is over 25 chars
* update ufuzzy
* don't permute query if greater than 5 words
* don't register dashboards as actions in the command palette
* create ActionImpls in RenderResults, memoize some array creation
* extract dashboard results out into separate hook
* remove unnecessary memoization from useActions
* move useDashboardResults into dashboardActions
* Changed 'Edit profile' to 'Profile'
The profile is not always editable, e.g. when it is synec via OAuth,
and all the other sections of the preferences are titled without a
verb.
* Fix frontend test
* Use getPluginSettings (/api/plugins//settings) to check if plugin is installed
* Use usePluginBridge hook instead of getPluginSettings to check if plugin is installed
* Update table data structure schema.
* Update table panel configuration options for new structure
* Fix TS errors from refactor
* Separate background and gauge display modes
* Remove the now used Bar Gauge display from the mud
* Fix types up
* Reorganize data structures
* Fix type issues.
* Start stubbing necessary code.
* Continue implementing option refactor
* Change category for cell type selection.
* Consolidate cell options
* Fix various typing issues
* Clean up dead code
* Stub handling display mode changes
* Make subOption editor dynamic
* Setup interface for sub-option editor props
* Remove unused imports
* Remove console.log call
* Persist display mode changes, stub sub options change, update comments.
* Make sure updates from cells are persisted
* Persist sub-option changes
* Update BarGaugeCell to take into account new settings.
* Add deprecated field back
* Remove unecessary options in configuration
* Update default cell to accept new settings
* Make sure color text display works
* Add deprecated property notice
* Use constant as opposed to string
* Make sure we name globally namespaced things uniquely
* Update to use unique name
* Use union type with discriminator.
* Simplify types and operation
* Update type definitons
* Update types
* Update property names in cells
* Remove React.FC usage
* Update option editor signature
* Update options structure
* Change variable name
* Fix "Color Text" display
* Remove debug statement
* Make sure we remain backwards compatible with display mode.
* Add migration for configuration.
* Export BarGaugeDisplayMode from grafana-ui
* Update import
* Fix bar gauge and dashboard migrator tests
* Fix potential undefined references causing test failures
* Fix another potential reference error in DefaultCell
* Try to fix breaking change detection.
* Cache setting changes
* Make sure we return with onChange invocation
* Fixed migrating overrides
* Fix a number of review comments
* Simplify option editors
* Fix unused imports
* Fill out comments for types
* Actually use defaultPanelConfig for editor default
* Move TableCellEditorProps alongside TableCellOptionEditor
* Update docs for table panel
* Also make sure we remove TableCellEditorProps from model file
* Stub migration tests
* Add tests for default config migration
* Add basic overrides test
* Flesh out tests a bit more
* Add inspect to same category as cell editor
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Add AsyncVirtualizedSelect component in grafana-ui
* Slice FolderPicker results to 1k and virtualize list using AsyncVirtualizedSelect
* Group list in alert form: Use AsyncSelect and slice results to 1000
* Virtualize and slice always in FolderPicker: set default sliceResults value and let consumers change this value
* Always slice results in FolderPicker
* Limit folder results setting the limit in the api call instead slicing in the FE
* Remove warning about the limit in the Select label
* feat: add draft version of validate button
* feat: add some styling and basics
* temp: intermediate result
* refactor: solve TODOs
* refactor: replace string in state
* refactor: replace error message style
* refactor: set validate state on change in ds
* refactor: add QueryRunner
* refactor: add QueryRunner
* temp: temporary status
* Emit PanelData to check if the query is valid
* refactor: clean up
* refactor: improve a11y of error message and adjust test
* Remove deprecated property call, change equality
* refactor: add changes from code review
* refactor: remove memory leak
* refactor: replace query runner
* refactor: adjust error handling
* refactor: move testing to related unit test
* refactor: clean up test for QueryEditorField
* refactor: clean up test for CorrelationsPage
* refactor: repair test
* refactor: clean up
* refactor: add refId in order avoid errors when running Loki queries
* refactor: replace buildQueryTransaction + set query to invalid if query is empty
* refactor: add empty query value to test cases
* refactor: end handleValidation after setIsValidQuery()
* refactor: refactor test
* refactor: fix last two tests
* refactor: modify validation
* refactor: add happy path
* refactor: clean up
* refactor: clean up tests (not final)
* refactor: further clean up
* refactor: add condition for failing
* refactor: finish clean up
* refactor: changes from code review
* refactor: add response state to condition
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* refactor: fix prettier issue
* refactor: remove unused return
* refactor: replace change in queryAnalytics.ts
* refactor: remove correlations from query analytics
* refactor: remove unnecessary test preparation
* refactor: revert changes from commit 4997327
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
Co-authored-by: Kristina Durivage <kristina.durivage@grafana.com>
* setup menu as a render prop sent down from PanelStateWrapper to PanelChrome
* let the Dropdown take care of opening the menu in PanelChrome
* menu and leftItems are on the right side of the header together
* add storybook examples with menu
* menu does not need to be a callback because it's opened in a Dropdown anyway
* pass down to getPanelMenu whether or not data is streaming atm
* stop loading data as well as streaming from menu
* override menu's style where needed
* reduce snapshot matching in tests
* removed js-fields
* added buttons
* rename detectedField to field
* removed unused things from `logParser.ts`
* improve comment
* wip
* better way for statistics
* better hide-stats button
* update tests
* updated tests and var names
* made props optional again
* fix padding
* fix unused import
* removed test
* close elements
* renamed `LogRowMessageDetectedFields` to `LogRowMessageDisplayedFields`
* add active style to menu button
* changed comment in logParser
* updated ToolbarButton colors
* rename `Data Links` to `Links`
* fix stats button being wrongly highlighted
* Fixed issue where the query editor of the previous ds sets default values on query passed to the query editor of the next ds.
* Fixed issue with changing data source for query in Alerting.
* Will apply default values from DS if available.
* Fix failing tests.
* fixed spell error.
* reverted getDefaultQuery call so it can be added in a separate PR.
* fix(Alert): don't add padding to content when there is no title
* Feat(Connections): update the style and wording of the redirect alert
* fix(UI/Alert): more resilient check for has title
* Add bar highlighter plugin to BarChart
* refactor feature
* Horizontal bars can also be hovered
* Tooltip mode UI reflects settings when stacked and bar highlight toggled
* rename variables
* override tooltip option + zIndex on hover box
* change option desc and simplify condition
* CommandPalette: Search for dashboards using API
* Fix ordering of dashboards
* Put recent + search dashboards in root list, refactor actions into hook
* limit recent dashboards to 5
* search debounce to 200ms
* update priorities
* extract i18n
* Loki Autocomplete: improve handling of trailing spaces in the query
* Monaco Field: rename resizing handler function
* Fix typo
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* New translations grafana.json (Spanish)
* New translations grafana.json (Spanish)
* New translations grafana.json (German)
* New translations grafana.json (French)
* Rename log volume in redux to supp query to make it more generic
* Change enabled query to queries
* Small spell fix StoreSuppQueryDataProviderAction -> storeSuppQueryDataProviderAction
* WIP
* Improve
* WIP
* Rename
* Move to 1
* Small updates
* Use enum
* Unify naming
* Use SUPP_QUERY_TYPES instead of Object.keys()
* Move SuppQueryType to types/explore
* Rename suppQuery to supportingQuery
* Rename SUPP_QUERY_TYPES to SUPPORTING_QUERY_TYPES
* Rename supporting to supplementary 🙈
* Remove suppQueryData && suppQueryData.data[0] check as it is redundant
* Update public/app/features/explore/state/query.ts
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* Update public/app/features/explore/state/query.ts
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* Fix naming of SupplementaryQuery interface
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>