Я планирую использовать SDK для мониторинга производительности Firebase в моем iOS проекте, и я пытаюсь отследить конкретное c путешествие с разными результатами. Например, предположим, что я хочу отслеживать время, необходимое пользователю для сброса пароля. Я начну отслеживание, когда пользователь начнет свой путь сброса пароля, и я хочу остановить трассировку при успешном сбросе пароля. Моя проблема заключается в том, что если пользователь отказывается от сброса пароля, потому что он запоминает свой пароль и отменяет его, я не вызываю метод stop () трассировки. Из того, что я понимаю в этом вопросе , он начнет вызывать утечку памяти, пока не остановится. Я пытаюсь придумать способ изящно завершить / остановить / сбросить трассировку и остановить утечку памяти без вызова метода stop (), так как это приведет к неверным данным, о которых будет сообщено.
Буду признателен за любые предложения.
Сейчас у меня есть быстрый класс, который обрабатывает трассировку со следующим внутри него.
private var passwordResetTrace: Trace?
func startPWResetTrace() {
passwordResetTrace.startTrace(name: "passwordTimeTrace")
}
func stopPWResetTrace() {
passwordResetTrace.stop()
}
Я не уверен, если это так просто, как просто установить Trace на ноль, что мне кажется недостаточно.