Plugin preloading: Fix performance measurement (#86855)

fix: measuring plugin preload performance
This commit is contained in:
Levente Balogh
2024-04-24 15:37:22 +02:00
committed by GitHub
parent 5dd8353ab1
commit 17a3ec52b6
2 changed files with 8 additions and 4 deletions
+1 -1
View File
@@ -222,7 +222,7 @@ export class GrafanaApp {
const appPlugins = Object.values(config.apps).filter((app) => !awaitedAppPluginIds.includes(app.id));
preloadPlugins(appPlugins, extensionsRegistry);
await preloadPlugins(awaitedAppPlugins, extensionsRegistry);
await preloadPlugins(awaitedAppPlugins, extensionsRegistry, 'frontend_awaited_plugins_preload');
}
setPluginExtensionGetter(createPluginExtensionsGetter(extensionsRegistry));
@@ -12,8 +12,12 @@ export type PluginPreloadResult = {
extensionConfigs: PluginExtensionConfig[];
};
export async function preloadPlugins(apps: AppPluginConfig[] = [], registry: ReactivePluginExtensionsRegistry) {
startMeasure('frontend_plugins_preload');
export async function preloadPlugins(
apps: AppPluginConfig[] = [],
registry: ReactivePluginExtensionsRegistry,
eventName = 'frontend_plugins_preload'
) {
startMeasure(eventName);
const promises = apps.filter((config) => config.preload).map((config) => preload(config));
const preloadedPlugins = await Promise.all(promises);
@@ -21,7 +25,7 @@ export async function preloadPlugins(apps: AppPluginConfig[] = [], registry: Rea
registry.register(preloadedPlugin);
}
stopMeasure('frontend_plugins_preload');
stopMeasure(eventName);
}
async function preload(config: AppPluginConfig): Promise<PluginPreloadResult> {