createHttpTrace method

  1. @override
Future<FirebaseHttpMetric<HttpMetric>> createHttpTrace({
  1. required String name,
  2. required String url,
  3. required MonitoringHttpMethod method,
})
override

Implementation

@override
Future<FirebaseHttpMetric<HttpMetric>> createHttpTrace(
    {required String name,
    required String url,
    required MonitoringHttpMethod method}) async {
  if (!isReady) {
    logger.warning(this, '$providerName: Firebase is not initialized');
    throw Exception('$providerName: Firebase is not initialized');
  }

  logger.debug(this, 'Creating Http Metric:$name');

  FirebaseHttpMetric<HttpMetric> metric = FirebaseHttpMetric<HttpMetric>(
    name: name,
    url: url,
    method: method,
  );

  metric.initialize(
    autoStart: false, // we have trace.start
    canTrace: (settings?.mode == TraceMode.httpOnly ||
        settings?.mode == TraceMode.both),
  );

  return metric;
}