* NestedFolders: Connect Search input fields to state manager
* Fix tag list not loading
* Clear includePanels checkbox when leaving search
* fix test
* Fix extra right margin
* fix missing style
* cleanup
* fix placeholder
* fix test
* Use alertmanager /alerts endpoint to show preview of instances affected by silence
* Fix debounce dependency, add no instances warning
* Rename silences preview component
* Fix the preview file name, use IsNulLDate to check the date
* Fix valid matchers condition
* Cleanup
* Remove unused code
* fix flickering
* refactor onClose/onOpen
* do not set value of input, make the placeholder look like the value instead
* Show search icon when the dropdown is open
---------
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
* add modal scaffolding
* add some unit tests
* remove dummy api, add some TODO comments
* small test refactor
* another small test refactor
* fix unit tests due to aria-label/data-testid change
* add isNew notPersistedProperty to PanelModel
* if panel is newly created and user "Discard"s it, the panel is removed entirely
* add Todo's for when we remove the emptyDashboardPage FF
* add isNew to new panel after file dropping on dashboard page
* handle the "Apply" case
* CSV file dropping is not relevant to a new panel bc it doesnt open edit page
* avoid mutable
* remove mutableDataFrame from utils also
* fix build and add couple more testss
---------
Co-authored-by: Victor Marin <victor.marin@grafana.com>
* WIP
* Add instance totals to combined rule. Use totals to display instances stats in the UI
* WIP
* add global summaries, fix TS errors
* fix useCombined test
* fix test
* use activeAt from rule when available
* Fix NaN in global stats
* Add no data total to global summary
* Add totals recalculation for filtered rules
* Fix instances totals, remove instances filtering from alert list view
* Update tests
* Fetch alerts considering filtering label matchers
* WIP - Fetch alerts appending state filter to endpoint
* Fix multiple values for state in request being applyied
* fix test
* Calculate hidden by for grafana managed alerts
* Use INSTANCES_DISPLAY_LIMIT constant for limiting alert instances instead of 1
* Rename matchers parameter according to API changes
* Fix calculating total number of grafana instances
* Rename matcher prop after previous change
* Display button to remove max instances limit
* Change matcher query param to be an array of strings
* Add test for paramsWithMatcherAndState method
* Refactor matcher to be an string array to be consistent with state
* Use matcher query string as matcher object type (encoded JSON)
* Avoind encoding matcher parameters twice
* fix tests
* Enable toggle for the limit/show all button and restore limit and filters when we come back from custom view
* Move getMatcherListFromString method to utils/alertmanager.ts
* Fix limit toggle button being shown when it's not necessary
* Use filteredTotals from be response to calculate hidden by count
* Fix variables not being replaced correctly
* Fix total shown to be all the instances filtered without limits
* Adress some PR review comments
* Move paramsWithMatcherAndState inside prometheusUrlBuilder method
---------
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>
* remove old page component
* add test to check initDashboard is only called once (prevent variables loading twice)
* add help node
* update unit tests
* remove last mentions of topnav
* fix unit tests
* remove unused props from ButtonRow interface
* remove prop from test
* Loki: Fix incorrect evaluation of real/extracted labels in context
* Add tests
* Improve caching and add more tests
* Use mockResolvedValue
* Flip logic for getInitContextFiltersFromLabels
* Update to logic to use fetchSeriesLabels for queries with more than 1 parser
* Add kind to TraceQL intrinsics
* Fix after merging main
* Fix intrinsics array reference after merge
* Dispatch error message when TraceQL autocomplete fails to retrieve tag values
* adds alertstatehistory backend config to grafanaBootData
* add alertStateHistory api
* show different ASH modal when using loki implementation
* group log lines by instance (unique set of labels)
Co-Authored-By: Konrad Lalik <konrad.lalik@grafana.com>
* render log lines for each instance
Co-Authored-By: Konrad Lalik <konrad.lalik@grafana.com>
* Add visual improvements to the log record of state changes
* Add values to log records
* compute common labels and show unique labels
* Add state changes visualization
* fix common labels extraction
* Code cleanup
* Add timespan-based log record view
* WIP
* scroll to timestamp - poc
* Use SortedVector for timestamp field
* add conditional accessor for frames
* update some of the log formats and styles
* Timestamp-based visualization with scrolling
* minor improvements
* Split Loki's state history viewer into multiple files
* Add memoization to prevent graph rerender on filter updates
* make chart size shrink when fewer instances
* style updates
* show warning when instances are hidden
* Add basic label-based filtering
* Improve label-based filtering
* Add regex validation
* Improve no instances message when everything was filtered out
* Update warning message
* Move timeline viewer to a separate file, refactor handling timeline pointer changes
* Remove unused component, add comments
* Fix test snapshot, fix type error
* adds tests for common.ts
* Add tests for converting log records into data frames
* Add basic component test, fix type guards
* Use a constant for timeseries limit
* Improve a11y, update component test
* Memoize AlertStateTag, migrate from deprecated ArrayVector
* Update public/app/features/alerting/unified/components/rules/state-history/common.ts
* Move helper hook into a separate file. Add Search input component
* Change the limit of visible time series on the timeline
* Add LogRecordViewer perf improvements, refactor timeline cursor events tracking
* Use callback to pass timeline refs
* Add grouping tests for the log record viewer
---------
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
* remove metadata for single folder listing
* extendTests
* remove ac metadata from dash and folder search results
* remove test
* remove one more test
* put ac metadata back for single folder API responses
* extend tests
* remove ac metadata from folder frontend object
* undo unneeded change
* PR feedback
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
---------
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
* FIX: Hide Invite Button with external user management
* Hide also when login form is disabled
* add tests and readability
---------
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
* Update ARG Subscription selection
- Filter out queries that do not contain at least one subscription
- Refactor SubscriptionField component
- Display error if no subscriptions are selected
- Update tests
* Fix test
* add translation keys for empty dashboard redesign
* run yarn i18n:extract; rephrase one trans key because of [warning] Found translation key already mapped to a map or parent of new key already mapped to a string: dashboard.toolbar.add.visualization
* reduce to 3-step locale phrase IDs
* extract phrase IDs
* add show context button
* improve type definition
* change to default `maxLines`
* remove context query
* add provider to tests
* add test for split view button
* improve documentation
* add tests for `getLogRowContextQuery`
* refactor LogsContainer functions
* fix spelling
* add `contextQuery` as state
* fix tests
* fix lint
* do not use callIfDefined
* make button secondary
* Prompt DS modal when the user adds the first panel to a dashboard
* Rename state prop and use toggle
* Change modal size
* Avoid flickering for dashboard modal when changing number of results
* When editing panel 1, only display when new dashboard
* clean up the components and convert to functional components
* Create hooks for getting DS
* remove focus style override from input
---------
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
* Remove focus on duration inputs to match the other selects
* Allow users to create options while they load
* Options without type default to not have quotes around them
* Fix#66571 - set query type to traceql when linking from logs to traces
* Fix test
* feat: add clear logs to explorer's live logs
* refactor live logs pause/resume updating logic
* add tests for clearing live logs
* rm unused imports
* move `onClear` live logs logic to redux
* move clear logs tests to `query.test`
* use utils `sortLogsRows` and Button's icon props
* rename `filterLogRows` and add `clearedAt` as an arg
* mv clearedAt type closer to live tailing items and add jsdoc
* mv `filterLogRowsByTime` to `/utils` and use it at `LiveLogs` component
* make `Exit live` button consistent with other actions
* use `sortLogRows` and fix timestamp by id on `makeLogs`
* change clear live logs from based on timestamp to index on logRows
* assign `null` to `clearedAtIndex` on first batch of logs live
* move `isFirstStreaming` implementation to `clearLogs` reducer
* fix `clearLogs` tests
* Update public/app/features/explore/state/query.ts
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
---------
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* NestedFolders: Item selection state
* Select children in state
* Unselect parents when children are unselected
* remove unneeded comment
* tests
* tidy test a little bit
* tidy test a little bit
* tidy test a little bit
* tidy test a little bit
* tidy test a little bit
docs: remove confusing singlestat reference
The removed phrase was confusing, why would I want to learn more about a removed component? Then given the link ends up going to the stat visualization page which replaced singlestatm and I can't find any dedicated page anymore on any version of our docs, it seems a redundant link.
* Add a wrapper to switch between the previous and new DS picker depending on the feature toggle advancedDataSourcePicker.
* Add a new component to represent the modal DS picker, which we will refer as advanced DS picker
Integrate this into the Edit panel, for now, until we're ready to replace everywhere the grafana-runtime DS picker by the wrapper.
* Replace Drawer component with the dropdown
* Adjust the first version of the styles to fit into this Figma design
* Adjust the design of the FileDropzoneDefaultChildren to match with the new DS modal but everywhere else is used nowadays.
---------
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
* feat(typescript): read and write index to jsonData
* feat(go): read index from jsonData
* clear database column when index-name is updated
* Update public/app/plugins/datasource/elasticsearch/datasource.ts
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
* Update public/app/plugins/datasource/elasticsearch/configuration/ElasticDetails.tsx
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
* add indexChangeHandler function
* fix
* fix failing tests
* fix
* fix
---------
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
* fix: dont call endpoint if invalid query
* fix: use latest lezer-logql
* refactor: use null instead of undefined
* test: returns null when query is invalid
* update
* fix logrowcontext scrolling behavior
* Loki: Update loki context ui menu
* Update
* Add test, update
* Use escapeLabelValueInSelector when displaying labels
* Update test for new appliedContextFilters
---------
Co-authored-by: Sven Grossmann <svennergr@gmail.com>
* There was an attempt
* Change disabled state based on transformation type
* Add validation to transformation type
* Revert "Add validation to transformation type"
This reverts commit 2188a3d9a93aec5eeafcdd40510391ba1a53671a.
* Add validation to transformation type
* Move transformations editor to a separate file
* Make name more descriptive
* Ensure type dropdown has always the same width
* Add tooltips around transformation options
* Slight style changes
* Remove autofocus on append, integrate read only to transformationeditor, save values that disappear so they come back
* Remove yaml changes
* Have variable background color work with alternating colors on different themes
* Make expression required for regular expressions
* Remove unused empty form object
* Fix bug about transformation’s values saved in memory
* Better validation formatting for expression
* Add labels and (for now) non working test, attempt to fix saved transformation delete/add bug
* Fix datalink comment
* Remove fancy CSS due to background change
* Fix deleting saved transformation bug, finish tests
* Consolidate transformation types
* Double check aria labels
* Change aria labels, fix tests
* Add a transformation with the create correlation test
---------
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
* TraceView: update the queryType to traceql for checking if same trace when clicking span link
* TraceView: linting
* TraceView: remove traceid check completely
* poc for virtual tree
* remove my silly debug stuff
* wip
* style table
* improve styles
* fix
* start to split tree into seperate component
* cleanup unused function
* split into more components
* more better
* secondary color type column
* simple tests for DashboardsTree
* restore styles from dodgy rebase
* remove my weirdo text component thing
* Logs: Add new LogRowContext types to grafana/data
* use right type for `RowContextOptions`
* add missing renames
* add show context modal
* no need to call
* removed unused css
* sort properties
* rename
* use correct
* use
* add tests for
* wip
* remove add/minus buttons
* add tests
* disable processing of context results in Loki
* moved into table to align properly
* remove imports
* add highlighting of opened logline
* improve scrolling behavior
* correct style for the table
* use correct query direction
* fix text
* use LoadingBar
* use overflow auto
* rename `onToggleContext` to `onOpenContext`
* add missing import
* mock scrollIntoView
* update unused props
* remove unused import
* no need to process context dataframes
* only show `LogRowContextModal` if `getRowContext` is defined
* remove unused param
* use `userEvent` rather `fireEvent`
* change to `TimeZone`
* directly use style classes
* revert change to public_dashboard_service_mock.go
* improved styling
* add missing await in test
* fix lint
* fix lint
* remove LogRow scrolling when context is opened
* remove references to `scrollElement`
* Update public/app/features/logs/components/log-context/LogRowContextModal.tsx
Co-authored-by: Matias Chomicki <matyax@gmail.com>
* fix lint
* add comment explaining `onCloseContext`
* add comment about debounced onClose
* add comments and remove `showRowMenu`
* scroll twice to correctly center the element
* revert double scrolling
* remove unnecessary `processDataFrame`
* trigger drone
---------
Co-authored-by: Matias Chomicki <matyax@gmail.com>
* Use default retention policy instead of hardcoded retention policy
* Load retention policies for the editor
* Fix the typo
* Add more comment line
* Update comment
* Better error message
* Put back getTagKeys and getTagValues
* Fix unit test
* In dashboards splitOpenFn is not passed, instead "href" link is used. When we added tracking we changed the behaviour so onClickFn is always passed when generating the model. To bring back the previous behaviour we skip the onClickFn if the split function is not provided.
* Fix test and add a task to re-check the logic
* Switch back to the API where data provider for a supplementary query can be undefined
* Promote exploreMixedDatasource to beta
* Revert "Promote exploreMixedDatasource to beta"
This reverts commit a3bc167d1c.
* Resolve data source in parallel
* Do not modify function params
* Reorganize code for better readability
* Improve readability
* Simplify code
* Stop using a deprecated error property
* Elasticsearch: Change feature toggle for backend migration to enableElasticsearchBackendQuerying
* Update logic in data source
* Run test to re-genartate toggle
* Dashboard: Add series color shades
Add color option "Shades of a color" which gives each series a color derived from a user-selected base color.
* Documentation: Add entry for color shades
Describe color option "Shades of a color" in documentation.
* Chore: formatting fixes
* Dashboard: Use better fallback color for color shades in fieldColor.ts
Fall back to a gray color if the configured color cannot be parsed.
* Chore: fix typo in fieldColor.test.ts
* Documentation: fix a sentence
* remove custom color parsing and change logic a bit
* Fix prettier issue
---------
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
Co-authored-by: Kristina Durivage <kristina.durivage@grafana.com>
* Add initial authentication config page skeleton
* Add initial SAML config page WIP
* Add few more pages
* Add connect to IdP page
* Assertion mappings page stub and url params
* Able to save settings
* Some tweaks for authentication page
* Tweak behaviour
* Tweak provider name
* Move SAML config pages to enterprise
* minor refactor
* Able to reset settings
* Configure key and cert from UI
* Refactor WIP
* Tweak styles
* Optional save button
* Some tweaks for the page
* Don't show info popup when save settings
* Improve key/cert validation
* Fetch provider status and display on auth page
* Add settings list to the auth page
* Show call to action card if no auth configured
* clean up
* Show authentication page only if SAML available
* Add access control for SSO config page
* Add feature toggle for auth config UI
* Add code owners for auth config page
* Auth config UI disabled by default
* Fix feature toggle check
* Apply suggestions from review
* Refactor: use forms for steps
* Clean up
* Improve authentication page loading
* Fix CTA link
* Minor tweaks
* Fix page route
* Fix formatting
* Fix generated code formatting
* FrameGraphTopTable: Use standard Table component
* Simplify
* Fix test
* Update tests
* Fixing test
* FlameGraph: Refactor and simplify styles
* updated
* add EditDataSourceActions to EditDataSourcePages
* fix tests
* EditDSPage: do not show buttons in header if topnav is off
* remove delete button from the header
* EditDSPage: hide buttons from footer when topnav is on
* update tests
* rename ActionProps to Props
* wrap setting of feature toggle in act in jest test
* fix jest test by using waitFor
Provide new feature in Prometheus dashboards to cache queried time series data, modify requests to not include previously cached data in order to improve dashboard refresh performance.
Co-authored-by: Galen <galen.kistler@grafana.com>
Co-authored-by: Leon <leon.sorokin@grafana.com>
* Fix expressions instance settings loading
* Introduce a new method to get name or uid
* Update public/app/features/plugins/datasource_srv.ts
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* Move getNameOrUid method outside the class
---------
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>