Commit Graph

62529 Commits

Author SHA1 Message Date
Dominik Prokop 012239e6d4 Fix accidental development link in package.json
CodeQL checks / Detect whether code changed (push) Waiting to run Details
CodeQL checks / Analyze (actions) (push) Blocked by required conditions Details
CodeQL checks / Analyze (go) (push) Blocked by required conditions Details
CodeQL checks / Analyze (javascript) (push) Blocked by required conditions Details
- Remove local scenes package link that was accidentally committed during merge
- Restore proper published @grafana/scenes version (6.38.0) from main branch
- Keep Faro dependencies as they were already present in main branch
- Clean up development artifacts from package files
2025-10-07 22:42:15 +02:00
Dominik Prokop e266c88505 Merge main into feat/faro-tracing-integration-part1
- Sync feature branch with latest main branch changes
- Resolve conflicts in dashboard scene serialization imports
- Include both existing and new profiler functions for compatibility
- Refactor dashboard performance profiling architecture
- Create shared performanceUtils.ts with memory utilities and grouped logging
- Convert observer methods to arrow functions in analytics and logger classes
- Add type-safe performance.memory access with proper TypeScript interfaces
- Standardize performance logging with writePerformanceGroup utilities
- Convert duration logging from strings to numeric values for better analysis
- Fix localStorage usage to use @grafana/data store for consistency
- Update dashboard scene integration to use improved profiling system
2025-10-07 22:28:34 +02:00
Dominik Prokop c9503b0dee Refactor dashboard performance profiling architecture
- Create shared performanceUtils.ts with memory utilities and grouped logging
- Convert observer methods to arrow functions in analytics and logger classes
- Add type-safe performance.memory access with proper TypeScript interfaces
- Standardize performance logging with writePerformanceGroup utilities
- Convert duration logging from strings to numeric values for better analysis
- Fix localStorage usage to use @grafana/data store for consistency
- Update dashboard scene integration to use improved profiling system
2025-10-07 22:22:17 +02:00
Dominik Prokop aea8394eb9 Clean up performance logging architecture and remove dead code
CodeQL checks / Detect whether code changed (push) Has been cancelled Details
CodeQL checks / Analyze (actions) (push) Has been cancelled Details
CodeQL checks / Analyze (go) (push) Has been cancelled Details
CodeQL checks / Analyze (javascript) (push) Has been cancelled Details
- Remove unused resetScenePerformanceLogger and resetDashboardAnalyticsAggregator functions
- Remove redundant isInitialized flags from performance services (singleton pattern provides protection)
- Simplify performance service initialization with unified global singleton pattern
- Extract and rename initialization functions for clarity (initialise* naming convention)
- Move ScenePerformanceLogger initialization to DashboardScenePageStateManager for proper timing
- Consolidate performance service architecture for consistency between logger and aggregator
- Update imports and references throughout dashboard serialization components
- Remove leftover debugger statement
2025-09-30 11:43:06 +02:00
Dominik Prokop d6d071e7c0 Performance logging architecture improvements and service consolidation
- Rename ScenePerformanceService to ScenePerformanceLogger for clarity
- Consolidate performance service initialization into dashboardPerformanceInitializer
- Remove global singleton pattern in favor of per-dashboard lifecycle management
- Add comprehensive collapsible analytics logging with detailed panel breakdowns
- Remove duplicate completion logs between services
- Implement proper cleanup for both ScenePerformanceLogger and DashboardAnalyticsAggregator
- Update all imports and references to use new naming conventions
2025-09-29 13:58:44 +02:00
Dominik Prokop c13cf18cf0 Remove unused getDashboardInteractionCallback function
- Remove getDashboardInteractionCallback from DashboardProfiler.ts
- Clean up imports in dashboard serialization files
- Update analytics comments and remove processingTime references
- Keep getDashboardComponentInteractionCallback as the active function
2025-09-25 15:37:20 +02:00
Dominik Prokop fe644a7229 Refactor panel performance observers: consolidate APIs and simplify metadata
- Remove onPanelLifecycleStart/Complete methods from ScenePerformanceService and DashboardAnalyticsAggregator
- Update constructor bindings to remove lifecycle method references
- Remove unnecessary type guards from DashboardAnalyticsAggregator discriminated union handlers (TypeScript provides automatic type narrowing)
- Simplify fieldConfigOperations type by removing dataPointsCount and seriesCount fields
- Maintain consistent panel operation tracking using onPanelOperationStart/Complete for all operations
- Keep selective migration approach for panel vs non-panel query tracking
2025-09-25 15:14:29 +02:00
Dominik Prokop fe2781a812 Update Grafana observers to use event-specific performance interfaces
- Update ScenePerformanceService method signatures to use:
  - DashboardInteractionStartData for onDashboardInteractionStart
  - DashboardInteractionMilestoneData for onDashboardInteractionMilestone
  - DashboardInteractionCompleteData for onDashboardInteractionComplete
- Update DashboardAnalyticsAggregator with same interface changes
- Fix TypeScript type safety issues with metadata access using proper type guards
- Import new specific interfaces from @grafana/scenes
- Provides better type safety and eliminates need for runtime type checking
2025-09-25 08:54:02 +02:00
Dominik Prokop 19bb8d900d Merge remote-tracking branch 'origin/main' into feat/faro-tracing-integration-part1 2025-09-25 00:21:58 +02:00
Stephanie Hingtgen 8c5ca9ca12
Folders: fix panic on move (#111551) 2025-09-24 10:21:34 -05:00
Artur Wierzbicki bf32e9eea6
Docs: update kubectl instructions (#111530)
update kubectl instructions
2025-09-24 10:20:34 -05:00
Gilles De Mey f756c1ab62
Alerting: Update alerting RTKQ client (#111483)
re-generate the alerting RTKQ client – manually applied fixes from
https://github.com/grafana/grafana-app-sdk/pull/1000
2025-09-24 17:08:52 +02:00
Peter Štibraný 357aa7d314
Improve search index eviction (#111542)
* Modify index eviction mechanism such that unowned indexes are also evicted.

* Propagate OwnsIndex function to bleve backend

Fix tests.

Stop eviction goroutine when stopping backend.

Make linter happy.

Make sure we stop backend created by tests.

Review suggestion.

Removed newline.
2025-09-24 16:54:35 +02:00
Dominik Prokop 88c3d8ecd0 Performance attribution: Refactor SceneRenderProfiler and cleanup legacy code
- Remove queryController parameter from SceneRenderProfiler constructor
- Refactor SceneRenderProfiler to use generic metadata instead of dashboard-specific properties
- Remove local PanelProfilingConfig interface in favor of imported type
- Replace all console.log calls with conditional writePerformanceLog function
- Consolidate multiple performance logs into single structured log entries
- Remove legacy 'component-to-effects' string and renderType metadata from render tracking
- Use proper type guards instead of type assertions for metadata field access
2025-09-24 16:13:52 +02:00
Ryan McKinley a4dabc31ed
Folders: let unified storage handle authorization (#110825) 2025-09-24 16:26:47 +03:00
Ryan McKinley 305dab3a54
Annotations: Exclude internal dashboard id when saved via UID (#111535) 2025-09-24 12:51:20 +00:00
Igor Suleymanov 7aed0da22c
Add a CI step for checking app SDK codegen status (#111528)
* Add a CI step for checking app SDK codegen status

What

This commit adds a CI step for checking the status of code generated
with Grafana App SDK. The step fails if there is a git diff as a result
of the codegen step.

It also updates generated code to make sure we're starting from a
correct state.

Why

This ensures that when the schemas or the SDK version are updated, the
codegen mismatch is caught early at the PR stage.

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Format generated code

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
2025-09-24 15:37:57 +03:00
Matheus Macabu 6c8ca56651
Plugins: Identify plugin ID when provisioning fails for any reason (#111543) 2025-09-24 14:05:43 +02:00
Gabriel MABILLE a98870f8f9
Extsvcacc: Split permission scope (#111491)
* Extsvcacc: Split permission scope

* Fix integration test

* Trigger CI/CD pipeline

* Change extsvc permission comparing

* Recreate unsplit permissions
2025-09-24 13:25:44 +02:00
Gabriel MABILLE b63ba0269f
AuthZ: Recover from missing split scope (#111492)
* AuthZ: Recover from missing split scope

* Follow up changes

* Add test

* better log

* Add a comment to getScopeMap

* Punctuation
2025-09-24 13:24:21 +02:00
antonio 73cc4587bf
community contributions: update issue triage guide (#111035)
* update issue triage guide

* moved automation section

* added note to issue category section
2025-09-24 13:14:29 +02:00
Oscar Kilhed ce84ac517e
Dashboards: Increase limit of annotation tags (#111538)
increase limit of annotation tags
2025-09-24 12:50:02 +02:00
Stephanie Hingtgen 17c3f34688
Dashboards: Fix moving to root folder (#111515) 2025-09-24 04:45:00 -06:00
Josh Hunt 46adb9a158
AnnoList: Fix annotations not loading when in a repeated row (#111540) 2025-09-24 10:31:19 +00:00
Ivan Ortega Alba a72e02f88a
Fix dashboard migration discrepancies between backend and frontend implementations (use `toEqual`) (#110268)
**Highlights**

* **Single-version migrations**: add `targetVersion` to migrator & model, separate outputs, enforce exact version.
* **Datasource fixes**: include `apiVersion` in tests, empty-string → `{}`, preserve `{}` refs, drop unwanted defaults.
* **Panel defaults & nesting**: only top-level panels get defaults; preserve empty `transformations` context-aware; filter repeated panels.

* **Migration parity**

  * V16: collapsed rows, grid height parsing (`px`).
  * V17: omit `maxPerRow` when `minSpan=1`.
  * V19–V20: cleanup defaults (`targetBlank`, style).
  * V23–V24: template vars + table panel consistency.
  * V28: full singlestat/stat parity, mappings & color.
  * V30–V36: threshold logic, empty refs, nested targets.
* **Save-model cleanup**: replicate frontend defaults/filtering, drop null IDs, metadata, unused props.
* **Testing**: unified suites, dev dashboards (v42), full unit coverage for major migrations.

Co-authored-by: Ivan Ortega [ivanortegaalba@gmail.com](mailto:ivanortegaalba@gmail.com)
Co-authored-by: Dominik Prokop [dominik.prokop@grafana.com](mailto:dominik.prokop@grafana.com)
2025-09-24 12:20:25 +02:00
owensmallwood 98fd3e8fe9
Unified Storage - Fix bug when cleaning up legacy on create (#111511)
fix bug - we should be calling s.store.Get() instead of s.Get(). Adds regression test.
2025-09-24 11:09:20 +01:00
Tom Ratcliffe 053920b8b7
Dashboards: Migrate DashList panel to use grafanaSearcher (#111274) 2025-09-24 10:35:40 +01:00
Misi 54a347463e
IAM: Use the new authorizer for the User resource (#111479)
* Use the new authorizer for the User resource

* Use accessClient

* Update pkg/services/authz/rbac/mapper.go

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2025-09-24 11:32:29 +02:00
Will Assis 33ff6dbb9e
unified-storage: add feature flag to use ngram for indexing (#111265)
* unified-storage: add feature flag to use ngram instead of edge-ngram for indexing
2025-09-24 10:36:50 +02:00
Edvard Falkskär 2669e0a770
LogsView + TraceView: Add time range to resource attributes extension range (#111171) 2025-09-24 08:49:18 +01:00
Alex Khomenko 3cc2fb3728
Provisioning: Add private preview badge (#111524)
* Provisioning: Add private preview badge

* Add docs link
2025-09-24 09:02:04 +03:00
grafana-pr-automation[bot] fc5b84c930
I18n: Download translations from Crowdin (#111519)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-24 00:38:27 +00:00
github-actions[bot] 6dbe5a6b3a
Release: update changelog for main (#111503)
* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-24 00:00:53 +00:00
Andres Torres 108697bb27
chore(deps): Backend - Adding puzpuzpuz/xsync/v4 (#111507) 2025-09-23 19:09:46 -04:00
Stephanie Hingtgen c2b513a2b3
Dashboards: Cleanup folder client (#111510) 2025-09-23 16:54:52 -05:00
Stephanie Hingtgen 8caaf87584
Dashboards: Use folder client provider if folder client is nil (#111506) 2025-09-23 20:59:27 +00:00
Santiago 345b72227f
Alert State History: Remove redundant JSON serialization when merging Loki streams (#111443) 2025-09-23 20:56:37 +02:00
Juan Cabanas 8ecb389c96
SavedQueries: Fix closeDrawer type (#111403) 2025-09-23 14:33:37 -03:00
Costa Alexoglou 8f77a3e0e8
chore: swap access check to folder client (#111490) 2025-09-23 11:40:10 -05:00
Ryan McKinley a9de52c3e9
Folders: Build the same apiserver regardless of ST or MT (#111481) 2025-09-23 11:27:02 -05:00
Peter Štibraný f062e5a85f
Stop background tasks and when stopping bleve backend. (#111249)
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-09-23 18:04:49 +02:00
Ryan McKinley 9494175984
Folders: Use access checker for /access endpoint (#110745) 2025-09-23 15:35:26 +00:00
Lauren 3612687f3d
Alerting: Move enrichment tab between details and versions (#110886) 2025-09-23 16:39:45 +02:00
Lauren 5c6d33290f
Alerting: Remove unused components (#111320) 2025-09-23 16:39:00 +02:00
Jacob Valdez f7b04bc25d
docs: reorder whats new posts and include plugin translation (#111482) 2025-09-23 14:33:40 +00:00
Austin Pond bc0f746eed
apiserver: Allow AppInstaller to Handle Custom Resource Routes (#111381)
[apiserver] Fix appinstaller.serverWrapper.RegisteredWebServices() to return the RegisteredWebServices from the underlying apiserver's Handler's GoRestfulContainer, matching the logic in grafana-app-sdk's apiserver.KubernetesGenericAPIServer
2025-09-23 10:32:03 -04:00
Stephanie Hingtgen ab9f2dc9ef
Provisioning: Prevent dashboard imports on provisioned folders (#111476) 2025-09-23 14:24:04 +00:00
Ryan McKinley 94b82b0e5e
Stars: Manage from apiserver (#111368) 2025-09-23 17:13:05 +03:00
Tobias Skarhed 8317188570
Scopes: Reset query functionality (#111470)
* Reset query functionality

* Remove unused variable

* Reset node query on expansion
2025-09-23 15:58:25 +02:00
Lauren e4edb7b7bc
Alerting: Display error message in central state history view (#111445) 2025-09-23 15:55:53 +02:00