initailize method

  1. @override
Future<void> initailize({
  1. required MonitoringSettings settings,
})
override

Implementation

@override
Future<void> initailize({required MonitoringSettings settings}) async {
  super.initailize(settings: settings);

  providerName = "sentry_monitoring";

  if (!settings.enabled) {
    logger.debug(this, '$providerName: Monitoring is disabled');
    setIsReady(isReady: false);
    return;
  }

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

  try {
    logger.debug(
      this,
      '$providerName: Sentry is already initialized, using existing instance',
    );
    kInstance = Sentry.clone();
    setIsReady(isReady: true);
    logger.debug(
      this,
      "$providerName: Initialized successfully, $providerName:$kInstance",
    );
  } catch (e) {
    logger.error(
      this,
      '$providerName: Failed to initialize: $e',
      error: e,
      stackTrace: StackTrace.current,
    );
    setIsReady(isReady: false);
  }
}