L'une des fonctions de FireBase Performance Monitoring est la fonction Trace qui mesure entre deux points d'un point à un autre. Essayez d'utiliser Firebase Performance Monitoring pour Android
S'il est dans la même classe, vous pouvez créer un objet avec newTrace ("") et faire .startTrace () → .stopTrace ().
Considérant le cas de la mesure, il est plus maintenable et extensible s'il peut être utilisé comme un utilitaire. Une autre raison est que je ne veux pas arrêter () dès que je reçois un rappel en donnant à l'activité un objet Trace.
Je l'ai fait avec Singleton et Enum, donc je vais partager la sortie.
PerformanceMontoringSample.java
public class PerformanceMonitoringSample {
private static PerformanceMonitorSample performanceMonitorSample;
private final Map<TraceName, Trace> traceMap = new HashMap<>();
public enum TraceName {
SAMPLE_ONE("sample_one"),
SAMPLE_TWO("sample_two");
private final String traceInstanceName;
TraceName(String traceInstanceName) {
this.traceInstanceName = traceInstancName;
}
}
private PerformanceMonitoringSample() {
}
/**
*Obtenez une instance
*/
public static PerformanceMonitoringSample getInstance() {
if (performanceMonitorSample == null) {
performanceMonitoringSample = new PerformanceMonitoringSample();
return performanceMonitorSample;
} else {
return performanceMonitorSample;
}
}
Jusqu'ici
n'est-ce pas.
Ci-dessous, j'écrirai le traitement du début et de la fin de la mesure.
PerformanceMontoringSample.java
/**
*Commencer la mesure
*/
public void startTrace(TraceName traceName) {
if (traceMap.containsKey(traceName)) {
return;
}
Trace myTrace = = FirebasePerformance.getInstance().newTrace(traceName.traceInstanceName);
myTrace.start();
traceMap.put(traceName.traceInstanceName, myTrace);
}
}
/**
*Terminer la mesure
*/
public void stopTrace(TraceName traceName) {
//Il peut être nécessaire de vérifier la carte elle-même pour null ...
if (traceMap.containsKey(traceName)) {
traceMap.remove(traceName.traceInstanceName).stop;
}
}
}
}
Pour l'utiliser, créez d'abord une instance PerformanceMonitoring avec getInstance (), puis start () et stop () entre les deux points que vous souhaitez mesurer. La surveillance des performances fait du bon travail dans les coulisses, donc si vous ne couvrez que les branches, elle mesurera bien et elle ne devrait pas tomber autant ...
Recommended Posts