Skip to content

Commit febb1d3

Browse files
committed
Allow reporting CSV export usage when browser driver factory can not be initialized
1 parent ce5f232 commit febb1d3

3 files changed

Lines changed: 13 additions & 4 deletions

File tree

x-pack/plugins/reporting/server/core.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ export interface ReportingInternalSetup {
4747
}
4848

4949
export interface ReportingInternalStart {
50-
browserDriverFactory: HeadlessChromiumDriverFactory;
50+
browserDriverFactory: HeadlessChromiumDriverFactory | null;
5151
store: ReportingStore;
5252
savedObjects: SavedObjectsServiceStart;
5353
uiSettings: UiSettingsServiceStart;

x-pack/plugins/reporting/server/lib/screenshots/observable.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,18 @@ const DEFAULT_SETUP_RESULT = {
4848

4949
export function getScreenshots$(
5050
captureConfig: CaptureConfig,
51-
browserDriverFactory: HeadlessChromiumDriverFactory,
51+
browserDriverFactory: HeadlessChromiumDriverFactory | null,
5252
options: ScreenshotObservableOpts
5353
): Rx.Observable<ScreenshotResults[]> {
5454
const apmTrans = apm.startTransaction('screenshot-pipeline', REPORTING_TRANSACTION_TYPE);
5555
const { layout } = options;
5656
const apmCreatePage = apmTrans?.startSpan('create-page', 'wait');
5757
const { browserTimezone, logger } = options;
5858

59+
if (!browserDriverFactory) {
60+
throw new Error(`Browser driver factory is not initialized!`);
61+
}
62+
5963
return browserDriverFactory
6064
.createPage(
6165
{

x-pack/plugins/reporting/server/plugin.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import type { CoreSetup, CoreStart, Plugin, PluginInitializerContext } from 'src/core/server';
99
import { PLUGIN_ID } from '../common/constants';
1010
import { ReportingCore } from './';
11-
import { initializeBrowserDriverFactory } from './browsers';
11+
import { HeadlessChromiumDriverFactory, initializeBrowserDriverFactory } from './browsers';
1212
import { buildConfig, registerUiSettings, ReportingConfigType } from './config';
1313
import { registerDeprecations } from './deprecations';
1414
import { LevelLogger, ReportingStore } from './lib';
@@ -98,7 +98,12 @@ export class ReportingPlugin
9898
(async () => {
9999
await reportingCore.pluginSetsUp();
100100

101-
const browserDriverFactory = await initializeBrowserDriverFactory(reportingCore, this.logger);
101+
let browserDriverFactory: HeadlessChromiumDriverFactory | null = null;
102+
try {
103+
browserDriverFactory = await initializeBrowserDriverFactory(reportingCore, this.logger);
104+
} catch (err) {
105+
this.logger.error(err);
106+
}
102107
const store = new ReportingStore(reportingCore, this.logger);
103108

104109
await reportingCore.pluginStart({

0 commit comments

Comments
 (0)