* MVP of a new datasource picker
* Add datasource select history, naming DatasourceSelect -> DataSourceDrawer
* refactor cards
* Cleanup and fixing sort order for recents
* add feature flag
* fix feature flag name and use it
* Highlight selected
* Move new ds picker to core
* Restore original datasource picker
* Remove unused property
* update yarn.lock
* Rename folder, update codeowners
* add test for util functions
* Remove es-lint exception
* Change feature toggle description
* remove unnecessary if
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
* Make test a bit more clear
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
* Clean up api, filter once and before maps, minor code cleanup
* Fix prettier issue
---------
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
* Reworked header
* Remove toggle from merge
* Update test
* Update how span is retrived
* Tests
* Update tests
* Move new trace page header into its own component
* Remove tests already covered in TracePageHeader.test.tsx
* Update findHeaderTags
* Tooltip updates
* Set default query when changing data source or adding new alert query
* Set default query when creating new alert rule
* Set fefault query for cloud and recording rules
* Create hook for getting defaults in AlertRuleForm
* fixing tests
* Use conditionals with 'if' for more clarity and rename lazy to async
* Add loading indicator for default queries
* Fix tests
* Make newModel a sync method and fix tests error
* Use useAsync instead of useEffect for an async call
* Extract dirty translations from main
* Translate some variable phrases
* Translate nav bar
* Translate search/browse
* Fix header returning null
* Translate search results type
* fix test
* Update dependency rollup to v3
* build(rollup): update all rollup related deps to latest version
* chore(runtime): update peerDeps to match other package semver ranges
* chore(yarn): refresh lock file
* refactor(packages): migrate to esm for rollup@3 configs
* build(packages): remove unused rollup dependencies
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* bring in source from database
* bring in transformations from database
* add regex transformations to scopevar
* Consolidate types, add better example, cleanup
* Add var only if match
* Change ScopedVar to not require text, do not leak transformation-made variables between links
* Add mappings and start implementing logfmt
* Add mappings and start implementing logfmt
* Remove mappings, turn off global regex
* Add example yaml and omit transformations if empty
* Fix the yaml
* Add logfmt transformation
* Cleanup transformations and yaml
* add transformation field to FE types and use it, safeStringify logfmt values
* Add tests, only safe stringify if non-string, fix bug with safe stringify where it would return empty string with false value
* Add test for transformation field
* Do not add null transformations object
* Break out transformation logic, add tests to backend code
* Fix lint errors I understand 😅
* Fix the backend lint error
* Remove unnecessary code and mark new Transformations object as internal
* Add support for named capture groups
* Remove type assertion
* Remove variable name from transformation
* Add test for overriding regexes
* Add back variable name field, but change to mapValue
* fix go api test
* Change transformation types to enum, add better provisioning checks for bad type name and format
* Check for expression with regex transformations
* fix any's in tests
* fix more any's in tests
* more test type fixes
* fixing any's in tests part 3
* more test type fixes
* fixing test any's p5
* some tidy up
* fix template_srv
* Range splitting: range splitting function
* Range splitting: experiment with 1 hour splits
* Range splitting: reorganize code
* Range splitting: improve code readability and meaning
* Range splitting: add partition limit to prevent infinite loops
* Range splitting: add error handling
* Range splitting: disable for logs queries
* Range splitting: support any arbitrary time splitting + respect original from/to in the partition
* Chore: remove console logs
* Chore: delete unused import
* Range splitting: actually send requests in sequence
* Range splitting: do not split when > 1 query
* Range splitting: combine frames
* Chore: rename function
* split in reverse
* polished reversing
* keep reference to the right frame in the result
* Range splitting: change request state to Streaming
* Range splitting: fix moving only 1 unit of time instead of the provided one
* Chore: change default parameter to timeShift = 1
* Range splitting: do not split for range queqries
* Range splitting: add initial support for log queries
* Range splitting: do not use MutableDataFrame
It has bad performance and it's not required
* Chore: remove unused export
* Query Splitting: move to module
* loki: split: fix off-by-one error (#62966)
loki: split: fix off-by-one loop
* Range splitting: disable for logs volume queries
* Range splitting: combine any number of fields, not just hardcoded 2
* Range splitting: optimize frame-combining function
* Range splitting: further optimize
* Range splitting: combine frame length
* Range splitting: combine stats
* Range splitting: combine stats without assuming the same order
* Query splitting: catch and raise errors
* Range splitting: create feature flag
* Range splitting: implement feature flag
* Range splitting: add unit test for datasource query
* Range splitting: add basic test for runPartitionedQuery
* Range splitting: add unit test for resultLimitReached
* Range splitting: test frame merging
* Chore: fix unit test
---------
Co-authored-by: Sven Grossmann <svennergr@gmail.com>
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
* Navigation: Translate nav tree in store
* Remove usage of getNavTitle
* properly translate children
* add pubdash translation
* remove extraneous calls to translation in PageHeader
* empty commit
* correctly allow subtitle to be overrwitten (thank you tests!)
---------
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* Renamed target -> id and href -> path after feedback.
* fixed type issues in test page.
* chore(pluginschemajson): update extensions props target -> id
* this is the final.
* fixed typings...again...
---------
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* added extensions to plugin.json and exposing it via frontend settings.
* added extensions to the plugin.json schema.
* changing the extensions in frontend settings to a map instead of an array.
* wip
* feat(pluginregistry): begin wiring up registry
* feat(pluginextensions): prevent duplicate links and clean up
* added test case for link extensions.
* added tests and implemented the getPluginLink function.
* wip
* feat(pluginextensions): expose plugin extension registry
* fix(pluginextensions): appease the typescript gods post rename
* renamed file and will throw error if trying to call setExtensionsRegistry if trying to call it twice.
* added reafactorings.
* fixed failing test.
* minor refactorings to make sure we only include extensions if the app is enabled.
* fixed some nits.
* Update public/app/features/plugins/extensions/registry.test.ts
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* Update packages/grafana-runtime/src/services/pluginExtensions/registry.ts
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* Update packages/grafana-runtime/src/services/pluginExtensions/registry.ts
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* Update public/app/features/plugins/extensions/registry.test.ts
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* Moved types for extensions from data to runtime.
* added a small example on how you could consume link extensions.
* renamed after feedback from levi.
* updated the plugindef.cue.
* using the generated plugin def.
* added tests for apps and extensions.
* fixed linting issues.
* wip
* wip
* wip
* wip
* test(extensions): fix up failing tests
* feat(extensions): freeze registry extension arrays, include type in registry items
* added restrictions in the pugindef cue schema.
* wip
* added required fields.
* added key to uniquely identify each item.
* test(pluginextensions): align tests with implementation
* chore(schema): refresh reference.md
---------
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* Consolidate logs volume logic (full range and limited)
* Fix showing limited histogram message
* Test passing meta data to logs volume provider
* Improve readability
* Clean up types
* Move the comment back to the right place
* Improve readability