@grafana/scenes 6.40.0--canary.1265.18715274766.0 → 6.40.0--canary.1281.18720650291.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/esm/{performance → behaviors}/LongFrameDetector.js +11 -11
  2. package/dist/esm/behaviors/LongFrameDetector.js.map +1 -0
  3. package/dist/esm/behaviors/SceneInteractionTracker.js.map +1 -1
  4. package/dist/esm/behaviors/SceneQueryController.js.map +1 -1
  5. package/dist/esm/{performance → behaviors}/SceneRenderProfiler.js +132 -87
  6. package/dist/esm/behaviors/SceneRenderProfiler.js.map +1 -0
  7. package/dist/esm/components/SceneRefreshPicker.js +1 -1
  8. package/dist/esm/components/SceneRefreshPicker.js.map +1 -1
  9. package/dist/esm/components/VizPanel/VizPanel.js +0 -26
  10. package/dist/esm/components/VizPanel/VizPanel.js.map +1 -1
  11. package/dist/esm/components/VizPanel/VizPanelRenderer.js +1 -18
  12. package/dist/esm/components/VizPanel/VizPanelRenderer.js.map +1 -1
  13. package/dist/esm/core/SceneTimeRange.js +1 -1
  14. package/dist/esm/core/SceneTimeRange.js.map +1 -1
  15. package/dist/esm/index.js +3 -5
  16. package/dist/esm/index.js.map +1 -1
  17. package/dist/esm/querying/SceneDataTransformer.js +0 -57
  18. package/dist/esm/querying/SceneDataTransformer.js.map +1 -1
  19. package/dist/esm/querying/SceneQueryRunner.js +6 -11
  20. package/dist/esm/querying/SceneQueryRunner.js.map +1 -1
  21. package/dist/esm/querying/registerQueryWithController.js +2 -39
  22. package/dist/esm/querying/registerQueryWithController.js.map +1 -1
  23. package/dist/esm/services/UniqueUrlKeyMapper.js +21 -12
  24. package/dist/esm/services/UniqueUrlKeyMapper.js.map +1 -1
  25. package/dist/esm/utils/writeSceneLog.js +10 -1
  26. package/dist/esm/utils/writeSceneLog.js.map +1 -1
  27. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +1 -1
  28. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js.map +1 -1
  29. package/dist/esm/variables/adhoc/AdHocFiltersVariable.js +1 -1
  30. package/dist/esm/variables/adhoc/AdHocFiltersVariable.js.map +1 -1
  31. package/dist/esm/variables/components/VariableValueSelect.js +1 -1
  32. package/dist/esm/variables/components/VariableValueSelect.js.map +1 -1
  33. package/dist/esm/variables/groupby/GroupByVariable.js +1 -1
  34. package/dist/esm/variables/groupby/GroupByVariable.js.map +1 -1
  35. package/dist/esm/variables/variants/MultiValueVariable.js +1 -1
  36. package/dist/esm/variables/variants/MultiValueVariable.js.map +1 -1
  37. package/dist/esm/variables/variants/ScopesVariable.js +1 -1
  38. package/dist/esm/variables/variants/ScopesVariable.js.map +1 -1
  39. package/dist/index.d.ts +95 -326
  40. package/dist/index.js +6384 -6942
  41. package/dist/index.js.map +1 -1
  42. package/package.json +2 -2
  43. package/dist/esm/performance/LongFrameDetector.js.map +0 -1
  44. package/dist/esm/performance/PanelProfilingManager.js +0 -65
  45. package/dist/esm/performance/PanelProfilingManager.js.map +0 -1
  46. package/dist/esm/performance/ScenePerformanceTracker.js +0 -82
  47. package/dist/esm/performance/ScenePerformanceTracker.js.map +0 -1
  48. package/dist/esm/performance/SceneRenderProfiler.js.map +0 -1
  49. package/dist/esm/performance/VizPanelRenderProfiler.js +0 -316
  50. package/dist/esm/performance/VizPanelRenderProfiler.js.map +0 -1
  51. package/dist/esm/performance/index.js +0 -3
  52. package/dist/esm/performance/index.js.map +0 -1
  53. package/dist/esm/performance/interactionConstants.js +0 -13
  54. package/dist/esm/performance/interactionConstants.js.map +0 -1
  55. package/dist/esm/utils/findPanelProfiler.js +0 -18
  56. package/dist/esm/utils/findPanelProfiler.js.map +0 -1
  57. package/dist/esm/utils/writePerformanceLog.js +0 -12
  58. package/dist/esm/utils/writePerformanceLog.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import * as _grafana_data from '@grafana/data';
2
- import { BusEventWithPayload, EventBus, BusEvent, BusEventType, BusEventHandler, PanelMenuItem, DataQueryRequest, FieldConfigSource, PanelPlugin, AbsoluteTimeRange, PanelData, InterpolateFunction, PanelModel, TimeRange, DataTransformContext, DataFrame, DataSourceGetTagKeysOptions, DataSourceGetTagValuesOptions, IconName, PageLayoutType, UrlQueryMap, DataQuery as DataQuery$1, DataSourceApi, Registry, RegistryItem, ScopedVars, AdHocVariableFilter, GetTagResponse, MetricFindValue, SelectableValue, VariableRefresh as VariableRefresh$1, VariableSort, DrilldownsApplicability, Scope, EventFilterOptions, AnnotationEvent, AnnotationQuery, DataTransformerConfig, TimeOption, FieldConfig, FieldType, FieldValueMatcherConfig, ScopedVar, RawTimeRange } from '@grafana/data';
3
- import * as _grafana_schema from '@grafana/schema';
4
- import { VariableType, VariableHide, LoadingState, TimeZone, DataQuery, DataTopic, DataSourceRef, VariableRefresh, DashboardCursorSync, MatcherConfig, TableFieldOptions } from '@grafana/schema';
2
+ import { BusEventWithPayload, EventBus, BusEvent, BusEventType, BusEventHandler, PanelMenuItem, FieldConfigSource, PanelPlugin, AbsoluteTimeRange, PanelData, InterpolateFunction, PanelModel, TimeRange, DataTransformContext, DataFrame, DataQueryRequest, DataSourceGetTagKeysOptions, DataSourceGetTagValuesOptions, IconName, PageLayoutType, UrlQueryMap, DataQuery as DataQuery$1, DataSourceApi, Registry, RegistryItem, ScopedVars, AdHocVariableFilter, GetTagResponse, MetricFindValue, SelectableValue, VariableRefresh as VariableRefresh$1, VariableSort, DrilldownsApplicability, Scope, EventFilterOptions, AnnotationEvent, AnnotationQuery, DataTransformerConfig, TimeOption, FieldConfig, FieldType, FieldValueMatcherConfig, ScopedVar, RawTimeRange } from '@grafana/data';
5
3
  import * as React$1 from 'react';
6
4
  import React__default, { ComponentType, CSSProperties, PointerEvent, ForwardRefExoticComponent } from 'react';
7
5
  import * as rxjs from 'rxjs';
8
6
  import { Observable, Subscription, Unsubscribable, MonoTypeOperatorFunction, ReplaySubject } from 'rxjs';
7
+ import * as _grafana_schema from '@grafana/schema';
8
+ import { VariableType, VariableHide, TimeZone, DataQuery, DataTopic, DataSourceRef, VariableRefresh, LoadingState, DashboardCursorSync, MatcherConfig, TableFieldOptions } from '@grafana/schema';
9
9
  import { PanelContext, WeekStart, IconName as IconName$1 } from '@grafana/ui';
10
10
  import { LocationService, VariableInterpolation, ScopesContextValue } from '@grafana/runtime';
11
11
  import { Location } from 'history';
@@ -315,127 +315,6 @@ declare class VariableDependencyConfig<TState extends SceneObjectState> implemen
315
315
  private handleTimeMacros;
316
316
  }
317
317
 
318
- interface LongFrameEvent {
319
- duration: number;
320
- timestamp: number;
321
- method: 'manual' | 'loaf';
322
- }
323
- type LongFrameCallback = (event: LongFrameEvent) => void;
324
-
325
- interface QueryResultWithState {
326
- state: LoadingState;
327
- }
328
- interface SceneQueryControllerEntry {
329
- request?: DataQueryRequest;
330
- type: SceneQueryControllerEntryType;
331
- origin: SceneObject;
332
- cancel?: () => void;
333
- }
334
- type SceneQueryControllerEntryType = 'data' | 'annotations' | 'variable' | 'alerts' | 'plugin' | string;
335
-
336
-
337
-
338
- interface SceneComponentInteractionEvent {
339
- origin: string;
340
- duration: number;
341
- networkDuration: number;
342
- startTs: number;
343
- endTs: number;
344
- }
345
- interface SceneInteractionTrackerState extends SceneObjectState {
346
- enableInteractionTracking?: boolean;
347
- onInteractionComplete?(event: SceneComponentInteractionEvent): void;
348
- }
349
- interface SceneQueryStateControllerState extends SceneObjectState {
350
- isRunning: boolean;
351
- enableProfiling?: boolean;
352
- }
353
- interface SceneQueryControllerLike extends SceneObject<SceneQueryStateControllerState> {
354
- isQueryController: true;
355
- cancelAll(): void;
356
- queryStarted(entry: SceneQueryControllerEntry): void;
357
- queryCompleted(entry: SceneQueryControllerEntry): void;
358
- startProfile(name: string): void;
359
- cancelProfile(): void;
360
- runningQueriesCount(): number;
361
- }
362
-
363
- /**
364
- * Performance tracking callback types
365
- */
366
- type QueryCompletionCallback = (endTimestamp: number, error?: any) => void;
367
- type PluginLoadCompletionCallback = (plugin: any, fromCache?: boolean) => void;
368
- type FieldConfigCompletionCallback = (endTimestamp: number, dataPointsCount?: number, seriesCount?: number) => void;
369
- type RenderCompletionCallback = (endTimestamp: number, duration: number) => void;
370
- type DataTransformCompletionCallback = (endTimestamp: number, duration: number, success: boolean, result?: {
371
- error?: string;
372
- }) => void;
373
-
374
- interface QueryProfilerLike {
375
- onQueryStarted(timestamp: number, entry: SceneQueryControllerEntry, queryId: string): QueryCompletionCallback | null;
376
- }
377
- /**
378
- * Will look for a scene object with a behavior that is a SceneQueryController and register the query with it.
379
- * Optionally accepts a panel profiler for direct query tracking callbacks.
380
- */
381
- declare function registerQueryWithController<T extends QueryResultWithState>(entry: SceneQueryControllerEntry, profiler?: QueryProfilerLike): (queryStream: Observable<T>) => Observable<T>;
382
-
383
- interface VizPanelRenderProfilerState extends SceneObjectState {
384
- }
385
- /**
386
- * Tracks performance metrics for individual VizPanel instances using observer pattern.
387
- *
388
- * Performance events are sent to ScenePerformanceTracker observers, which are consumed
389
- * by Grafana's ScenePerformanceLogger and DashboardAnalyticsAggregator.
390
- */
391
- declare class VizPanelRenderProfiler extends SceneObjectBase<VizPanelRenderProfilerState> implements QueryProfilerLike {
392
- private _panelKey?;
393
- private _panelId?;
394
- private _pluginId?;
395
- private _pluginVersion?;
396
- private _isTracking;
397
- private _loadPluginStartTime?;
398
- private _applyFieldConfigStartTime?;
399
- private _activeQueries;
400
- constructor(state?: Partial<VizPanelRenderProfilerState>);
401
- private _onActivate;
402
- private _handlePanelStateChange;
403
- /**
404
- * Track query execution with operation ID correlation
405
- */
406
- onQueryStarted(timestamp: number, entry: SceneQueryControllerEntry, queryId: string): QueryCompletionCallback | null;
407
- /**
408
- * Track plugin loading with operation ID correlation
409
- */
410
- onPluginLoadStart(pluginId: string): PluginLoadCompletionCallback | null;
411
- /**
412
- * Track field config processing with operation ID correlation
413
- */
414
- onFieldConfigStart(timestamp: number): FieldConfigCompletionCallback | null;
415
- /**
416
- * Get panel info for logging - truncates long titles for readability
417
- */
418
- private _getPanelInfo;
419
- /**
420
- * Track simple render timing with operation ID correlation
421
- */
422
- onSimpleRenderStart(timestamp: number): RenderCompletionCallback | undefined;
423
- /** Handle plugin changes */
424
- private _onPluginChange;
425
- /** Start tracking this panel */
426
- private _startTracking;
427
- /** Cleanup when behavior is deactivated */
428
- private _cleanup;
429
- /**
430
- * Track data transformation with operation ID correlation
431
- */
432
- onDataTransformStart(timestamp: number, transformationId: string, metrics: {
433
- transformationCount: number;
434
- seriesTransformationCount: number;
435
- annotationTransformationCount: number;
436
- }): DataTransformCompletionCallback | null;
437
- }
438
-
439
318
  interface VizPanelState<TOptions = {}, TFieldConfig = {}> extends SceneObjectState {
440
319
  /**
441
320
  * This is usually a plugin id that references a core plugin or an external plugin. But this can also reference a
@@ -506,10 +385,6 @@ declare class VizPanel<TOptions = {}, TFieldConfig extends {} = {}> extends Scen
506
385
  private _dataWithFieldConfig?;
507
386
  private _structureRev;
508
387
  constructor(state: Partial<VizPanelState<TOptions, TFieldConfig>>);
509
- /**
510
- * Get the VizPanelRenderProfiler behavior if attached
511
- */
512
- getProfiler(): VizPanelRenderProfiler | undefined;
513
388
  private _onActivate;
514
389
  forceRender(): void;
515
390
  private _loadPlugin;
@@ -1468,6 +1343,65 @@ declare class UserActionEvent extends BusEventWithPayload<UserActionEventPayload
1468
1343
  */
1469
1344
  declare function lookupVariable(name: string, sceneObject: SceneObject): SceneVariable | null;
1470
1345
 
1346
+ interface LongFrameEvent {
1347
+ duration: number;
1348
+ timestamp: number;
1349
+ method: 'manual' | 'loaf';
1350
+ }
1351
+ type LongFrameCallback = (event: LongFrameEvent) => void;
1352
+
1353
+ interface QueryResultWithState {
1354
+ state: LoadingState;
1355
+ }
1356
+ interface SceneQueryControllerEntry {
1357
+ request?: DataQueryRequest;
1358
+ type: SceneQueryControllerEntryType;
1359
+ origin: SceneObject;
1360
+ cancel?: () => void;
1361
+ }
1362
+ type SceneQueryControllerEntryType = 'data' | 'annotations' | 'variable' | 'alerts' | 'plugin' | string;
1363
+
1364
+
1365
+
1366
+ interface SceneInteractionProfileEvent {
1367
+ origin: string;
1368
+ duration: number;
1369
+ networkDuration: number;
1370
+ jsHeapSizeLimit: number;
1371
+ usedJSHeapSize: number;
1372
+ totalJSHeapSize: number;
1373
+ crumbs: string[];
1374
+ startTs: number;
1375
+ endTs: number;
1376
+ longFramesCount: number;
1377
+ longFramesTotalTime: number;
1378
+ }
1379
+ interface SceneComponentInteractionEvent {
1380
+ origin: string;
1381
+ duration: number;
1382
+ networkDuration: number;
1383
+ startTs: number;
1384
+ endTs: number;
1385
+ }
1386
+ interface SceneInteractionTrackerState extends SceneObjectState {
1387
+ enableInteractionTracking?: boolean;
1388
+ onInteractionComplete?(event: SceneComponentInteractionEvent): void;
1389
+ }
1390
+ interface SceneQueryStateControllerState extends SceneObjectState {
1391
+ isRunning: boolean;
1392
+ enableProfiling?: boolean;
1393
+ onProfileComplete?(event: SceneInteractionProfileEvent): void;
1394
+ }
1395
+ interface SceneQueryControllerLike extends SceneObject<SceneQueryStateControllerState> {
1396
+ isQueryController: true;
1397
+ cancelAll(): void;
1398
+ queryStarted(entry: SceneQueryControllerEntry): void;
1399
+ queryCompleted(entry: SceneQueryControllerEntry): void;
1400
+ startProfile(name: string): void;
1401
+ cancelProfile(): void;
1402
+ runningQueriesCount(): number;
1403
+ }
1404
+
1471
1405
  /**
1472
1406
  * Returns the closest query controller undefined if none found
1473
1407
  */
@@ -1647,10 +1581,6 @@ declare class PanelContextEventBus implements EventBus {
1647
1581
  newScopedBus(key: string, filter: EventFilterOptions): EventBus;
1648
1582
  }
1649
1583
 
1650
- interface PanelProfilingConfig {
1651
- watchStateKey?: string;
1652
- }
1653
-
1654
1584
  /**
1655
1585
  * SceneRenderProfiler tracks dashboard interaction performance including:
1656
1586
  * - Total interaction duration
@@ -1670,17 +1600,9 @@ interface PanelProfilingConfig {
1670
1600
  */
1671
1601
  declare class SceneRenderProfiler {
1672
1602
  #private;
1673
- private metadata;
1674
- private _panelProfilingManager?;
1675
1603
  private queryController?;
1676
- constructor(panelProfilingConfig?: PanelProfilingConfig);
1677
- /** Set generic metadata for observer notifications */
1678
- setMetadata(metadata: Record<string, unknown>): void;
1604
+ constructor(queryController?: SceneQueryControllerLike | undefined);
1679
1605
  setQueryController(queryController: SceneQueryControllerLike): void;
1680
- /** Attach panel profiling to a scene object */
1681
- attachPanelProfiling(sceneObject: SceneObject): void;
1682
- /** Attach profiler to a specific panel */
1683
- attachProfilerToPanel(panel: VizPanel): void;
1684
1606
  setInteractionCompleteHandler(handler?: (event: SceneComponentInteractionEvent) => void): void;
1685
1607
  private setupVisibilityChangeHandler;
1686
1608
  cleanup(): void;
@@ -1689,9 +1611,14 @@ declare class SceneRenderProfiler {
1689
1611
  stopInteraction(): void;
1690
1612
  getCurrentInteraction(): string | null;
1691
1613
  /**
1692
- * Start new performance profile
1693
- * @param name - Profile trigger (e.g., 'time_range_change')
1694
- * @param force - True if canceling existing profile, false if starting clean
1614
+ * Starts a new profile for performance measurement.
1615
+ *
1616
+ * @param name - The origin/trigger of the profile (e.g., 'time_range_change', 'variable_value_changed')
1617
+ * @param force - Whether this is a "forced" profile (true) or "clean" profile (false)
1618
+ * - "forced": Started by canceling an existing profile that was recording trailing frames
1619
+ * This happens when a new user interaction occurs before the previous one
1620
+ * finished measuring its performance impact
1621
+ * - "clean": Started when no profile is currently active
1695
1622
  */
1696
1623
  private _startNewProfile;
1697
1624
  private recordProfileTail;
@@ -1740,186 +1667,26 @@ declare class LiveNowTimer extends SceneObjectBase<LiveNowTimerState> {
1740
1667
  get isEnabled(): boolean;
1741
1668
  }
1742
1669
 
1743
- type index$2_ActWhenVariableChanged = ActWhenVariableChanged;
1744
- declare const index$2_ActWhenVariableChanged: typeof ActWhenVariableChanged;
1745
- type index$2_CursorSync = CursorSync;
1746
- declare const index$2_CursorSync: typeof CursorSync;
1747
- type index$2_LiveNowTimer = LiveNowTimer;
1748
- declare const index$2_LiveNowTimer: typeof LiveNowTimer;
1749
- type index$2_SceneInteractionTracker = SceneInteractionTracker;
1750
- declare const index$2_SceneInteractionTracker: typeof SceneInteractionTracker;
1751
- type index$2_SceneQueryController = SceneQueryController;
1752
- declare const index$2_SceneQueryController: typeof SceneQueryController;
1753
- declare namespace index$2 {
1670
+ type index$1_ActWhenVariableChanged = ActWhenVariableChanged;
1671
+ declare const index$1_ActWhenVariableChanged: typeof ActWhenVariableChanged;
1672
+ type index$1_CursorSync = CursorSync;
1673
+ declare const index$1_CursorSync: typeof CursorSync;
1674
+ type index$1_LiveNowTimer = LiveNowTimer;
1675
+ declare const index$1_LiveNowTimer: typeof LiveNowTimer;
1676
+ type index$1_SceneInteractionTracker = SceneInteractionTracker;
1677
+ declare const index$1_SceneInteractionTracker: typeof SceneInteractionTracker;
1678
+ type index$1_SceneQueryController = SceneQueryController;
1679
+ declare const index$1_SceneQueryController: typeof SceneQueryController;
1680
+ declare namespace index$1 {
1754
1681
  export {
1755
- index$2_ActWhenVariableChanged as ActWhenVariableChanged,
1756
- index$2_CursorSync as CursorSync,
1757
- index$2_LiveNowTimer as LiveNowTimer,
1758
- index$2_SceneInteractionTracker as SceneInteractionTracker,
1759
- index$2_SceneQueryController as SceneQueryController,
1682
+ index$1_ActWhenVariableChanged as ActWhenVariableChanged,
1683
+ index$1_CursorSync as CursorSync,
1684
+ index$1_LiveNowTimer as LiveNowTimer,
1685
+ index$1_SceneInteractionTracker as SceneInteractionTracker,
1686
+ index$1_SceneQueryController as SceneQueryController,
1760
1687
  };
1761
1688
  }
1762
1689
 
1763
- /** Base interface for all performance events */
1764
- interface BasePerformanceEvent {
1765
- operationId: string;
1766
- timestamp: number;
1767
- duration?: number;
1768
- error?: string;
1769
- }
1770
- interface DashboardInteractionStartData extends BasePerformanceEvent {
1771
- interactionType: string;
1772
- metadata?: Record<string, unknown>;
1773
- }
1774
- interface DashboardInteractionMilestoneData extends BasePerformanceEvent {
1775
- interactionType: string;
1776
- milestone: string;
1777
- metadata?: Record<string, unknown>;
1778
- }
1779
- interface DashboardInteractionCompleteData extends BasePerformanceEvent {
1780
- interactionType: string;
1781
- networkDuration?: number;
1782
- longFramesCount: number;
1783
- longFramesTotalTime: number;
1784
- metadata?: Record<string, unknown>;
1785
- }
1786
- /** Metadata interface for transform operations */
1787
- interface TransformMetadata {
1788
- transformationId: string;
1789
- transformationCount: number;
1790
- seriesTransformationCount: number;
1791
- annotationTransformationCount: number;
1792
- success?: boolean;
1793
- error?: string;
1794
- }
1795
- /** Metadata interface for query operations */
1796
- interface QueryMetadata {
1797
- queryId: string;
1798
- queryType: string;
1799
- }
1800
- /** Metadata interface for render operations */
1801
- interface RenderMetadata {
1802
- }
1803
- /** Metadata interface for plugin load operations */
1804
- interface PluginLoadMetadata {
1805
- pluginId: string;
1806
- fromCache?: boolean;
1807
- pluginLoadTime?: number;
1808
- }
1809
- /** Metadata interface for field config operations */
1810
- interface FieldConfigMetadata {
1811
- }
1812
- /** Base interface for panel performance events */
1813
- interface BasePanelPerformanceData extends BasePerformanceEvent {
1814
- panelId: string;
1815
- panelKey: string;
1816
- pluginId: string;
1817
- pluginVersion?: string;
1818
- panelTitle?: string;
1819
- }
1820
- /** Transform operation performance data */
1821
- interface PanelTransformPerformanceData extends BasePanelPerformanceData {
1822
- operation: 'transform';
1823
- metadata: TransformMetadata;
1824
- }
1825
- /** Query operation performance data */
1826
- interface PanelQueryPerformanceData extends BasePanelPerformanceData {
1827
- operation: 'query';
1828
- metadata: QueryMetadata;
1829
- }
1830
- /** Render operation performance data */
1831
- interface PanelRenderPerformanceData extends BasePanelPerformanceData {
1832
- operation: 'render';
1833
- metadata: RenderMetadata;
1834
- }
1835
- /** Plugin load operation performance data */
1836
- interface PanelPluginLoadPerformanceData extends BasePanelPerformanceData {
1837
- operation: 'plugin-load';
1838
- metadata: PluginLoadMetadata;
1839
- }
1840
- /** Field config operation performance data */
1841
- interface PanelFieldConfigPerformanceData extends BasePanelPerformanceData {
1842
- operation: 'fieldConfig';
1843
- metadata: FieldConfigMetadata;
1844
- }
1845
- /** Discriminated union of all panel performance data types */
1846
- type PanelPerformanceData = PanelTransformPerformanceData | PanelQueryPerformanceData | PanelRenderPerformanceData | PanelPluginLoadPerformanceData | PanelFieldConfigPerformanceData;
1847
- /** Non-panel query performance data for dashboard queries (annotations, variables, etc.) */
1848
- interface QueryPerformanceData extends BasePerformanceEvent {
1849
- queryId: string;
1850
- queryType: string;
1851
- origin: string;
1852
- }
1853
- /**
1854
- * Observer interface for performance monitoring
1855
- * External systems implement this to receive performance notifications
1856
- */
1857
- interface ScenePerformanceObserver {
1858
- onDashboardInteractionStart?(data: DashboardInteractionStartData): void;
1859
- onDashboardInteractionMilestone?(data: DashboardInteractionMilestoneData): void;
1860
- onDashboardInteractionComplete?(data: DashboardInteractionCompleteData): void;
1861
- onPanelOperationStart?(data: PanelPerformanceData): void;
1862
- onPanelOperationComplete?(data: PanelPerformanceData): void;
1863
- onQueryStart?(data: QueryPerformanceData): void;
1864
- onQueryComplete?(data: QueryPerformanceData): void;
1865
- }
1866
- /**
1867
- * Centralized performance tracker
1868
- * Manages observers and provides methods for scene objects to report performance events
1869
- */
1870
- declare class ScenePerformanceTracker {
1871
- private static instance;
1872
- private observers;
1873
- static getInstance(): ScenePerformanceTracker;
1874
- /**
1875
- * Register a performance observer
1876
- */
1877
- addObserver(observer: ScenePerformanceObserver): () => void;
1878
- /**
1879
- * Remove all observers (for testing)
1880
- */
1881
- clearObservers(): void;
1882
- /**
1883
- * Get current observer count (for debugging)
1884
- */
1885
- getObserverCount(): number;
1886
- private notifyObservers;
1887
- notifyDashboardInteractionStart(data: DashboardInteractionStartData): void;
1888
- notifyDashboardInteractionMilestone(data: DashboardInteractionMilestoneData): void;
1889
- notifyDashboardInteractionComplete(data: DashboardInteractionCompleteData): void;
1890
- notifyPanelOperationStart(data: PanelPerformanceData): void;
1891
- notifyPanelOperationComplete(data: PanelPerformanceData): void;
1892
- notifyQueryStart(data: QueryPerformanceData): void;
1893
- notifyQueryComplete(data: QueryPerformanceData): void;
1894
- }
1895
- /**
1896
- * Get the global performance tracker instance
1897
- */
1898
- declare function getScenePerformanceTracker(): ScenePerformanceTracker;
1899
-
1900
-
1901
-
1902
-
1903
-
1904
-
1905
-
1906
-
1907
- type index$1_DashboardInteractionCompleteData = DashboardInteractionCompleteData;
1908
- type index$1_DashboardInteractionMilestoneData = DashboardInteractionMilestoneData;
1909
- type index$1_DashboardInteractionStartData = DashboardInteractionStartData;
1910
- type index$1_PanelPerformanceData = PanelPerformanceData;
1911
- type index$1_QueryPerformanceData = QueryPerformanceData;
1912
- type index$1_ScenePerformanceObserver = ScenePerformanceObserver;
1913
- type index$1_SceneRenderProfiler = SceneRenderProfiler;
1914
- declare const index$1_SceneRenderProfiler: typeof SceneRenderProfiler;
1915
- declare const index$1_getScenePerformanceTracker: typeof getScenePerformanceTracker;
1916
- declare namespace index$1 {
1917
- export { index$1_SceneRenderProfiler as SceneRenderProfiler, index$1_getScenePerformanceTracker as getScenePerformanceTracker };
1918
- export type { index$1_DashboardInteractionCompleteData as DashboardInteractionCompleteData, index$1_DashboardInteractionMilestoneData as DashboardInteractionMilestoneData, index$1_DashboardInteractionStartData as DashboardInteractionStartData, index$1_PanelPerformanceData as PanelPerformanceData, index$1_QueryPerformanceData as QueryPerformanceData, index$1_ScenePerformanceObserver as ScenePerformanceObserver };
1919
- }
1920
-
1921
- declare function writePerformanceLog(logger: string, message: string, ...rest: unknown[]): void;
1922
-
1923
1690
  /**
1924
1691
  * Base class for data layer. Handles common implementation including enabling/disabling layer and publishing results.
1925
1692
  */
@@ -2245,10 +2012,6 @@ declare class SceneDataTransformer extends SceneObjectBase<SceneDataTransformerS
2245
2012
  setContainerWidth(width: number): void;
2246
2013
  isDataReadyToDisplay(): boolean;
2247
2014
  reprocessTransformations(): void;
2248
- /**
2249
- * S3.1: Calculate transformation complexity metrics
2250
- */
2251
- private _calculateTransformationMetrics;
2252
2015
  cancelQuery(): void;
2253
2016
  getResultsStream(): ReplaySubject<SceneDataProviderResult>;
2254
2017
  clone(withState?: Partial<SceneDataTransformerState>): this;
@@ -2260,6 +2023,11 @@ declare class SceneDataTransformer extends SceneObjectBase<SceneDataTransformerS
2260
2023
  private _filterAndPrepareTransformationsByTopic;
2261
2024
  }
2262
2025
 
2026
+ /**
2027
+ * Will look for a scene object with a behavior that is a SceneQueryController and register the query with it.
2028
+ */
2029
+ declare function registerQueryWithController<T extends QueryResultWithState>(entry: SceneQueryControllerEntry): (queryStream: Observable<T>) => Observable<T>;
2030
+
2263
2031
  interface VariableValueSelectorsState extends SceneObjectState {
2264
2032
  layout?: ControlsLayout;
2265
2033
  }
@@ -3437,6 +3205,7 @@ declare const loadResources: ResourceLoader;
3437
3205
 
3438
3206
 
3439
3207
 
3208
+
3440
3209
 
3441
3210
 
3442
3211
  declare const sceneUtils: {
@@ -3464,5 +3233,5 @@ declare const sceneUtils: {
3464
3233
  buildPathIdFor: typeof buildPathIdFor;
3465
3234
  };
3466
3235
 
3467
- export { AdHocFiltersVariable, ConstantVariable, ControlsLabel, CustomVariable, DataProviderProxy, DataSourceVariable, EmbeddedScene, FieldConfigBuilder, FieldConfigBuilders, FieldConfigOverridesBuilder, GroupByVariable, IntervalVariable, LazyLoader, LocalValueVariable, MultiOrSingleValueSelect, MultiValueVariable, NestedScene, NewSceneObjectAddedEvent, PATH_ID_SEPARATOR, PanelBuilders, PanelOptionsBuilders, QueryVariable, RuntimeDataSource, SafeSerializableSceneObject, SceneApp, SceneAppPage, SceneByFrameRepeater, SceneByVariableRepeater, SceneCSSGridItem, SceneCSSGridLayout, SceneCanvasText, SceneControlsSpacer, SceneDataLayerBase, SceneDataLayerControls, SceneDataLayerSet, SceneDataLayerSetBase, SceneDataNode, SceneDataTransformer, SceneDebugger, SceneFlexItem, SceneFlexLayout, SceneGridItem, SceneGridLayout, SceneGridLayoutDragStartEvent, SceneGridRow, SceneObjectBase, SceneObjectRef, SceneObjectStateChangedEvent, SceneObjectUrlSyncConfig, SceneQueryRunner, SceneReactObject, SceneRefreshPicker, SceneTimePicker, SceneTimeRange, SceneTimeRangeCompare, SceneTimeRangeTransformerBase, SceneTimeZoneOverride, SceneToolbarButton, SceneToolbarInput, SceneVariableSet, SceneVariableValueChangedEvent, ScopesVariable, SplitLayout, SwitchVariable, TestVariable, TextBoxVariable, UrlSyncContextProvider, UrlSyncManager, UserActionEvent, VariableDependencyConfig, VariableValueControl, VariableValueSelectWrapper, VariableValueSelectors, VizConfigBuilder, VizConfigBuilders, VizPanel, VizPanelBuilder, VizPanelExploreButton, VizPanelMenu, index$2 as behaviors, index as dataLayers, escapeUrlPipeDelimiters, formatRegistry, getExploreURL, isCustomVariableValue, isDataLayer, isDataRequestEnricher, isFiltersRequestEnricher, isSceneObject, loadResources, index$1 as performanceUtils, registerQueryWithController, registerRuntimeDataSource, sceneGraph, sceneUtils, useSceneApp, useSceneObjectState, useUrlSync, writePerformanceLog };
3468
- export type { AdHocFilterWithLabels, CancelActivationHandler, ControlsLayout, CustomFormatterVariable, CustomTransformOperator, CustomTransformerDefinition, CustomVariableValue, DataLayerFilter, DataRequestEnricher, DeepPartial, EmbeddedSceneState, ExtraQueryDataProcessor, ExtraQueryDescriptor, ExtraQueryProvider, FiltersRequestEnricher, FormatVariable, InterpolationFormatParameter, MacroVariableConstructor, MultiValueVariableState, QueryRunnerState, SceneActivationHandler, SceneAppDrilldownView, SceneAppPageLike, SceneAppPageState, SceneAppRoute, SceneComponent, SceneComponentProps, SceneDataLayerProvider, SceneDataLayerProviderState, SceneDataProvider, SceneDataProviderResult, SceneDataQuery, SceneDataState, SceneDataTransformerState, SceneDeactivationHandler, SceneFlexItemLike, SceneFlexItemState, SceneGridItemLike, SceneGridItemStateLike, SceneLayout, SceneLayoutChildOptions, SceneLayoutState, SceneObject, SceneObjectState, SceneObjectStateChangedPayload, SceneObjectUrlSyncHandler, SceneObjectUrlValue, SceneObjectUrlValues, SceneObjectWithUrlSync, SceneQueryControllerEntry, SceneQueryControllerEntryType, SceneQueryControllerLike, SceneRefreshPickerState, SceneRouteMatch, SceneStateChangedHandler, SceneStatelessBehavior, SceneTimeRangeLike, SceneTimeRangeState, SceneUrlSyncOptions, SceneVariable, SceneVariableDependencyConfigLike, SceneVariableSetState, SceneVariableState, SceneVariables, UrlSyncManagerLike, UseStateHookOptions, ValidateAndUpdateResult, VariableCustomFormatterFn, VariableGetOptionsArgs, VariableValue, VariableValueOption, VariableValueSingle, VizConfig, VizPanelState };
3236
+ export { AdHocFiltersVariable, ConstantVariable, ControlsLabel, CustomVariable, DataProviderProxy, DataSourceVariable, EmbeddedScene, FieldConfigBuilder, FieldConfigBuilders, FieldConfigOverridesBuilder, GroupByVariable, IntervalVariable, LazyLoader, LocalValueVariable, MultiOrSingleValueSelect, MultiValueVariable, NestedScene, NewSceneObjectAddedEvent, PATH_ID_SEPARATOR, PanelBuilders, PanelOptionsBuilders, QueryVariable, RuntimeDataSource, SafeSerializableSceneObject, SceneApp, SceneAppPage, SceneByFrameRepeater, SceneByVariableRepeater, SceneCSSGridItem, SceneCSSGridLayout, SceneCanvasText, SceneControlsSpacer, SceneDataLayerBase, SceneDataLayerControls, SceneDataLayerSet, SceneDataLayerSetBase, SceneDataNode, SceneDataTransformer, SceneDebugger, SceneFlexItem, SceneFlexLayout, SceneGridItem, SceneGridLayout, SceneGridLayoutDragStartEvent, SceneGridRow, SceneObjectBase, SceneObjectRef, SceneObjectStateChangedEvent, SceneObjectUrlSyncConfig, SceneQueryRunner, SceneReactObject, SceneRefreshPicker, SceneRenderProfiler, SceneTimePicker, SceneTimeRange, SceneTimeRangeCompare, SceneTimeRangeTransformerBase, SceneTimeZoneOverride, SceneToolbarButton, SceneToolbarInput, SceneVariableSet, SceneVariableValueChangedEvent, ScopesVariable, SplitLayout, SwitchVariable, TestVariable, TextBoxVariable, UrlSyncContextProvider, UrlSyncManager, UserActionEvent, VariableDependencyConfig, VariableValueControl, VariableValueSelectWrapper, VariableValueSelectors, VizConfigBuilder, VizConfigBuilders, VizPanel, VizPanelBuilder, VizPanelExploreButton, VizPanelMenu, index$1 as behaviors, index as dataLayers, escapeUrlPipeDelimiters, formatRegistry, getExploreURL, isCustomVariableValue, isDataLayer, isDataRequestEnricher, isFiltersRequestEnricher, isSceneObject, loadResources, registerQueryWithController, registerRuntimeDataSource, sceneGraph, sceneUtils, useSceneApp, useSceneObjectState, useUrlSync };
3237
+ export type { AdHocFilterWithLabels, CancelActivationHandler, ControlsLayout, CustomFormatterVariable, CustomTransformOperator, CustomTransformerDefinition, CustomVariableValue, DataLayerFilter, DataRequestEnricher, DeepPartial, EmbeddedSceneState, ExtraQueryDataProcessor, ExtraQueryDescriptor, ExtraQueryProvider, FiltersRequestEnricher, FormatVariable, InterpolationFormatParameter, MacroVariableConstructor, MultiValueVariableState, QueryRunnerState, SceneActivationHandler, SceneAppDrilldownView, SceneAppPageLike, SceneAppPageState, SceneAppRoute, SceneComponent, SceneComponentProps, SceneDataLayerProvider, SceneDataLayerProviderState, SceneDataProvider, SceneDataProviderResult, SceneDataQuery, SceneDataState, SceneDataTransformerState, SceneDeactivationHandler, SceneFlexItemLike, SceneFlexItemState, SceneGridItemLike, SceneGridItemStateLike, SceneInteractionProfileEvent, SceneLayout, SceneLayoutChildOptions, SceneLayoutState, SceneObject, SceneObjectState, SceneObjectStateChangedPayload, SceneObjectUrlSyncHandler, SceneObjectUrlValue, SceneObjectUrlValues, SceneObjectWithUrlSync, SceneQueryControllerEntry, SceneQueryControllerEntryType, SceneQueryControllerLike, SceneRefreshPickerState, SceneRouteMatch, SceneStateChangedHandler, SceneStatelessBehavior, SceneTimeRangeLike, SceneTimeRangeState, SceneUrlSyncOptions, SceneVariable, SceneVariableDependencyConfigLike, SceneVariableSetState, SceneVariableState, SceneVariables, UrlSyncManagerLike, UseStateHookOptions, ValidateAndUpdateResult, VariableCustomFormatterFn, VariableGetOptionsArgs, VariableValue, VariableValueOption, VariableValueSingle, VizConfig, VizPanelState };