* Added critical path computation code. Refactor some trace view code
* Refactor js to ts
* First implementation of critical path working
* Simplified code
* Added filter to show only critical path spans
* Lint and stuff
* Fixes and moving styling to object
* Betterer
* Initial fix up of getLabelFields
* Update time series to table code
* Cleanup and allow merging
* Support merge and non-merge scenarios
* Update editor
* Fix case with merge true for multiple queries
* Update time series detection, fix tests
* Remove spurious console.log
* Prettier plus remove test console.log
* Remove type assertion
* Add options migration
* Add type export
* Sentence casing
* Make sure current options are preserved when making changes
* Add disabled image
* DashboardMigrator prettier
* Add type assertion explanation and exception
* Fix schema version test
* Prettier
* Fix genAI tests and make them more robust so they dont break on every new schema version
---------
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* New experimental table customization for logs in explore
* Logs Panel: Explore url sync for table visualization (#76980)
* Sync explore URL state with logs panel state in explore
* Fix broken interpolation for mixed datasources in explore
* Add interpolation tests
* Use Promise.all and be better about dealing with invalid empty ds in query scenario
* condense logic
* Remove type declarations
* Fix tests
The 'llms' module of @grafana/experimental was vendored into the
GenAI components at some point in the past to speed up iteration, so
that dashboard feature development didn't have to wait for a new
release of the experimental package for every change. Now that we
think this has stabilized, we can remove the vendored module from
the Grafana codebase and use the version from @grafana/experimental
instead.
This requires a couple of minor changes, mostly around health check
results which are slightly different in @grafana/experimental now,
but otherwise the changes are mechanical.
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* Fix NoRulesSplash being rendered for some seconds, fater creating a rule
* Add ruler response/loading,dispatched,error to the logic in hasNoAlertRulesCreatedYet expression
* Navigation: Basic e2e tests for docked mega menu
* give mega menu an e2e selector
* make existing tests narrower so menu doesn't default to docked. add test for auto docking at large viewport
* use new selector in nondocked menu
* Dont show 1 firing series when no data in Expressions PreviewSummary
* Add comment to make clear we need to filter out undefineds for firing count
* Move logic to a new getGroupedByStateAndSeriesCount method and added test to it
* remove wrapping div
* update tests, just gotta figure out how to handle fontawesome :(
* add spinner.svg which matches the font-awesome spinner
* add mock for react-inlinesvg
* update mock and fix some tests
* fix FormField test
* fix CorrelationsPage tests
* increase timeout
* clean up some e2e/runtime types
* fix some stories
* some more fixes
* fix route props
* update unit tests
* update more unit tests
* don't throw here
* build(plugin-configs): move swc-loader to configs and use require.resolve for less duplicate deps
* build(plugins): move cacheLocation to ESLintPlugin, run lint and tscheck plugins in dev
* revert(plugins): remove obsolete stats setting
* Add resultFormat to query model
* don't add row name if the result format is table
* No need special formatting since we use unified dataframes
* betterer
* specify visualization type in response
* Unit tests
* fix unit tests
* Add PUT to canvas button
* Update cue file to include PUT
* Re run make gen cue
* fix gen-cue
---------
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* update psql config page to follow guidelines
* make small changes to mysql config page
* update shared tls config to match guidelines
* revert back to text area
* remove type assertion
* prettier
* remove unused imports
* update required fields
* add secure sox proxy to additional settings
* make additional settings collapsible
* make user permissions collapsable
* make db name and password optional
* mysql: move from alert to collapse
* WIP : Transform scene panel repeats to snapshot
* Set scoped vars correctly on repeated panel snapshot
* Row repeats snapshots
* Fix scoped vars for repeated rows
* Tests
* Fix merge
* in node graph, fix edges dataframe miscategorization
A dataframe named "edges" could end up getting categorized as a nodes dataframe if it was missing a "source" field, resulting in a very confusing error message "id field is required for nodes dataframe" instead of a more sensible error message about the missing source field.
* Fix lint
---------
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
* Cancel streaming queries before running new queries
* Cancel previous queries when a new query is run
* Remove redundant dependency
---------
Co-authored-by: Kristina Durivage <kristina.durivage@grafana.com>
* initial commit for PromQAIL
* add feature toggle and start button
* add drawer
* set up drawer and state
* fix styles and start the conditional text display
* add data info list going to ai
* add logos and style
* metric display table style, neeed to make responsive
* make feature toggle frontend only
* add logic for want prompt for list or not, add helpers, addquerysuggestion type
* make query suggestion component
* add buttons to add or refine prompt
* refactor logic to add interactions to have multiple AI or historical interactions
* refactor and enable multiple questions, all flow
* add colorful AI icon to drawer open button
* fix linting
* refactor for hooking up promQail app and only giving one suggestion
* design fixes
* fix next prompt button styling
* historical suggestions give us 5, fixed that and some design things
* hook up the api, provide defense filler if it's down, refactor lots
* use query, fix linting
* add metadata to explain for ai suggestions
* styling fixes
* give metadata for historical suggestions by parsing query on the fly
* no prompt field to query-suggestion endpoint if prompt is empty
* fix linting
* use suggest rte for historical list, fix long code style
* use suggest rte for historical list, fix long code style
* fix historical bug
* added prompt file
* updated llm logic in explainer helper
* bump @grafana/experimental from 1.7.0 to 1.7.2
* use llmservice and vectorservice
* cleanup prompts + streaming explainer
* promqail feature toggle: fix re-order
* PromQL non-llm failback recommendation logic (#75469)
* added template recommendation logic directly in helpers
* also added selected labels to recommendation
* PromQail: query gen: fix prompt formatting and fetch metric labels to be used (#75450)
* PromQail: query gen: fix prompt formatting and fetch metric labels to be used
* Code fixes as suggested
* Use newly decided collection name for promql templates
* Prometheus: Promqail tests and bug fixes (#75852)
* add tests for drawer
* refine one prompt at a time, fix css
* scroll into view on interaction change
* fix styles for light
* disable prompt input after getting sugestions for that interaction
* make buttons disappear after selecting refine prompt or show historical queries to prevent user from clicking many times
* fix border radius
* fix new eslint rule about css requiring objects and not template literals
* add scrollIntoView for test
* grafana_prometheus_promqail_explanation_feedback - add feedback rudderstack interaction for explanation
* add form link to feedback for query suggestions
* fix bugs
* for prettier
* PromQL Builder Explainer: Added promql documentation and updated prompt (#75593)
* added promql documentation and updated prompt
* refactor prompt generation into isolated function
* updated prompt to answer with a question
* removed commented code
* updated metadata logic
* updated documentation body logic
* Prometheus: PromQAIL UI fixes (#76654)
* align buttons at 16px
* only autoscroll when an interaction has been added or the suggestions have been updated
* add 12px below explain for suggested queries
* add . after suggestion number
* fix linting error
* Prometheus: PromQAIL feedback improvements (#76711)
* align buttons at 16px
* only autoscroll when an interaction has been added or the suggestions have been updated
* add 12px below explain for suggested queries
* add . after suggestion number
* add text indication for explanation feedback
* add form for suggestion feedback, add form for not helpful explanation feedback
* fix linting error
* make radio button feedback required
* required text, padding additions, thank you for your feedback
* PromQL Builder Suggestion: Added type level templates and removed explainer steps for fallback suggestion logic (#75764)
* adding more detailed templates to promql fallback suggest
* remove debug logs
* added missing explain logic
* Fix brendan's type issue
---------
Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
Co-authored-by: bohandley <brendan.ohandley@gmail.com>
* make yarn.lock equal to current in main
* fix feature toggles
* fix prettier issues
---------
Co-authored-by: Edward Qian <edward.qian@grafana.com>
Co-authored-by: Yasir Ekinci <yas.ekinci@grafana.com>
Co-authored-by: Edward Qian <edward.c.qian@gmail.com>
Co-authored-by: Gerry Boland <gerboland@users.noreply.github.com>
* refactor: move expand button to front
* refactor: add grid + adjust level 2
* refactor: remove grid + fix alignment for all three levels
* refactor: first iteration alignment
* refactor: styling of MegaMenuItemIcon
* refactor: remove styling of div in MegaMenuItemIcon
* refactor: styling object
* refactor: alignment of first level
* refactor: alignment of second level
* refactor: alignment of third level and active state
* feat: add connecting line for level 3
* feat: add comment
* refactor: remove unused code
* refactor: clean up styling
* refactor: clean up styling
* refactor: clean up styling
* some small tweaks
* remove unused props from getStyles
* fix dock button position and text ellipsing
* add padding to container to prevent icon button overlapping on left side
* add active overlay
* adjust font-weight, add padding to RHS
* add border-box for overlay
* adjust menu width to 300, don't use non-integer levels
* use height: 100%
* don't think we need minWidth
* make chevrons right/down
* make url required, cut down css
* move active state to container
* remove unused class
* add padding at top and bottom of menu as well
* adjust chevron size
---------
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
* introduce data source admin role and fix frontend check
* introduce fixed roles for data source creator and team reader
* add documentation
* undo an unintended change
* add aria-describedby, tooltip role and unit tests
Co-authored-by: L-M-K-B <48948963+L-M-K-B@users.noreply.github.com>
Co-authored-by: joshhunt <josh@trtr.co>
* remove `delayShow` so tooltip text is announced correctly
* adjust IconButton, fix unit tests
* undo tooltip aria-label change
* only set aria-describedby if there's no aria-label
---------
Co-authored-by: L-M-K-B <48948963+L-M-K-B@users.noreply.github.com>
Co-authored-by: joshhunt <josh@trtr.co>
* Add Alerting menu in getPanelMenu
* Add translations
* Allow alert tab, heart icon in all panel types, and not show warning in DashobardPicker panels
* Fix tests
* Move alerting submenu under 'More...' item
* Move create alert menu item to More... without submenu
* Update translations
* Revert "Allow alert tab, heart icon in all panel types, and not show warning in DashobardPicker panels"
This reverts commit 225da3f60e.
* Revert allowing alert tab and health icon for all panel types
* use onCreateAlert method name in onClick instead of new function
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
* Move getAlertingMenuAvailability method to a /features/alerting folder and rename it to getCreateAlertInMenuAvailability
* Use onCreate direclty instead of a new method
* Make getCreateAlertInMenuAvailability to return a boolean
---------
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
"Release: Updated versions in package to 10.3.0-pre"
Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
"Release: Updated versions in package to 10.3.0"
Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
* initial changes
* fix indent
* fix some bugs, and update fit and finish
* remove inputs
* change ms.portal to portal
* add new dashboards, fix some links and queries
* fix more links
* update the default time ranges
* prettier fix dashboards
* update log query variables with search '*'
* default the variable value to All
* missed a few spots to assume that the values of the variable are in an array
* fix queries for min and max duraation as well
* keep variables naming consistent
* fix missing parenthesis in dependencies operation query
* fix some links, change todouble instead of tollong
* Remove legacy form from LokiQuerySettings
With this commit, legacy form components are remvoed from loki query
settings page. Form is now using InlineField instead.
* Fix the width of loki predefined ops input
* Fix the width of loki predefined ops input
* Fix type in loki query component input field
* Add images
* Basic button functionality; TODO placeholders for dispatching contentOutlineToggle and rendering content outline component
* Basic content outline container
* Content outline toggles
* Remove icon files from explore
* Scroll into view v1
* outline that reflect's explore's order of vizs
* Update icon name
* Add scrollId to PanelChrome; scrolling enabled for Table
* Add queries icon
* Improve scroll behavior in split view
* Add wrapper so the sticky navigation doesn't scroll when on the bottom of the window
* Fix the issue with logs gap; center icons
* Memoize register and unregister functions; adjust content height
* Make displayOrderId optional
* Use Node API for finding position of panels in content outline; add tooltip
* Dock content outline in expanded mode; at tooltip to toggle button
* Handle content outline visibility from Explore and not redux; pass outlineItems as a prop
* Fix ContentOutline test
* Add interaction tracking
* Add padding to fix test
* Replace string literals with objects for styles
* Update event reporting payloads
* Custom content outline button; content outline container improvements
* Add aria-expanded to content outline button in ExploreToolbar
* Fix vertical and horizontal scrolling
* Add aria-controls
* Remove unneccessary css since ExploreToolbar is sticky
* Update feature toggles; Fix typos
* Make content outline button more prominent in split mode; add padding to content outline items;
* Diego's UX updates
* WIP: some scroll fixes
* Fix test and type error
* Add id to ContentOutline to differentiate in split mode
* No default exports
---------
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
* Stub types
* Update applicator
* Type and functionality updates
* Format time applicator
* Group by applicator
* Groupy to matrix applicator
* Use applicability levels
* Add organize fields applicator
* Add applicator to heatmap
* Add disabled icons
* Update presentation
* Prettier
* Why run prettier once when you can do it twice?
* Update presentation
* Prettier
* Update presentation
* Prefer object syntax
* Betterer and Prettier
* Fix issue getting current labels that would only grab values to the left of the cursor
* Loki: Fix Autocomplete in stream selector overwriting existing label names, or inserting autocomplete result within label value (#76485)
* Better autocomplete functionality in loki, changing the word pattern to include label value separator (=), include valid sting chars (-), and value wrapper ("), adding some more logic in the range calculation to prevent autocomplete results from partially overwriting adjacent label names or portions of the current label value
* Dashboard: Fixes save changes diff after first save
* Lots of type issues
* better fix
* Update some more places to use new function
* Fix
* Update
* Update
* remove console.log
* Update
* Fixed so we will return default timeZone to extensions if empty is provided.
* Update public/app/features/dashboard/utils/getPanelMenu.test.ts
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
---------
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
* moved themecontext to data
* chore(grafana-ui): re-export ThemeContext from grafana/data for backwards compatibility
* Moved icon bundling to core.
* feat(plugins): share react-inlinesvg with plugins for grafana/ui bundling
* chore(codeowners): add generate-icon-bundle.js to file
* chore(storybook): update path to iconBundle file for theme
* feat(plugins): share i18n dependency via systemjs
* Make sure that icon bundle is initialized for tests.
* Removed comment.
* added tests for icon root.
* Removing the need of having an init variable.
* feat(grafana-ui): add icon svgs to bundle for projects that don't rely on grafana
---------
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
Remove legacy form from InfluxConfigEditor
With this commit, legacy form components are remvoed from influxdb
config eidtor page. Form is now using FieldSet instead.
* Add context to editor so field calculation does not return undefined variable and shows on next transform
* fix bug where default alias would get interpolated
* Canvas: Button API - Block Calls to Grafana
* Move origin check inside of api logic
* Change grafana url source from href to origin
---------
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* Add option to calculate min max per field
* Fix eslint warnings
* Add back hideFromDefaults that went missing
* whitespace
* Add tests
* Refactor range calculation
* Rename localMinMax -> fieldMinMax
* Remove the lint exceptions
Removing these as to not hide these once we get around to fixing the
underlying typing issue.
* Update docs
* Create a state for dockedMegaMenu and the function to manage it
* Add the dockedMenu icon and handle the status when clicking it
* Add Megamenu to section nav area when it is docked
* get logic working
* fix mobile
* refactor state + persist in localStorage
* adjust icon and don't use position absolute
* restore old rudderstack tracking
* use Flex instead
* adjust feature toggle to be experimental
* extract out localStorage handling into utils
* don't need separate file
* use store.set/get instead
---------
Co-authored-by: eledobleefe <laura.fernandez@grafana.com>
* Don't show error when editor is empty
* Added multi-line support for error markers
* Fixed bug where new lines weren't being counted as characters
* Take startLine and endLine into account in column calculations
* Fix
* Only call preventDefault if it exists
* Change "View Traces" link to use traceQLSearch instead of the deprecated nativeSearch
* Thank you again test. Update tests
* Update test
* Update betterer
* Type fix
* Small type change
* Update betterer
* Loki completion: add more context to comments
* Improve grammar of comment
* Completions: expand on parser-offering part
* Update public/app/plugins/datasource/loki/components/monaco-query-field/monaco-completion-provider/completions.ts
* Formatting
* clean up legacy access control code for teams
* remove editorsCanAdmin config from the frontend
* add editorsCanAdmin config option back for the frontend
* display datasource information under each section
* Minor - change legend to multi in some panels that were missing it
* Don't show ds info to grafana sections
* Remove unused classname
* Remove unused import
* Fix pickers styling by placing it to the right
* Logfmt autocompletion: better handling of trailing commas
* Situation: refactor getSituation and getErrorNode
Looking for simplicity, removing redundancy, and looking for a more accurate node resolution
* Autocompletion: refactor logfmt and top level
* Update tests
* Autocompletion: better handling of trailing characters
* Completions: Update data to type changes
* Update log query in test situation
* Format code
* Autocomplete: support offering partial labels
* Completion: expand test cases
* Add unary operations to add field from calc transform
* Refactor layout to use new UI components. fix 'as' type assertions
* rename exp
* more docs
* fix docs
* feat: added markup for data source picker title
* feat: added markup for builtin data source list
* feat: added markup for datasource list
* chore: generated markup files
* feat: added markup for new data source button
* chore: generated markup files
* fix: fixed prefix names
* chore: updated markup files
* fix: removed extra spaces
* Geomap: Add Symbol Anchor Options
* Update displacement for svg case
* For square and x, account for 45 degree offset
* Simplify displacement function
* Remove unused todo
* Update test defaults to include anchor
* Add missing anchor default to tests
* Move displacement function into utils and add test
* Simplify anchor position options UX
* Change verbage to alignment and swap direction
* Include missing alignment rename
* Update tests
---------
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
* After the first auto-generate, the button changes to improve
* When clicking "improve" a toggletip appears with different ways to interact with the model to refine the result
* Analytics: Add analytics to history
---------
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>