Сбор показателей производительности для звонков в облачные функции из Flutter - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь использовать мониторинг производительности Firebase с облачными функциями Firebase. Когда я запускаю следующий код, я получаю ошибку URL host is null or invalid. Очевидно, это потому, что я передаю имя функции, а не URL-адрес с хостом.

import 'package:flutter/widgets.dart';
import 'package:cloud_functions/cloud_functions.dart';
import 'package:firebase_performance/firebase_performance.dart';

/// Handles tracking metrics while calling cloud functions.
class MetricCloudFunction {
  Future<HttpsCallableResult> call(String functionName, [dynamic parameters]) async {
    final HttpMetric metric = FirebasePerformance.instance
        .newHttpMetric(functionName, HttpMethod.Get);
    final HttpsCallable callable = CloudFunctions.instance.getHttpsCallable(
      functionName: functionName,
    );

    await metric.start();
    HttpsCallableResult response;

    try {
      response = await callable.call(parameters);
    } catch(e) {
      debugPrint('failed: ${e.toString()}');
    } finally {
      await metric.stop();
    }

    return response;
  }
}

Есть ли какой-нибудь способ получить URL-адрес вызываемой функции, чтобы я мог создать для нее метрику? Если нет, есть ли другой способ создать для него метрику HTTP?

1 Ответ

0 голосов
/ 22 октября 2019

В настоящее время нет способа программно получить URL-адрес для функции вызываемого типа HTTP. Вы можете составить его по тому, что вам известно о функции (три переменные: область развертывания, идентификатор проекта, имя), или вы можете просто скопировать ее из панели управления функциями консоли Firebase и жестко закодировать в свое приложение.

...