@grafana/scenes 6.35.2--canary.1148.17723712400.0 → 6.35.2
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/CHANGELOG.md +12 -0
- package/dist/esm/behaviors/LongFrameDetector.js +185 -0
- package/dist/esm/behaviors/LongFrameDetector.js.map +1 -0
- package/dist/esm/behaviors/SceneRenderProfiler.js +103 -19
- package/dist/esm/behaviors/SceneRenderProfiler.js.map +1 -1
- package/dist/esm/components/VizPanel/VizPanelRenderer.js +1 -8
- package/dist/esm/components/VizPanel/VizPanelRenderer.js.map +1 -1
- package/dist/esm/components/layout/LazyLoader.js +2 -6
- package/dist/esm/components/layout/LazyLoader.js.map +1 -1
- package/dist/esm/core/types.js.map +1 -1
- package/dist/esm/querying/SceneDataTransformer.js +0 -8
- package/dist/esm/querying/SceneDataTransformer.js.map +1 -1
- package/dist/esm/querying/SceneQueryRunner.js +0 -22
- package/dist/esm/querying/SceneQueryRunner.js.map +1 -1
- package/dist/esm/utils/writeSceneLog.js +10 -1
- package/dist/esm/utils/writeSceneLog.js.map +1 -1
- package/dist/index.d.ts +29 -16
- package/dist/index.js +379 -146
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -601,15 +601,6 @@ interface SceneDataProvider<T extends SceneObjectState = SceneDataState> extends
|
|
|
601
601
|
isDataReadyToDisplay?: () => boolean;
|
|
602
602
|
cancelQuery?: () => void;
|
|
603
603
|
getResultsStream(): Observable<SceneDataProviderResult>;
|
|
604
|
-
/**
|
|
605
|
-
* Can be used to disable query execution for scene elements that are out of view
|
|
606
|
-
*/
|
|
607
|
-
isInViewChanged?(isInView: boolean): void;
|
|
608
|
-
/**
|
|
609
|
-
* Allow activating or deactivating the isInView behavior
|
|
610
|
-
* This is useful for external consumers of a data provider (i.e., the Dashboard datasource)
|
|
611
|
-
*/
|
|
612
|
-
bypassIsInViewChanged?(bypassIsInView: boolean): void;
|
|
613
604
|
}
|
|
614
605
|
interface SceneDataLayerProviderState extends SceneDataState {
|
|
615
606
|
name: string;
|
|
@@ -1318,6 +1309,13 @@ declare class UserActionEvent extends BusEventWithPayload<UserActionEventPayload
|
|
|
1318
1309
|
*/
|
|
1319
1310
|
declare function lookupVariable(name: string, sceneObject: SceneObject): SceneVariable | null;
|
|
1320
1311
|
|
|
1312
|
+
interface LongFrameEvent {
|
|
1313
|
+
duration: number;
|
|
1314
|
+
timestamp: number;
|
|
1315
|
+
method: 'manual' | 'loaf';
|
|
1316
|
+
}
|
|
1317
|
+
type LongFrameCallback = (event: LongFrameEvent) => void;
|
|
1318
|
+
|
|
1321
1319
|
interface QueryResultWithState {
|
|
1322
1320
|
state: LoadingState;
|
|
1323
1321
|
}
|
|
@@ -1328,6 +1326,9 @@ interface SceneQueryControllerEntry {
|
|
|
1328
1326
|
cancel?: () => void;
|
|
1329
1327
|
}
|
|
1330
1328
|
type SceneQueryControllerEntryType = 'data' | 'annotations' | 'variable' | 'alerts' | 'plugin' | string;
|
|
1329
|
+
|
|
1330
|
+
|
|
1331
|
+
|
|
1331
1332
|
interface SceneInteractionProfileEvent {
|
|
1332
1333
|
origin: string;
|
|
1333
1334
|
duration: number;
|
|
@@ -1338,6 +1339,8 @@ interface SceneInteractionProfileEvent {
|
|
|
1338
1339
|
crumbs: string[];
|
|
1339
1340
|
startTs: number;
|
|
1340
1341
|
endTs: number;
|
|
1342
|
+
longFramesCount: number;
|
|
1343
|
+
longFramesTotalTime: number;
|
|
1341
1344
|
}
|
|
1342
1345
|
interface SceneQueryStateControllerState extends SceneObjectState {
|
|
1343
1346
|
isRunning: boolean;
|
|
@@ -1533,6 +1536,23 @@ declare class PanelContextEventBus implements EventBus {
|
|
|
1533
1536
|
newScopedBus(key: string, filter: EventFilterOptions): EventBus;
|
|
1534
1537
|
}
|
|
1535
1538
|
|
|
1539
|
+
/**
|
|
1540
|
+
* SceneRenderProfiler tracks dashboard interaction performance including:
|
|
1541
|
+
* - Total interaction duration
|
|
1542
|
+
* - Network time
|
|
1543
|
+
* - Long frame detection (50ms threshold) during interaction using LoAF API (default) or manual tracking (fallback)
|
|
1544
|
+
* - Slow frame detection (30ms threshold) for tail recording after interaction
|
|
1545
|
+
*
|
|
1546
|
+
* Long frame detection during interaction:
|
|
1547
|
+
* - 50ms threshold aligned with LoAF API default
|
|
1548
|
+
* - LoAF API preferred (Chrome 123+) with manual fallback
|
|
1549
|
+
* - Provides script attribution when using LoAF API
|
|
1550
|
+
*
|
|
1551
|
+
* Slow frame detection for tail recording:
|
|
1552
|
+
* - 30ms threshold for post-interaction monitoring
|
|
1553
|
+
* - Manual frame timing measurement
|
|
1554
|
+
* - Captures rendering delays after user interaction completes
|
|
1555
|
+
*/
|
|
1536
1556
|
declare class SceneRenderProfiler {
|
|
1537
1557
|
#private;
|
|
1538
1558
|
private queryController?;
|
|
@@ -1790,9 +1810,6 @@ declare class SceneQueryRunner extends SceneObjectBase<QueryRunnerState> impleme
|
|
|
1790
1810
|
private _scopedVars;
|
|
1791
1811
|
private _layerAnnotations?;
|
|
1792
1812
|
private _resultAnnotations?;
|
|
1793
|
-
private _isInView;
|
|
1794
|
-
private _bypassIsInView;
|
|
1795
|
-
private _queryNotExecutedWhenOutOfView;
|
|
1796
1813
|
getResultsStream(): ReplaySubject<SceneDataProviderResult>;
|
|
1797
1814
|
protected _variableDependency: VariableDependencyConfig<QueryRunnerState>;
|
|
1798
1815
|
private _drilldownDependenciesManager;
|
|
@@ -1841,8 +1858,6 @@ declare class SceneQueryRunner extends SceneObjectBase<QueryRunnerState> impleme
|
|
|
1841
1858
|
*/
|
|
1842
1859
|
private getClosestExtraQueryProviders;
|
|
1843
1860
|
private isQueryModeAuto;
|
|
1844
|
-
isInViewChanged(isInView: boolean): void;
|
|
1845
|
-
bypassIsInViewChanged(bypassIsInView: boolean): void;
|
|
1846
1861
|
}
|
|
1847
1862
|
|
|
1848
1863
|
interface DataProviderSharerState extends SceneDataState {
|
|
@@ -1935,8 +1950,6 @@ declare class SceneDataTransformer extends SceneObjectBase<SceneDataTransformerS
|
|
|
1935
1950
|
cancelQuery(): void;
|
|
1936
1951
|
getResultsStream(): ReplaySubject<SceneDataProviderResult>;
|
|
1937
1952
|
clone(withState?: Partial<SceneDataTransformerState>): this;
|
|
1938
|
-
isInViewChanged(isInView: boolean): void;
|
|
1939
|
-
bypassIsInViewChanged(bypassIsInView: boolean): void;
|
|
1940
1953
|
private haveAlreadyTransformedData;
|
|
1941
1954
|
private transform;
|
|
1942
1955
|
private _interpolateVariablesInTransformationConfigs;
|