@grafana/scenes 6.39.2--canary.1264.18315947032.0 → 6.40.0--canary.1265.18325783397.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.
- package/dist/esm/behaviors/LongFrameDetector.js +11 -11
- package/dist/esm/behaviors/LongFrameDetector.js.map +1 -1
- package/dist/esm/behaviors/PanelProfilingManager.js +65 -0
- package/dist/esm/behaviors/PanelProfilingManager.js.map +1 -0
- package/dist/esm/behaviors/ScenePerformanceTracker.js +78 -0
- package/dist/esm/behaviors/ScenePerformanceTracker.js.map +1 -0
- package/dist/esm/behaviors/SceneRenderProfiler.js +88 -132
- package/dist/esm/behaviors/SceneRenderProfiler.js.map +1 -1
- package/dist/esm/behaviors/VizPanelRenderProfiler.js +328 -0
- package/dist/esm/behaviors/VizPanelRenderProfiler.js.map +1 -0
- package/dist/esm/behaviors/index.js +3 -0
- package/dist/esm/behaviors/index.js.map +1 -1
- package/dist/esm/behaviors/interactionConstants.js +14 -0
- package/dist/esm/behaviors/interactionConstants.js.map +1 -0
- package/dist/esm/components/SceneRefreshPicker.js +1 -1
- package/dist/esm/components/SceneRefreshPicker.js.map +1 -1
- package/dist/esm/components/VizPanel/VizPanel.js +36 -1
- package/dist/esm/components/VizPanel/VizPanel.js.map +1 -1
- package/dist/esm/components/VizPanel/VizPanelRenderer.js +20 -2
- package/dist/esm/components/VizPanel/VizPanelRenderer.js.map +1 -1
- package/dist/esm/core/SceneTimeRange.js +1 -1
- package/dist/esm/core/SceneTimeRange.js.map +1 -1
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/querying/SceneDataTransformer.js +64 -0
- package/dist/esm/querying/SceneDataTransformer.js.map +1 -1
- package/dist/esm/querying/SceneQueryRunner.js +11 -6
- package/dist/esm/querying/SceneQueryRunner.js.map +1 -1
- package/dist/esm/querying/layers/SceneDataLayerControls.js +1 -13
- package/dist/esm/querying/layers/SceneDataLayerControls.js.map +1 -1
- package/dist/esm/querying/registerQueryWithController.js +39 -2
- package/dist/esm/querying/registerQueryWithController.js.map +1 -1
- package/dist/esm/utils/findPanelProfiler.js +18 -0
- package/dist/esm/utils/findPanelProfiler.js.map +1 -0
- package/dist/esm/utils/writePerformanceLog.js +12 -0
- package/dist/esm/utils/writePerformanceLog.js.map +1 -0
- package/dist/esm/utils/writeSceneLog.js +1 -10
- package/dist/esm/utils/writeSceneLog.js.map +1 -1
- package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +1 -1
- package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js.map +1 -1
- package/dist/esm/variables/adhoc/AdHocFiltersVariable.js +1 -1
- package/dist/esm/variables/adhoc/AdHocFiltersVariable.js.map +1 -1
- package/dist/esm/variables/components/VariableValueSelect.js +1 -1
- package/dist/esm/variables/components/VariableValueSelect.js.map +1 -1
- package/dist/esm/variables/groupby/GroupByVariable.js +1 -1
- package/dist/esm/variables/groupby/GroupByVariable.js.map +1 -1
- package/dist/esm/variables/variants/MultiValueVariable.js +1 -1
- package/dist/esm/variables/variants/MultiValueVariable.js.map +1 -1
- package/dist/esm/variables/variants/ScopesVariable.js +1 -1
- package/dist/esm/variables/variants/ScopesVariable.js.map +1 -1
- package/dist/index.d.ts +369 -85
- package/dist/index.js +7436 -6831
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
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, FieldConfigSource, PanelPlugin, AbsoluteTimeRange, PanelData, InterpolateFunction, PanelModel, TimeRange, DataTransformContext, DataFrame,
|
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';
|
3
5
|
import * as React$1 from 'react';
|
4
6
|
import React__default, { ComponentType, CSSProperties, PointerEvent, ForwardRefExoticComponent } from 'react';
|
5
7
|
import * as rxjs from 'rxjs';
|
6
8
|
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,6 +315,118 @@ 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
|
+
interface QueryProfilerLike {
|
364
|
+
onQueryStarted(timestamp: number, entry: SceneQueryControllerEntry, queryId: string): ((endTimestamp: number, error?: any) => void) | null;
|
365
|
+
}
|
366
|
+
/**
|
367
|
+
* Will look for a scene object with a behavior that is a SceneQueryController and register the query with it.
|
368
|
+
* Optionally accepts a panel profiler for direct query tracking callbacks.
|
369
|
+
*/
|
370
|
+
declare function registerQueryWithController<T extends QueryResultWithState>(entry: SceneQueryControllerEntry, profiler?: QueryProfilerLike): (queryStream: Observable<T>) => Observable<T>;
|
371
|
+
|
372
|
+
interface VizPanelRenderProfilerState extends SceneObjectState {
|
373
|
+
}
|
374
|
+
/**
|
375
|
+
* Tracks performance metrics for individual VizPanel instances using observer pattern.
|
376
|
+
*
|
377
|
+
* Performance events are sent to ScenePerformanceTracker observers, which are consumed
|
378
|
+
* by Grafana's ScenePerformanceLogger and DashboardAnalyticsAggregator.
|
379
|
+
*/
|
380
|
+
declare class VizPanelRenderProfiler extends SceneObjectBase<VizPanelRenderProfilerState> implements QueryProfilerLike {
|
381
|
+
private _panelKey?;
|
382
|
+
private _panelId?;
|
383
|
+
private _pluginId?;
|
384
|
+
private _pluginVersion?;
|
385
|
+
private _isTracking;
|
386
|
+
private _loadPluginStartTime?;
|
387
|
+
private _applyFieldConfigStartTime?;
|
388
|
+
private _activeQueries;
|
389
|
+
constructor(state?: Partial<VizPanelRenderProfilerState>);
|
390
|
+
private _onActivate;
|
391
|
+
private _handlePanelStateChange;
|
392
|
+
/**
|
393
|
+
* Track query execution with operation ID correlation
|
394
|
+
*/
|
395
|
+
onQueryStarted(timestamp: number, entry: SceneQueryControllerEntry, queryId: string): ((endTimestamp: number, error?: any) => void) | null;
|
396
|
+
/**
|
397
|
+
* Track plugin loading with operation ID correlation
|
398
|
+
*/
|
399
|
+
onPluginLoadStart(pluginId: string): ((plugin: any, fromCache?: boolean) => void) | null;
|
400
|
+
/**
|
401
|
+
* Track field config processing with operation ID correlation
|
402
|
+
*/
|
403
|
+
onFieldConfigStart(timestamp: number): ((endTimestamp: number, dataPointsCount?: number, seriesCount?: number) => void) | null;
|
404
|
+
/**
|
405
|
+
* Get panel info for logging - truncates long titles for readability
|
406
|
+
*/
|
407
|
+
private _getPanelInfo;
|
408
|
+
/**
|
409
|
+
* Track simple render timing with operation ID correlation
|
410
|
+
*/
|
411
|
+
onSimpleRenderStart(timestamp: number): ((endTimestamp: number, duration: number) => void) | undefined;
|
412
|
+
/** Handle plugin changes */
|
413
|
+
private _onPluginChange;
|
414
|
+
/** Start tracking this panel */
|
415
|
+
private _startTracking;
|
416
|
+
/** Cleanup when behavior is deactivated */
|
417
|
+
private _cleanup;
|
418
|
+
/**
|
419
|
+
* Track data transformation with operation ID correlation
|
420
|
+
*/
|
421
|
+
onDataTransformStart(timestamp: number, transformationId: string, metrics: {
|
422
|
+
transformationCount: number;
|
423
|
+
seriesTransformationCount: number;
|
424
|
+
annotationTransformationCount: number;
|
425
|
+
}): ((endTimestamp: number, duration: number, success: boolean, result?: {
|
426
|
+
error?: string;
|
427
|
+
}) => void) | null;
|
428
|
+
}
|
429
|
+
|
318
430
|
interface VizPanelState<TOptions = {}, TFieldConfig = {}> extends SceneObjectState {
|
319
431
|
/**
|
320
432
|
* This is usually a plugin id that references a core plugin or an external plugin. But this can also reference a
|
@@ -385,6 +497,10 @@ declare class VizPanel<TOptions = {}, TFieldConfig extends {} = {}> extends Scen
|
|
385
497
|
private _dataWithFieldConfig?;
|
386
498
|
private _structureRev;
|
387
499
|
constructor(state: Partial<VizPanelState<TOptions, TFieldConfig>>);
|
500
|
+
/**
|
501
|
+
* Get the VizPanelRenderProfiler behavior if attached
|
502
|
+
*/
|
503
|
+
getProfiler(): VizPanelRenderProfiler | undefined;
|
388
504
|
private _onActivate;
|
389
505
|
forceRender(): void;
|
390
506
|
private _loadPlugin;
|
@@ -1317,65 +1433,6 @@ declare class UserActionEvent extends BusEventWithPayload<UserActionEventPayload
|
|
1317
1433
|
*/
|
1318
1434
|
declare function lookupVariable(name: string, sceneObject: SceneObject): SceneVariable | null;
|
1319
1435
|
|
1320
|
-
interface LongFrameEvent {
|
1321
|
-
duration: number;
|
1322
|
-
timestamp: number;
|
1323
|
-
method: 'manual' | 'loaf';
|
1324
|
-
}
|
1325
|
-
type LongFrameCallback = (event: LongFrameEvent) => void;
|
1326
|
-
|
1327
|
-
interface QueryResultWithState {
|
1328
|
-
state: LoadingState;
|
1329
|
-
}
|
1330
|
-
interface SceneQueryControllerEntry {
|
1331
|
-
request?: DataQueryRequest;
|
1332
|
-
type: SceneQueryControllerEntryType;
|
1333
|
-
origin: SceneObject;
|
1334
|
-
cancel?: () => void;
|
1335
|
-
}
|
1336
|
-
type SceneQueryControllerEntryType = 'data' | 'annotations' | 'variable' | 'alerts' | 'plugin' | string;
|
1337
|
-
|
1338
|
-
|
1339
|
-
|
1340
|
-
interface SceneInteractionProfileEvent {
|
1341
|
-
origin: string;
|
1342
|
-
duration: number;
|
1343
|
-
networkDuration: number;
|
1344
|
-
jsHeapSizeLimit: number;
|
1345
|
-
usedJSHeapSize: number;
|
1346
|
-
totalJSHeapSize: number;
|
1347
|
-
crumbs: string[];
|
1348
|
-
startTs: number;
|
1349
|
-
endTs: number;
|
1350
|
-
longFramesCount: number;
|
1351
|
-
longFramesTotalTime: number;
|
1352
|
-
}
|
1353
|
-
interface SceneComponentInteractionEvent {
|
1354
|
-
origin: string;
|
1355
|
-
duration: number;
|
1356
|
-
networkDuration: number;
|
1357
|
-
startTs: number;
|
1358
|
-
endTs: number;
|
1359
|
-
}
|
1360
|
-
interface SceneInteractionTrackerState extends SceneObjectState {
|
1361
|
-
enableInteractionTracking?: boolean;
|
1362
|
-
onInteractionComplete?(event: SceneComponentInteractionEvent): void;
|
1363
|
-
}
|
1364
|
-
interface SceneQueryStateControllerState extends SceneObjectState {
|
1365
|
-
isRunning: boolean;
|
1366
|
-
enableProfiling?: boolean;
|
1367
|
-
onProfileComplete?(event: SceneInteractionProfileEvent): void;
|
1368
|
-
}
|
1369
|
-
interface SceneQueryControllerLike extends SceneObject<SceneQueryStateControllerState> {
|
1370
|
-
isQueryController: true;
|
1371
|
-
cancelAll(): void;
|
1372
|
-
queryStarted(entry: SceneQueryControllerEntry): void;
|
1373
|
-
queryCompleted(entry: SceneQueryControllerEntry): void;
|
1374
|
-
startProfile(name: string): void;
|
1375
|
-
cancelProfile(): void;
|
1376
|
-
runningQueriesCount(): number;
|
1377
|
-
}
|
1378
|
-
|
1379
1436
|
/**
|
1380
1437
|
* Returns the closest query controller undefined if none found
|
1381
1438
|
*/
|
@@ -1555,6 +1612,10 @@ declare class PanelContextEventBus implements EventBus {
|
|
1555
1612
|
newScopedBus(key: string, filter: EventFilterOptions): EventBus;
|
1556
1613
|
}
|
1557
1614
|
|
1615
|
+
interface PanelProfilingConfig {
|
1616
|
+
watchStateKey?: string;
|
1617
|
+
}
|
1618
|
+
|
1558
1619
|
/**
|
1559
1620
|
* SceneRenderProfiler tracks dashboard interaction performance including:
|
1560
1621
|
* - Total interaction duration
|
@@ -1574,9 +1635,17 @@ declare class PanelContextEventBus implements EventBus {
|
|
1574
1635
|
*/
|
1575
1636
|
declare class SceneRenderProfiler {
|
1576
1637
|
#private;
|
1638
|
+
private metadata;
|
1639
|
+
private _panelProfilingManager?;
|
1577
1640
|
private queryController?;
|
1578
|
-
constructor(
|
1641
|
+
constructor(panelProfilingConfig?: PanelProfilingConfig);
|
1642
|
+
/** Set generic metadata for observer notifications */
|
1643
|
+
setMetadata(metadata: Record<string, unknown>): void;
|
1579
1644
|
setQueryController(queryController: SceneQueryControllerLike): void;
|
1645
|
+
/** Attach panel profiling to a scene object */
|
1646
|
+
attachPanelProfiling(sceneObject: SceneObject): void;
|
1647
|
+
/** Attach profiler to a specific panel */
|
1648
|
+
attachProfilerToPanel(panel: VizPanel): void;
|
1580
1649
|
setInteractionCompleteHandler(handler?: (event: SceneComponentInteractionEvent) => void): void;
|
1581
1650
|
private setupVisibilityChangeHandler;
|
1582
1651
|
cleanup(): void;
|
@@ -1585,14 +1654,9 @@ declare class SceneRenderProfiler {
|
|
1585
1654
|
stopInteraction(): void;
|
1586
1655
|
getCurrentInteraction(): string | null;
|
1587
1656
|
/**
|
1588
|
-
*
|
1589
|
-
*
|
1590
|
-
* @param
|
1591
|
-
* @param force - Whether this is a "forced" profile (true) or "clean" profile (false)
|
1592
|
-
* - "forced": Started by canceling an existing profile that was recording trailing frames
|
1593
|
-
* This happens when a new user interaction occurs before the previous one
|
1594
|
-
* finished measuring its performance impact
|
1595
|
-
* - "clean": Started when no profile is currently active
|
1657
|
+
* Start new performance profile
|
1658
|
+
* @param name - Profile trigger (e.g., 'time_range_change')
|
1659
|
+
* @param force - True if canceling existing profile, false if starting clean
|
1596
1660
|
*/
|
1597
1661
|
private _startNewProfile;
|
1598
1662
|
private recordProfileTail;
|
@@ -1641,26 +1705,231 @@ declare class LiveNowTimer extends SceneObjectBase<LiveNowTimerState> {
|
|
1641
1705
|
get isEnabled(): boolean;
|
1642
1706
|
}
|
1643
1707
|
|
1708
|
+
/**
|
1709
|
+
* Centralized performance tracking system using observer pattern.
|
1710
|
+
* External systems (like Grafana) implement ScenePerformanceObserver to receive performance events.
|
1711
|
+
*/
|
1712
|
+
declare function generateOperationId(prefix?: string): string;
|
1713
|
+
/** Base interface for all performance events */
|
1714
|
+
interface BasePerformanceEvent {
|
1715
|
+
operationId: string;
|
1716
|
+
timestamp: number;
|
1717
|
+
duration?: number;
|
1718
|
+
error?: string;
|
1719
|
+
}
|
1720
|
+
interface DashboardInteractionStartData extends BasePerformanceEvent {
|
1721
|
+
interactionType: string;
|
1722
|
+
metadata?: Record<string, unknown>;
|
1723
|
+
}
|
1724
|
+
interface DashboardInteractionMilestoneData extends BasePerformanceEvent {
|
1725
|
+
interactionType: string;
|
1726
|
+
milestone: string;
|
1727
|
+
metadata?: Record<string, unknown>;
|
1728
|
+
}
|
1729
|
+
interface DashboardInteractionCompleteData extends BasePerformanceEvent {
|
1730
|
+
interactionType: string;
|
1731
|
+
networkDuration?: number;
|
1732
|
+
longFramesCount: number;
|
1733
|
+
longFramesTotalTime: number;
|
1734
|
+
metadata?: Record<string, unknown>;
|
1735
|
+
}
|
1736
|
+
/** Metadata interface for transform operations */
|
1737
|
+
interface TransformMetadata {
|
1738
|
+
transformationId: string;
|
1739
|
+
transformationCount: number;
|
1740
|
+
seriesTransformationCount: number;
|
1741
|
+
annotationTransformationCount: number;
|
1742
|
+
success?: boolean;
|
1743
|
+
error?: string;
|
1744
|
+
}
|
1745
|
+
/** Metadata interface for query operations */
|
1746
|
+
interface QueryMetadata {
|
1747
|
+
queryId: string;
|
1748
|
+
queryType: string;
|
1749
|
+
}
|
1750
|
+
/** Metadata interface for render operations */
|
1751
|
+
interface RenderMetadata {
|
1752
|
+
}
|
1753
|
+
/** Metadata interface for plugin load operations */
|
1754
|
+
interface PluginLoadMetadata {
|
1755
|
+
pluginId: string;
|
1756
|
+
fromCache?: boolean;
|
1757
|
+
pluginLoadTime?: number;
|
1758
|
+
}
|
1759
|
+
/** Metadata interface for field config operations */
|
1760
|
+
interface FieldConfigMetadata {
|
1761
|
+
}
|
1762
|
+
/** Base interface for panel performance events */
|
1763
|
+
interface BasePanelPerformanceData extends BasePerformanceEvent {
|
1764
|
+
panelId: string;
|
1765
|
+
panelKey: string;
|
1766
|
+
pluginId: string;
|
1767
|
+
pluginVersion?: string;
|
1768
|
+
panelTitle?: string;
|
1769
|
+
}
|
1770
|
+
/** Transform operation performance data */
|
1771
|
+
interface PanelTransformPerformanceData extends BasePanelPerformanceData {
|
1772
|
+
operation: 'transform';
|
1773
|
+
metadata: TransformMetadata;
|
1774
|
+
}
|
1775
|
+
/** Query operation performance data */
|
1776
|
+
interface PanelQueryPerformanceData extends BasePanelPerformanceData {
|
1777
|
+
operation: 'query';
|
1778
|
+
metadata: QueryMetadata;
|
1779
|
+
}
|
1780
|
+
/** Render operation performance data */
|
1781
|
+
interface PanelRenderPerformanceData extends BasePanelPerformanceData {
|
1782
|
+
operation: 'render';
|
1783
|
+
metadata: RenderMetadata;
|
1784
|
+
}
|
1785
|
+
/** Plugin load operation performance data */
|
1786
|
+
interface PanelPluginLoadPerformanceData extends BasePanelPerformanceData {
|
1787
|
+
operation: 'plugin-load';
|
1788
|
+
metadata: PluginLoadMetadata;
|
1789
|
+
}
|
1790
|
+
/** Field config operation performance data */
|
1791
|
+
interface PanelFieldConfigPerformanceData extends BasePanelPerformanceData {
|
1792
|
+
operation: 'fieldConfig';
|
1793
|
+
metadata: FieldConfigMetadata;
|
1794
|
+
}
|
1795
|
+
/** Discriminated union of all panel performance data types */
|
1796
|
+
type PanelPerformanceData = PanelTransformPerformanceData | PanelQueryPerformanceData | PanelRenderPerformanceData | PanelPluginLoadPerformanceData | PanelFieldConfigPerformanceData;
|
1797
|
+
/** Non-panel query performance data for dashboard queries (annotations, variables, etc.) */
|
1798
|
+
interface QueryPerformanceData extends BasePerformanceEvent {
|
1799
|
+
queryId: string;
|
1800
|
+
queryType: string;
|
1801
|
+
origin: string;
|
1802
|
+
}
|
1803
|
+
/**
|
1804
|
+
* Observer interface for performance monitoring
|
1805
|
+
* External systems implement this to receive performance notifications
|
1806
|
+
*/
|
1807
|
+
interface ScenePerformanceObserver {
|
1808
|
+
onDashboardInteractionStart?(data: DashboardInteractionStartData): void;
|
1809
|
+
onDashboardInteractionMilestone?(data: DashboardInteractionMilestoneData): void;
|
1810
|
+
onDashboardInteractionComplete?(data: DashboardInteractionCompleteData): void;
|
1811
|
+
onPanelOperationStart?(data: PanelPerformanceData): void;
|
1812
|
+
onPanelOperationComplete?(data: PanelPerformanceData): void;
|
1813
|
+
onQueryStart?(data: QueryPerformanceData): void;
|
1814
|
+
onQueryComplete?(data: QueryPerformanceData): void;
|
1815
|
+
}
|
1816
|
+
/**
|
1817
|
+
* Centralized performance tracker
|
1818
|
+
* Manages observers and provides methods for scene objects to report performance events
|
1819
|
+
*/
|
1820
|
+
declare class ScenePerformanceTracker {
|
1821
|
+
private static instance;
|
1822
|
+
private observers;
|
1823
|
+
static getInstance(): ScenePerformanceTracker;
|
1824
|
+
/**
|
1825
|
+
* Register a performance observer
|
1826
|
+
*/
|
1827
|
+
addObserver(observer: ScenePerformanceObserver): () => void;
|
1828
|
+
/**
|
1829
|
+
* Remove all observers (for testing)
|
1830
|
+
*/
|
1831
|
+
clearObservers(): void;
|
1832
|
+
/**
|
1833
|
+
* Get current observer count (for debugging)
|
1834
|
+
*/
|
1835
|
+
getObserverCount(): number;
|
1836
|
+
private notifyObservers;
|
1837
|
+
notifyDashboardInteractionStart(data: DashboardInteractionStartData): void;
|
1838
|
+
notifyDashboardInteractionMilestone(data: DashboardInteractionMilestoneData): void;
|
1839
|
+
notifyDashboardInteractionComplete(data: DashboardInteractionCompleteData): void;
|
1840
|
+
notifyPanelOperationStart(data: PanelPerformanceData): void;
|
1841
|
+
notifyPanelOperationComplete(data: PanelPerformanceData): void;
|
1842
|
+
notifyQueryStart(data: QueryPerformanceData): void;
|
1843
|
+
notifyQueryComplete(data: QueryPerformanceData): void;
|
1844
|
+
}
|
1845
|
+
/**
|
1846
|
+
* Get the global performance tracker instance
|
1847
|
+
*/
|
1848
|
+
declare function getScenePerformanceTracker(): ScenePerformanceTracker;
|
1849
|
+
|
1850
|
+
/**
|
1851
|
+
* Constants for different types of dashboard interactions tracked by SceneRenderProfiler
|
1852
|
+
*/
|
1853
|
+
declare const REFRESH_INTERACTION = "refresh";
|
1854
|
+
declare const TIME_RANGE_CHANGE_INTERACTION = "time_range_change";
|
1855
|
+
declare const FILTER_ADDED_INTERACTION = "filter_added";
|
1856
|
+
declare const FILTER_REMOVED_INTERACTION = "filter_removed";
|
1857
|
+
declare const FILTER_CHANGED_INTERACTION = "filter_changed";
|
1858
|
+
declare const FILTER_RESTORED_INTERACTION = "filter_restored";
|
1859
|
+
declare const VARIABLE_VALUE_CHANGED_INTERACTION = "variable_value_changed";
|
1860
|
+
declare const SCOPES_CHANGED_INTERACTION = "scopes_changed";
|
1861
|
+
declare const ADHOC_KEYS_DROPDOWN_INTERACTION = "adhoc_keys_dropdown";
|
1862
|
+
declare const ADHOC_VALUES_DROPDOWN_INTERACTION = "adhoc_values_dropdown";
|
1863
|
+
declare const GROUPBY_DIMENSIONS_INTERACTION = "groupby_dimensions";
|
1864
|
+
|
1865
|
+
|
1866
|
+
|
1867
|
+
|
1868
|
+
|
1869
|
+
|
1870
|
+
|
1871
|
+
|
1872
|
+
|
1873
|
+
|
1874
|
+
|
1875
|
+
|
1876
|
+
|
1877
|
+
|
1878
|
+
|
1879
|
+
|
1880
|
+
|
1881
|
+
|
1882
|
+
|
1883
|
+
declare const index$1_ADHOC_KEYS_DROPDOWN_INTERACTION: typeof ADHOC_KEYS_DROPDOWN_INTERACTION;
|
1884
|
+
declare const index$1_ADHOC_VALUES_DROPDOWN_INTERACTION: typeof ADHOC_VALUES_DROPDOWN_INTERACTION;
|
1644
1885
|
type index$1_ActWhenVariableChanged = ActWhenVariableChanged;
|
1645
1886
|
declare const index$1_ActWhenVariableChanged: typeof ActWhenVariableChanged;
|
1887
|
+
type index$1_BasePerformanceEvent = BasePerformanceEvent;
|
1646
1888
|
type index$1_CursorSync = CursorSync;
|
1647
1889
|
declare const index$1_CursorSync: typeof CursorSync;
|
1890
|
+
type index$1_DashboardInteractionCompleteData = DashboardInteractionCompleteData;
|
1891
|
+
type index$1_DashboardInteractionMilestoneData = DashboardInteractionMilestoneData;
|
1892
|
+
type index$1_DashboardInteractionStartData = DashboardInteractionStartData;
|
1893
|
+
declare const index$1_FILTER_ADDED_INTERACTION: typeof FILTER_ADDED_INTERACTION;
|
1894
|
+
declare const index$1_FILTER_CHANGED_INTERACTION: typeof FILTER_CHANGED_INTERACTION;
|
1895
|
+
declare const index$1_FILTER_REMOVED_INTERACTION: typeof FILTER_REMOVED_INTERACTION;
|
1896
|
+
declare const index$1_FILTER_RESTORED_INTERACTION: typeof FILTER_RESTORED_INTERACTION;
|
1897
|
+
type index$1_FieldConfigMetadata = FieldConfigMetadata;
|
1898
|
+
declare const index$1_GROUPBY_DIMENSIONS_INTERACTION: typeof GROUPBY_DIMENSIONS_INTERACTION;
|
1648
1899
|
type index$1_LiveNowTimer = LiveNowTimer;
|
1649
1900
|
declare const index$1_LiveNowTimer: typeof LiveNowTimer;
|
1901
|
+
type index$1_PanelFieldConfigPerformanceData = PanelFieldConfigPerformanceData;
|
1902
|
+
type index$1_PanelPerformanceData = PanelPerformanceData;
|
1903
|
+
type index$1_PanelPluginLoadPerformanceData = PanelPluginLoadPerformanceData;
|
1904
|
+
type index$1_PanelQueryPerformanceData = PanelQueryPerformanceData;
|
1905
|
+
type index$1_PanelRenderPerformanceData = PanelRenderPerformanceData;
|
1906
|
+
type index$1_PanelTransformPerformanceData = PanelTransformPerformanceData;
|
1907
|
+
type index$1_PluginLoadMetadata = PluginLoadMetadata;
|
1908
|
+
type index$1_QueryMetadata = QueryMetadata;
|
1909
|
+
type index$1_QueryPerformanceData = QueryPerformanceData;
|
1910
|
+
declare const index$1_REFRESH_INTERACTION: typeof REFRESH_INTERACTION;
|
1911
|
+
type index$1_RenderMetadata = RenderMetadata;
|
1912
|
+
declare const index$1_SCOPES_CHANGED_INTERACTION: typeof SCOPES_CHANGED_INTERACTION;
|
1650
1913
|
type index$1_SceneInteractionTracker = SceneInteractionTracker;
|
1651
1914
|
declare const index$1_SceneInteractionTracker: typeof SceneInteractionTracker;
|
1915
|
+
type index$1_ScenePerformanceObserver = ScenePerformanceObserver;
|
1916
|
+
type index$1_ScenePerformanceTracker = ScenePerformanceTracker;
|
1917
|
+
declare const index$1_ScenePerformanceTracker: typeof ScenePerformanceTracker;
|
1652
1918
|
type index$1_SceneQueryController = SceneQueryController;
|
1653
1919
|
declare const index$1_SceneQueryController: typeof SceneQueryController;
|
1920
|
+
declare const index$1_TIME_RANGE_CHANGE_INTERACTION: typeof TIME_RANGE_CHANGE_INTERACTION;
|
1921
|
+
type index$1_TransformMetadata = TransformMetadata;
|
1922
|
+
declare const index$1_VARIABLE_VALUE_CHANGED_INTERACTION: typeof VARIABLE_VALUE_CHANGED_INTERACTION;
|
1923
|
+
type index$1_VizPanelRenderProfiler = VizPanelRenderProfiler;
|
1924
|
+
declare const index$1_VizPanelRenderProfiler: typeof VizPanelRenderProfiler;
|
1925
|
+
declare const index$1_getScenePerformanceTracker: typeof getScenePerformanceTracker;
|
1654
1926
|
declare namespace index$1 {
|
1655
|
-
export {
|
1656
|
-
|
1657
|
-
index$1_CursorSync as CursorSync,
|
1658
|
-
index$1_LiveNowTimer as LiveNowTimer,
|
1659
|
-
index$1_SceneInteractionTracker as SceneInteractionTracker,
|
1660
|
-
index$1_SceneQueryController as SceneQueryController,
|
1661
|
-
};
|
1927
|
+
export { index$1_ADHOC_KEYS_DROPDOWN_INTERACTION as ADHOC_KEYS_DROPDOWN_INTERACTION, index$1_ADHOC_VALUES_DROPDOWN_INTERACTION as ADHOC_VALUES_DROPDOWN_INTERACTION, index$1_ActWhenVariableChanged as ActWhenVariableChanged, index$1_CursorSync as CursorSync, index$1_FILTER_ADDED_INTERACTION as FILTER_ADDED_INTERACTION, index$1_FILTER_CHANGED_INTERACTION as FILTER_CHANGED_INTERACTION, index$1_FILTER_REMOVED_INTERACTION as FILTER_REMOVED_INTERACTION, index$1_FILTER_RESTORED_INTERACTION as FILTER_RESTORED_INTERACTION, index$1_GROUPBY_DIMENSIONS_INTERACTION as GROUPBY_DIMENSIONS_INTERACTION, index$1_LiveNowTimer as LiveNowTimer, index$1_REFRESH_INTERACTION as REFRESH_INTERACTION, index$1_SCOPES_CHANGED_INTERACTION as SCOPES_CHANGED_INTERACTION, index$1_SceneInteractionTracker as SceneInteractionTracker, index$1_ScenePerformanceTracker as ScenePerformanceTracker, index$1_SceneQueryController as SceneQueryController, index$1_TIME_RANGE_CHANGE_INTERACTION as TIME_RANGE_CHANGE_INTERACTION, index$1_VARIABLE_VALUE_CHANGED_INTERACTION as VARIABLE_VALUE_CHANGED_INTERACTION, index$1_VizPanelRenderProfiler as VizPanelRenderProfiler, index$1_getScenePerformanceTracker as getScenePerformanceTracker };
|
1928
|
+
export type { index$1_BasePerformanceEvent as BasePerformanceEvent, index$1_DashboardInteractionCompleteData as DashboardInteractionCompleteData, index$1_DashboardInteractionMilestoneData as DashboardInteractionMilestoneData, index$1_DashboardInteractionStartData as DashboardInteractionStartData, index$1_FieldConfigMetadata as FieldConfigMetadata, index$1_PanelFieldConfigPerformanceData as PanelFieldConfigPerformanceData, index$1_PanelPerformanceData as PanelPerformanceData, index$1_PanelPluginLoadPerformanceData as PanelPluginLoadPerformanceData, index$1_PanelQueryPerformanceData as PanelQueryPerformanceData, index$1_PanelRenderPerformanceData as PanelRenderPerformanceData, index$1_PanelTransformPerformanceData as PanelTransformPerformanceData, index$1_PluginLoadMetadata as PluginLoadMetadata, index$1_QueryMetadata as QueryMetadata, index$1_QueryPerformanceData as QueryPerformanceData, index$1_RenderMetadata as RenderMetadata, index$1_ScenePerformanceObserver as ScenePerformanceObserver, index$1_TransformMetadata as TransformMetadata };
|
1662
1929
|
}
|
1663
1930
|
|
1931
|
+
declare function writePerformanceLog(logger: string, message: string, ...rest: unknown[]): void;
|
1932
|
+
|
1664
1933
|
/**
|
1665
1934
|
* Base class for data layer. Handles common implementation including enabling/disabling layer and publishing results.
|
1666
1935
|
*/
|
@@ -1986,6 +2255,10 @@ declare class SceneDataTransformer extends SceneObjectBase<SceneDataTransformerS
|
|
1986
2255
|
setContainerWidth(width: number): void;
|
1987
2256
|
isDataReadyToDisplay(): boolean;
|
1988
2257
|
reprocessTransformations(): void;
|
2258
|
+
/**
|
2259
|
+
* S3.1: Calculate transformation complexity metrics
|
2260
|
+
*/
|
2261
|
+
private _calculateTransformationMetrics;
|
1989
2262
|
cancelQuery(): void;
|
1990
2263
|
getResultsStream(): ReplaySubject<SceneDataProviderResult>;
|
1991
2264
|
clone(withState?: Partial<SceneDataTransformerState>): this;
|
@@ -1996,11 +2269,6 @@ declare class SceneDataTransformer extends SceneObjectBase<SceneDataTransformerS
|
|
1996
2269
|
private _interpolateVariablesInTransformationConfigs;
|
1997
2270
|
}
|
1998
2271
|
|
1999
|
-
/**
|
2000
|
-
* Will look for a scene object with a behavior that is a SceneQueryController and register the query with it.
|
2001
|
-
*/
|
2002
|
-
declare function registerQueryWithController<T extends QueryResultWithState>(entry: SceneQueryControllerEntry): (queryStream: Observable<T>) => Observable<T>;
|
2003
|
-
|
2004
2272
|
interface VariableValueSelectorsState extends SceneObjectState {
|
2005
2273
|
layout?: ControlsLayout;
|
2006
2274
|
}
|
@@ -3171,6 +3439,22 @@ declare const loadResources: ResourceLoader;
|
|
3171
3439
|
|
3172
3440
|
|
3173
3441
|
|
3442
|
+
|
3443
|
+
|
3444
|
+
|
3445
|
+
|
3446
|
+
|
3447
|
+
|
3448
|
+
|
3449
|
+
|
3450
|
+
|
3451
|
+
|
3452
|
+
|
3453
|
+
|
3454
|
+
|
3455
|
+
|
3456
|
+
|
3457
|
+
|
3174
3458
|
|
3175
3459
|
|
3176
3460
|
|
@@ -3205,5 +3489,5 @@ declare const sceneUtils: {
|
|
3205
3489
|
buildPathIdFor: typeof buildPathIdFor;
|
3206
3490
|
};
|
3207
3491
|
|
3208
|
-
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, 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 };
|
3209
|
-
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,
|
3492
|
+
export { ADHOC_KEYS_DROPDOWN_INTERACTION, ADHOC_VALUES_DROPDOWN_INTERACTION, AdHocFiltersVariable, ConstantVariable, ControlsLabel, CustomVariable, DataProviderProxy, DataSourceVariable, EmbeddedScene, FILTER_ADDED_INTERACTION, FILTER_CHANGED_INTERACTION, FILTER_REMOVED_INTERACTION, FILTER_RESTORED_INTERACTION, FieldConfigBuilder, FieldConfigBuilders, FieldConfigOverridesBuilder, GROUPBY_DIMENSIONS_INTERACTION, GroupByVariable, IntervalVariable, LazyLoader, LocalValueVariable, MultiOrSingleValueSelect, MultiValueVariable, NestedScene, NewSceneObjectAddedEvent, PATH_ID_SEPARATOR, PanelBuilders, PanelOptionsBuilders, QueryVariable, REFRESH_INTERACTION, RuntimeDataSource, SCOPES_CHANGED_INTERACTION, 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, TIME_RANGE_CHANGE_INTERACTION, TestVariable, TextBoxVariable, UrlSyncContextProvider, UrlSyncManager, UserActionEvent, VARIABLE_VALUE_CHANGED_INTERACTION, VariableDependencyConfig, VariableValueControl, VariableValueSelectWrapper, VariableValueSelectors, VizConfigBuilder, VizConfigBuilders, VizPanel, VizPanelBuilder, VizPanelExploreButton, VizPanelMenu, index$1 as behaviors, index as dataLayers, escapeUrlPipeDelimiters, formatRegistry, generateOperationId, getExploreURL, getScenePerformanceTracker, isCustomVariableValue, isDataLayer, isDataRequestEnricher, isFiltersRequestEnricher, isSceneObject, loadResources, registerQueryWithController, registerRuntimeDataSource, sceneGraph, sceneUtils, useSceneApp, useSceneObjectState, useUrlSync, writePerformanceLog };
|
3493
|
+
export type { AdHocFilterWithLabels, BasePerformanceEvent, CancelActivationHandler, ControlsLayout, CustomFormatterVariable, CustomTransformOperator, CustomTransformerDefinition, CustomVariableValue, DashboardInteractionCompleteData, DashboardInteractionMilestoneData, DashboardInteractionStartData, DataLayerFilter, DataRequestEnricher, DeepPartial, EmbeddedSceneState, ExtraQueryDataProcessor, ExtraQueryDescriptor, ExtraQueryProvider, FieldConfigMetadata, FiltersRequestEnricher, FormatVariable, InterpolationFormatParameter, MacroVariableConstructor, MultiValueVariableState, PanelFieldConfigPerformanceData, PanelPerformanceData, PanelPluginLoadPerformanceData, PanelQueryPerformanceData, PanelRenderPerformanceData, PanelTransformPerformanceData, PluginLoadMetadata, QueryMetadata, QueryPerformanceData, QueryRunnerState, RenderMetadata, 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, ScenePerformanceObserver, SceneQueryControllerEntry, SceneQueryControllerEntryType, SceneQueryControllerLike, SceneRefreshPickerState, SceneRouteMatch, SceneStateChangedHandler, SceneStatelessBehavior, SceneTimeRangeLike, SceneTimeRangeState, SceneUrlSyncOptions, SceneVariable, SceneVariableDependencyConfigLike, SceneVariableSetState, SceneVariableState, SceneVariables, TransformMetadata, UrlSyncManagerLike, UseStateHookOptions, ValidateAndUpdateResult, VariableCustomFormatterFn, VariableGetOptionsArgs, VariableValue, VariableValueOption, VariableValueSingle, VizConfig, VizPanelState };
|