initialise method

  1. @override
Future<void> initialise({
  1. ObservabilitySettings? settings,
})
override

Implementation

@override
Future<void> initialise({ObservabilitySettings? settings}) async {
  try {
    _printDebug('$providerName: Initialising');

    settings ??= ObservabilitySettings(enabled: true);
    this.settings = settings;

    if (!settings.enabled) {
      _printDebug('$providerName: Observability is disabled');
      setIsReady(isReady: false);
      return;
    }

    if (!Sentry.isEnabled) {
      _printDebug(
        '$providerName: Sentry is not initialized. '
        'Sentry must be pre-initialized by the ObservabilityManager.',
      );
      setIsReady(isReady: false);
      return;
    }

    _printDebug(
      '$providerName: Sentry is already initialized, using existing instance',
    );
    _instance = Sentry.clone();

    setIsReady(isReady: true);
    _printDebug('$providerName: Initialized successfully');
  } catch (e) {
    _printDebug(
      '$providerName: Failed to initialise: $e, trace: ${StackTrace.current}',
    );
    setIsReady(isReady: false);
  }
}