Implementato performance monitoring sul reload delle variabili dal DB

This commit is contained in:
Gius95 2018-12-18 12:59:29 +01:00
parent bd4c38a821
commit bd57eae3e8
3 changed files with 41 additions and 1 deletions

View File

@ -7,6 +7,8 @@ import android.content.res.Resources;
import android.text.SpannableString;
import com.crashlytics.android.Crashlytics;
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;
import com.orhanobut.logger.AndroidLogAdapter;
import com.orhanobut.logger.Logger;
@ -33,9 +35,11 @@ public class MainApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
if(!BuildConfig.DEBUG) {
Fabric.with(this, new Crashlytics());
}
Stash.init(this);
SettingsManager.init(this);

View File

@ -2,6 +2,8 @@ package it.integry.integrywmsnative.core.settings;
import android.content.Context;
import com.google.firebase.perf.metrics.Trace;
import java.util.List;
import it.integry.integrywmsnative.R;
@ -11,6 +13,7 @@ import it.integry.integrywmsnative.core.REST.consumers.ISimpleOperationCallback;
import it.integry.integrywmsnative.core.REST.consumers.SystemRESTConsumer;
import it.integry.integrywmsnative.core.REST.model.AvailableCodMdepsDTO;
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
import it.integry.integrywmsnative.core.utility.UtilityFirebase;
public class SettingsManager {
@ -68,11 +71,24 @@ public class SettingsManager {
public static void reloadDBVariables(Runnable onComplete, RunnableArgs<Exception> onFailed){
dbSettingsModelIstance = new DBSettingsModel();
Trace perfTrace = UtilityFirebase.getNewPerformanceTrace("_db_reload_vars");
perfTrace.start();
Runnable tmpOnComplete = () -> {
perfTrace.stop();
onComplete.run();
};
RunnableArgs<Exception> tmpOnFailed = ex -> {
perfTrace.putAttribute("failed", "true");
onFailed.run(ex);
};
loadDatiAzienda(() ->
loadAvailableProfiles(() ->
loadAvailableCodMdeps(() ->
loadAvailablePosizioni(() ->
loadGestSetupValues(onComplete, onFailed) ,onFailed), onFailed), onFailed), onFailed);
loadGestSetupValues(tmpOnComplete, tmpOnFailed) ,tmpOnFailed), tmpOnFailed), tmpOnFailed), tmpOnFailed);
}
private static void loadDatiAzienda(Runnable onComplete, RunnableArgs<Exception> onFailed) {

View File

@ -0,0 +1,20 @@
package it.integry.integrywmsnative.core.utility;
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;
import it.integry.integrywmsnative.core.settings.SettingsManager;
public class UtilityFirebase {
public static Trace getNewPerformanceTrace(String traceName) {
String username = SettingsManager.i().user.fullname;
Trace newTrace = FirebasePerformance.getInstance().newTrace(traceName);
newTrace.putAttribute("user_fullame", username);
return newTrace;
}
}