From ccee1febbcadef1d3442cf94d132b5b03dc13312 Mon Sep 17 00:00:00 2001 From: akwizgran Date: Fri, 15 Jun 2018 11:36:20 +0100 Subject: [PATCH 1/3] Move timing measurements down to FINE log level. --- .../briarproject/bramble/PoliteExecutor.java | 7 ++-- .../bramble/TimeLoggingExecutor.java | 9 ++--- .../bramble/crypto/CryptoComponentImpl.java | 5 +-- .../bramble/crypto/ScryptKdf.java | 5 +-- .../bramble/crypto/Sec1KeyParser.java | 10 +++--- .../lifecycle/LifecycleManagerImpl.java | 35 ++++++++++--------- .../bramble/plugin/PluginManagerImpl.java | 9 ++--- .../briar/android/BriarApplicationImpl.java | 3 +- .../android/blog/BaseControllerImpl.java | 18 +++++----- .../android/blog/BlogControllerImpl.java | 10 +++--- .../android/blog/FeedControllerImpl.java | 10 +++--- .../android/contact/ContactListFragment.java | 6 ++-- .../android/contact/ConversationActivity.java | 21 +++++------ .../android/forum/CreateForumActivity.java | 6 ++-- .../android/forum/ForumListFragment.java | 10 +++--- .../android/login/PasswordControllerImpl.java | 6 ++-- .../list/GroupListControllerImpl.java | 10 +++--- .../android/settings/SettingsFragment.java | 17 ++++----- .../sharing/InvitationControllerImpl.java | 9 +++-- .../threaded/ThreadListControllerImpl.java | 25 ++++++------- 20 files changed, 116 insertions(+), 115 deletions(-) diff --git a/bramble-core/src/main/java/org/briarproject/bramble/PoliteExecutor.java b/bramble-core/src/main/java/org/briarproject/bramble/PoliteExecutor.java index 32a3a7b32..518845953 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/PoliteExecutor.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/PoliteExecutor.java @@ -5,7 +5,6 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import java.util.LinkedList; import java.util.Queue; import java.util.concurrent.Executor; -import java.util.logging.Level; import java.util.logging.Logger; import javax.annotation.concurrent.GuardedBy; @@ -20,8 +19,6 @@ import static java.util.logging.Level.FINE; @NotNullByDefault public class PoliteExecutor implements Executor { - private static final Level LOG_LEVEL = FINE; - private final Object lock = new Object(); @GuardedBy("lock") private final Queue queue = new LinkedList<>(); @@ -51,9 +48,9 @@ public class PoliteExecutor implements Executor { public void execute(Runnable r) { long submitted = System.currentTimeMillis(); Runnable wrapped = () -> { - if (log.isLoggable(LOG_LEVEL)) { + if (log.isLoggable(FINE)) { long queued = System.currentTimeMillis() - submitted; - log.log(LOG_LEVEL, "Queue time " + queued + " ms"); + log.fine("Queue time " + queued + " ms"); } try { r.run(); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/TimeLoggingExecutor.java b/bramble-core/src/main/java/org/briarproject/bramble/TimeLoggingExecutor.java index c81bf43a7..e79b03214 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/TimeLoggingExecutor.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/TimeLoggingExecutor.java @@ -6,7 +6,6 @@ import java.util.concurrent.BlockingQueue; import java.util.concurrent.RejectedExecutionHandler; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; -import java.util.logging.Level; import java.util.logging.Logger; import static java.util.logging.Level.FINE; @@ -14,8 +13,6 @@ import static java.util.logging.Level.FINE; @NotNullByDefault public class TimeLoggingExecutor extends ThreadPoolExecutor { - private static final Level LOG_LEVEL = FINE; - private final Logger log; public TimeLoggingExecutor(String tag, int corePoolSize, int maxPoolSize, @@ -29,15 +26,15 @@ public class TimeLoggingExecutor extends ThreadPoolExecutor { @Override public void execute(Runnable r) { - if (log.isLoggable(LOG_LEVEL)) { + if (log.isLoggable(FINE)) { long submitted = System.currentTimeMillis(); super.execute(() -> { long started = System.currentTimeMillis(); long queued = started - submitted; - log.log(LOG_LEVEL, "Queue time " + queued + " ms"); + log.fine("Queue time " + queued + " ms"); r.run(); long executing = System.currentTimeMillis() - started; - log.log(LOG_LEVEL, "Execution time " + executing + " ms"); + log.fine("Execution time " + executing + " ms"); }); } else { super.execute(r); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/crypto/CryptoComponentImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/crypto/CryptoComponentImpl.java index 83e759e3b..e4e9e8711 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/crypto/CryptoComponentImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/crypto/CryptoComponentImpl.java @@ -30,6 +30,7 @@ import java.util.logging.Logger; import javax.annotation.Nullable; import javax.inject.Inject; +import static java.util.logging.Level.FINE; import static java.util.logging.Level.INFO; import static org.briarproject.bramble.util.ByteUtils.INT_32_BYTES; @@ -135,8 +136,8 @@ class CryptoComponentImpl implements CryptoComponent { for (byte b : secret) allZero |= b; if (allZero == 0) throw new GeneralSecurityException(); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Deriving shared secret took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Deriving shared secret took " + duration + " ms"); return secret; } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/crypto/ScryptKdf.java b/bramble-core/src/main/java/org/briarproject/bramble/crypto/ScryptKdf.java index b3e567323..b3ece21ae 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/crypto/ScryptKdf.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/crypto/ScryptKdf.java @@ -9,6 +9,7 @@ import java.util.logging.Logger; import javax.inject.Inject; +import static java.util.logging.Level.FINE; import static java.util.logging.Level.INFO; class ScryptKdf implements PasswordBasedKdf { @@ -55,8 +56,8 @@ class ScryptKdf implements PasswordBasedKdf { SecretKey k = new SecretKey(SCrypt.generate(passwordBytes, salt, cost, BLOCK_SIZE, PARALLELIZATION, SecretKey.LENGTH)); long duration = System.currentTimeMillis() - start; - if (LOG.isLoggable(INFO)) - LOG.info("Deriving key from password took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Deriving key from password took " + duration + " ms"); return k; } } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/crypto/Sec1KeyParser.java b/bramble-core/src/main/java/org/briarproject/bramble/crypto/Sec1KeyParser.java index edc36c664..2cfc47e4f 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/crypto/Sec1KeyParser.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/crypto/Sec1KeyParser.java @@ -16,7 +16,7 @@ import java.util.logging.Logger; import javax.annotation.concurrent.Immutable; -import static java.util.logging.Level.INFO; +import static java.util.logging.Level.FINE; /** * A key parser that uses the encoding defined in "SEC 1: Elliptic Curve @@ -81,8 +81,8 @@ class Sec1KeyParser implements KeyParser { ECPublicKeyParameters k = new ECPublicKeyParameters(pub, params); PublicKey p = new Sec1PublicKey(k); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Parsing public key took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Parsing public key took " + duration + " ms"); return p; } @@ -100,8 +100,8 @@ class Sec1KeyParser implements KeyParser { ECPrivateKeyParameters k = new ECPrivateKeyParameters(d, params); PrivateKey p = new Sec1PrivateKey(k, keyBits); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Parsing private key took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Parsing private key took " + duration + " ms"); return p; } } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/lifecycle/LifecycleManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/lifecycle/LifecycleManagerImpl.java index 0f41cbf21..8462f0584 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/lifecycle/LifecycleManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/lifecycle/LifecycleManagerImpl.java @@ -30,6 +30,7 @@ import javax.annotation.Nullable; import javax.annotation.concurrent.ThreadSafe; import javax.inject.Inject; +import static java.util.logging.Level.FINE; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; import static org.briarproject.bramble.api.lifecycle.LifecycleManager.LifecycleState.MIGRATING_DATABASE; @@ -108,8 +109,8 @@ class LifecycleManagerImpl implements LifecycleManager, MigrationListener { LocalAuthor localAuthor = authorFactory .createLocalAuthor(nickname, publicKey, privateKey); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Creating local author took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Creating local author took " + duration + " ms"); return localAuthor; } @@ -117,8 +118,8 @@ class LifecycleManagerImpl implements LifecycleManager, MigrationListener { long now = System.currentTimeMillis(); identityManager.registerLocalAuthor(author); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Registering local author took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Registering local author took " + duration + " ms"); } @Override @@ -133,10 +134,10 @@ class LifecycleManagerImpl implements LifecycleManager, MigrationListener { boolean reopened = db.open(this); long duration = System.currentTimeMillis() - start; - if (LOG.isLoggable(INFO)) { + if (LOG.isLoggable(FINE)) { if (reopened) - LOG.info("Reopening database took " + duration + " ms"); - else LOG.info("Creating database took " + duration + " ms"); + LOG.fine("Reopening database took " + duration + " ms"); + else LOG.fine("Creating database took " + duration + " ms"); } if (nickname != null) { @@ -153,8 +154,8 @@ class LifecycleManagerImpl implements LifecycleManager, MigrationListener { start = System.currentTimeMillis(); c.createLocalState(txn); duration = System.currentTimeMillis() - start; - if (LOG.isLoggable(INFO)) { - LOG.info("Starting client " + if (LOG.isLoggable(FINE)) { + LOG.fine("Starting client " + c.getClass().getSimpleName() + " took " + duration + " ms"); } @@ -167,8 +168,8 @@ class LifecycleManagerImpl implements LifecycleManager, MigrationListener { start = System.currentTimeMillis(); s.startService(); duration = System.currentTimeMillis() - start; - if (LOG.isLoggable(INFO)) { - LOG.info("Starting service " + s.getClass().getSimpleName() + if (LOG.isLoggable(FINE)) { + LOG.fine("Starting service " + s.getClass().getSimpleName() + " took " + duration + " ms"); } } @@ -216,14 +217,14 @@ class LifecycleManagerImpl implements LifecycleManager, MigrationListener { long start = System.currentTimeMillis(); s.stopService(); long duration = System.currentTimeMillis() - start; - if (LOG.isLoggable(INFO)) { - LOG.info("Stopping service " + s.getClass().getSimpleName() + if (LOG.isLoggable(FINE)) { + LOG.fine("Stopping service " + s.getClass().getSimpleName() + " took " + duration + " ms"); } } for (ExecutorService e : executors) { - if (LOG.isLoggable(INFO)) { - LOG.info("Stopping executor " + if (LOG.isLoggable(FINE)) { + LOG.fine("Stopping executor " + e.getClass().getSimpleName()); } e.shutdownNow(); @@ -231,8 +232,8 @@ class LifecycleManagerImpl implements LifecycleManager, MigrationListener { long start = System.currentTimeMillis(); db.close(); long duration = System.currentTimeMillis() - start; - if (LOG.isLoggable(INFO)) - LOG.info("Closing database took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Closing database took " + duration + " ms"); shutdownLatch.countDown(); } catch (DbException | ServiceException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/PluginManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/PluginManagerImpl.java index 65f66345c..b79170d0e 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/PluginManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/PluginManagerImpl.java @@ -49,6 +49,7 @@ import java.util.logging.Logger; import javax.annotation.concurrent.ThreadSafe; import javax.inject.Inject; +import static java.util.logging.Level.FINE; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; @@ -208,8 +209,8 @@ class PluginManagerImpl implements PluginManager, Service { long start = System.currentTimeMillis(); plugin.start(); long duration = System.currentTimeMillis() - start; - if (LOG.isLoggable(INFO)) { - LOG.info("Starting plugin " + plugin.getId() + " took " + + if (LOG.isLoggable(FINE)) { + LOG.fine("Starting plugin " + plugin.getId() + " took " + duration + " ms"); } } catch (PluginException e) { @@ -246,8 +247,8 @@ class PluginManagerImpl implements PluginManager, Service { long start = System.currentTimeMillis(); plugin.stop(); long duration = System.currentTimeMillis() - start; - if (LOG.isLoggable(INFO)) { - LOG.info("Stopping plugin " + plugin.getId() + if (LOG.isLoggable(FINE)) { + LOG.fine("Stopping plugin " + plugin.getId() + " took " + duration + " ms"); } } catch (InterruptedException e) { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/BriarApplicationImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/BriarApplicationImpl.java index a2ff968a7..bbb8a568c 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/BriarApplicationImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/BriarApplicationImpl.java @@ -25,6 +25,7 @@ import java.util.logging.Handler; import java.util.logging.LogRecord; import java.util.logging.Logger; +import static java.util.logging.Level.FINE; import static java.util.logging.Level.INFO; import static org.acra.ReportField.ANDROID_VERSION; import static org.acra.ReportField.APP_VERSION_CODE; @@ -101,7 +102,7 @@ public class BriarApplicationImpl extends Application } } rootLogger.addHandler(logHandler); - rootLogger.setLevel(INFO); + rootLogger.setLevel(IS_DEBUG_BUILD || IS_BETA_BUILD ? FINE : INFO); LOG.info("Created"); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/BaseControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/BaseControllerImpl.java index e2b588dfa..77ba1bc58 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/BaseControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/BaseControllerImpl.java @@ -32,7 +32,7 @@ import java.util.logging.Logger; import javax.annotation.Nullable; -import static java.util.logging.Level.INFO; +import static java.util.logging.Level.FINE; import static java.util.logging.Level.WARNING; import static org.briarproject.briar.util.HtmlUtils.ARTICLE; @@ -113,8 +113,8 @@ abstract class BaseControllerImpl extends DbControllerImpl Collection headers = blogManager.getPostHeaders(groupId); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Loading headers took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Loading headers took " + duration + " ms"); Collection items = new ArrayList<>(headers.size()); now = System.currentTimeMillis(); for (BlogPostHeader h : headers) { @@ -123,8 +123,8 @@ abstract class BaseControllerImpl extends DbControllerImpl items.add(item); } duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Loading bodies took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Loading bodies took " + duration + " ms"); return items; } @@ -143,8 +143,8 @@ abstract class BaseControllerImpl extends DbControllerImpl long now = System.currentTimeMillis(); BlogPostItem item = getItem(header); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Loading body took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Loading body took " + duration + " ms"); handler.onResult(item); } catch (DbException e) { if (LOG.isLoggable(WARNING)) @@ -170,8 +170,8 @@ abstract class BaseControllerImpl extends DbControllerImpl BlogPostHeader header1 = getPostHeader(g, m); BlogPostItem item = getItem(header1); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Loading post took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Loading post took " + duration + " ms"); handler.onResult(item); } catch (DbException e) { if (LOG.isLoggable(WARNING)) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogControllerImpl.java index be7b8ff22..5a0be438d 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogControllerImpl.java @@ -35,7 +35,7 @@ import java.util.logging.Logger; import javax.inject.Inject; -import static java.util.logging.Level.INFO; +import static java.util.logging.Level.FINE; import static java.util.logging.Level.WARNING; @MethodsNotNullByDefault @@ -161,8 +161,8 @@ class BlogControllerImpl extends BaseControllerImpl boolean removable = blogManager.canBeRemoved(b); BlogItem blog = new BlogItem(b, ours, removable); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Loading blog took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Loading blog took " + duration + " ms"); handler.onResult(blog); } catch (DbException e) { if (LOG.isLoggable(WARNING)) @@ -181,8 +181,8 @@ class BlogControllerImpl extends BaseControllerImpl Blog b = blogManager.getBlog(groupId); blogManager.removeBlog(b); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Removing blog took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Removing blog took " + duration + " ms"); handler.onResult(null); } catch (DbException e) { if (LOG.isLoggable(WARNING)) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedControllerImpl.java index 1118fe654..7cfc0ecb9 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedControllerImpl.java @@ -26,7 +26,7 @@ import java.util.logging.Logger; import javax.inject.Inject; -import static java.util.logging.Level.INFO; +import static java.util.logging.Level.FINE; import static java.util.logging.Level.WARNING; import static org.briarproject.briar.api.blog.BlogManager.CLIENT_ID; @@ -110,8 +110,8 @@ class FeedControllerImpl extends BaseControllerImpl } } long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Loading all posts took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Loading all posts took " + duration + " ms"); handler.onResult(posts); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); @@ -129,8 +129,8 @@ class FeedControllerImpl extends BaseControllerImpl Author a = identityManager.getLocalAuthor(); Blog b = blogManager.getPersonalBlog(a); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Loading blog took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Loading blog took " + duration + " ms"); handler.onResult(b); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java index d404ea47a..fbf524734 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java @@ -59,7 +59,7 @@ import javax.inject.Inject; import static android.support.v4.app.ActivityOptionsCompat.makeSceneTransitionAnimation; import static android.support.v4.view.ViewCompat.getTransitionName; -import static java.util.logging.Level.INFO; +import static java.util.logging.Level.FINE; import static java.util.logging.Level.WARNING; import static org.briarproject.briar.android.contact.ConversationActivity.CONTACT_ID; @@ -209,8 +209,8 @@ public class ContactListFragment extends BaseFragment implements EventListener { } } long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Full load took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Full load took " + duration + " ms"); displayContacts(revision, contacts); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationActivity.java index f926fe54d..71c7a9cbe 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationActivity.java @@ -104,6 +104,7 @@ import uk.co.samuelwall.materialtaptargetprompt.MaterialTapTargetPrompt.PromptSt import static android.support.v4.view.ViewCompat.setTransitionName; import static android.support.v7.util.SortedList.INVALID_POSITION; import static android.widget.Toast.LENGTH_SHORT; +import static java.util.logging.Level.FINE; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_INTRODUCTION; @@ -297,8 +298,8 @@ public class ConversationActivity extends BriarActivity contactAuthorId = contact.getAuthor().getId(); } long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Loading contact took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Loading contact took " + duration + " ms"); loadMessages(); displayContactDetails(); } catch (NoSuchContactException e) { @@ -358,8 +359,8 @@ public class ConversationActivity extends BriarActivity invitations.addAll(blogInvitations); invitations.addAll(groupInvitations); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Loading messages took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Loading messages took " + duration + " ms"); displayMessages(revision, headers, introductions, invitations); } catch (NoSuchContactException e) { finishOnUiThread(); @@ -441,8 +442,8 @@ public class ConversationActivity extends BriarActivity long now = System.currentTimeMillis(); String body = messagingManager.getMessageBody(m); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Loading body took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Loading body took " + duration + " ms"); displayMessageBody(m, body); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); @@ -692,8 +693,8 @@ public class ConversationActivity extends BriarActivity long now = System.currentTimeMillis(); messagingManager.addLocalMessage(m); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Storing message took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Storing message took " + duration + " ms"); Message message = m.getMessage(); PrivateMessageHeader h = new PrivateMessageHeader( message.getId(), message.getGroupId(), @@ -819,8 +820,8 @@ public class ConversationActivity extends BriarActivity long now = System.currentTimeMillis(); messagingManager.setReadFlag(g, m, true); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Marking read took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Marking read took " + duration + " ms"); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/forum/CreateForumActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/forum/CreateForumActivity.java index 2015be8db..05224ef74 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/forum/CreateForumActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/forum/CreateForumActivity.java @@ -28,7 +28,7 @@ import javax.inject.Inject; import static android.view.View.GONE; import static android.view.View.VISIBLE; import static android.widget.Toast.LENGTH_LONG; -import static java.util.logging.Level.INFO; +import static java.util.logging.Level.FINE; import static java.util.logging.Level.WARNING; import static org.briarproject.briar.api.forum.ForumConstants.MAX_FORUM_NAME_LENGTH; @@ -125,8 +125,8 @@ public class CreateForumActivity extends BriarActivity { long now = System.currentTimeMillis(); Forum f = forumManager.addForum(name); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Storing forum took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Storing forum took " + duration + " ms"); displayForum(f); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListFragment.java index af52ab943..e5cad06ad 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListFragment.java @@ -44,7 +44,7 @@ import javax.annotation.Nullable; import javax.inject.Inject; import static android.support.design.widget.Snackbar.LENGTH_INDEFINITE; -import static java.util.logging.Level.INFO; +import static java.util.logging.Level.FINE; import static java.util.logging.Level.WARNING; import static org.briarproject.briar.api.forum.ForumManager.CLIENT_ID; @@ -169,8 +169,8 @@ public class ForumListFragment extends BaseEventFragment implements } } long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Full load took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Full load took " + duration + " ms"); displayForums(revision, forums); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); @@ -197,8 +197,8 @@ public class ForumListFragment extends BaseEventFragment implements long now = System.currentTimeMillis(); int available = forumSharingManager.getInvitations().size(); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Loading available took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Loading available took " + duration + " ms"); displayAvailableForums(available); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordControllerImpl.java index 121b7e119..dcee51a9d 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordControllerImpl.java @@ -17,7 +17,7 @@ import java.util.logging.Logger; import javax.inject.Inject; -import static java.util.logging.Level.INFO; +import static java.util.logging.Level.FINE; @NotNullByDefault public class PasswordControllerImpl extends ConfigControllerImpl @@ -89,8 +89,8 @@ public class PasswordControllerImpl extends ConfigControllerImpl long now = System.currentTimeMillis(); byte[] encrypted = crypto.encryptWithPassword(key.getBytes(), password); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Key derivation took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Key derivation took " + duration + " ms"); return StringUtils.toHexString(encrypted); } } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListControllerImpl.java index 8824923fb..c632e64ee 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListControllerImpl.java @@ -36,7 +36,7 @@ import java.util.logging.Logger; import javax.inject.Inject; -import static java.util.logging.Level.INFO; +import static java.util.logging.Level.FINE; import static java.util.logging.Level.WARNING; import static org.briarproject.briar.api.privategroup.PrivateGroupManager.CLIENT_ID; @@ -162,8 +162,8 @@ class GroupListControllerImpl extends DbControllerImpl } } long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Loading groups took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Loading groups took " + duration + " ms"); handler.onResult(items); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); @@ -179,8 +179,8 @@ class GroupListControllerImpl extends DbControllerImpl long now = System.currentTimeMillis(); groupManager.removePrivateGroup(g); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Removing group took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Removing group took " + duration + " ms"); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); handler.onException(e); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java index 00546afd4..94f61f762 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java @@ -59,6 +59,7 @@ import static android.provider.Settings.EXTRA_CHANNEL_ID; import static android.provider.Settings.System.DEFAULT_NOTIFICATION_URI; import static android.support.v4.view.ViewCompat.LAYOUT_DIRECTION_LTR; import static android.widget.Toast.LENGTH_SHORT; +import static java.util.logging.Level.FINE; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; import static org.briarproject.bramble.api.plugin.BluetoothConstants.PREF_BT_ENABLE; @@ -248,8 +249,8 @@ public class SettingsFragment extends PreferenceFragmentCompat Settings torSettings = settingsManager.getSettings(TOR_NAMESPACE); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Loading settings took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Loading settings took " + duration + " ms"); boolean btSetting = btSettings.getBoolean(PREF_BT_ENABLE, false); int torSetting = torSettings.getInt(PREF_TOR_NETWORK, @@ -438,8 +439,8 @@ public class SettingsFragment extends PreferenceFragmentCompat long now = System.currentTimeMillis(); settingsManager.mergeSettings(s, TOR_NAMESPACE); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Merging settings took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Merging settings took " + duration + " ms"); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); } @@ -454,8 +455,8 @@ public class SettingsFragment extends PreferenceFragmentCompat long now = System.currentTimeMillis(); settingsManager.mergeSettings(s, BT_NAMESPACE); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Merging settings took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Merging settings took " + duration + " ms"); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); } @@ -468,8 +469,8 @@ public class SettingsFragment extends PreferenceFragmentCompat long now = System.currentTimeMillis(); settingsManager.mergeSettings(settings, SETTINGS_NAMESPACE); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Merging settings took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Merging settings took " + duration + " ms"); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationControllerImpl.java index ad584b03d..9d8ae48ed 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationControllerImpl.java @@ -24,7 +24,7 @@ import java.util.Collection; import java.util.concurrent.Executor; import java.util.logging.Logger; -import static java.util.logging.Level.INFO; +import static java.util.logging.Level.FINE; import static java.util.logging.Level.WARNING; @MethodsNotNullByDefault @@ -94,13 +94,12 @@ public abstract class InvitationControllerImpl public void loadInvitations(boolean clear, ResultExceptionHandler, DbException> handler) { runOnDbThread(() -> { - Collection invitations = new ArrayList<>(); try { long now = System.currentTimeMillis(); - invitations.addAll(getInvitations()); + Collection invitations = new ArrayList<>(getInvitations()); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Loading invitations took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Loading invitations took " + duration + " ms"); handler.onResult(invitations); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListControllerImpl.java index 11929640e..f12b2ee18 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListControllerImpl.java @@ -34,6 +34,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Executor; import java.util.logging.Logger; +import static java.util.logging.Level.FINE; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; @@ -134,8 +135,8 @@ public abstract class ThreadListControllerImpl headers = loadHeaders(); long duration = System.currentTimeMillis() - now; - if (LOG.isLoggable(INFO)) - LOG.info("Loading headers took " + duration + " ms"); + if (LOG.isLoggable(FINE)) + LOG.fine("Loading headers took " + duration + " ms"); // Load bodies into cache now = System.currentTimeMillis(); @@ -170,8 +171,8 @@ public abstract class ThreadListControllerImpl Date: Fri, 15 Jun 2018 12:04:12 +0100 Subject: [PATCH 2/3] Use System.nanoTime() for timing measurements. --- .../briarproject/bramble/util/TimeUtils.java | 14 +++++++++ .../briarproject/bramble/PoliteExecutor.java | 5 ++-- .../bramble/TimeLoggingExecutor.java | 7 +++-- .../bramble/crypto/CryptoComponentImpl.java | 5 ++-- .../bramble/crypto/ScryptKdf.java | 5 ++-- .../bramble/crypto/Sec1KeyParser.java | 9 +++--- .../bramble/db/DatabaseComponentImpl.java | 5 ++-- .../lifecycle/LifecycleManagerImpl.java | 29 ++++++++++--------- .../bramble/plugin/PluginManagerImpl.java | 9 +++--- .../briar/android/NetworkUsageLogger.java | 10 +++---- .../android/blog/BaseControllerImpl.java | 17 ++++++----- .../android/blog/BlogControllerImpl.java | 9 +++--- .../android/blog/FeedControllerImpl.java | 9 +++--- .../android/blog/WriteBlogPostActivity.java | 4 +-- .../android/contact/ContactListFragment.java | 5 ++-- .../android/contact/ConversationActivity.java | 21 +++++++------- .../android/forum/CreateForumActivity.java | 5 ++-- .../android/forum/ForumListFragment.java | 9 +++--- .../android/login/PasswordControllerImpl.java | 5 ++-- .../list/GroupListControllerImpl.java | 9 +++--- .../android/settings/SettingsFragment.java | 17 ++++++----- .../sharing/InvitationControllerImpl.java | 5 ++-- .../threaded/ThreadListControllerImpl.java | 25 ++++++++-------- 23 files changed, 136 insertions(+), 102 deletions(-) create mode 100644 bramble-api/src/main/java/org/briarproject/bramble/util/TimeUtils.java diff --git a/bramble-api/src/main/java/org/briarproject/bramble/util/TimeUtils.java b/bramble-api/src/main/java/org/briarproject/bramble/util/TimeUtils.java new file mode 100644 index 000000000..34420a346 --- /dev/null +++ b/bramble-api/src/main/java/org/briarproject/bramble/util/TimeUtils.java @@ -0,0 +1,14 @@ +package org.briarproject.bramble.util; + +public class TimeUtils { + + private static final int NANOS_PER_MILLI = 1000 * 1000; + + /** + * Returns the elapsed time in milliseconds since some arbitrary + * starting time. This is only useful for measuring elapsed time. + */ + public static long now() { + return System.nanoTime() / NANOS_PER_MILLI; + } +} diff --git a/bramble-core/src/main/java/org/briarproject/bramble/PoliteExecutor.java b/bramble-core/src/main/java/org/briarproject/bramble/PoliteExecutor.java index 518845953..2ab5e032d 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/PoliteExecutor.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/PoliteExecutor.java @@ -10,6 +10,7 @@ import java.util.logging.Logger; import javax.annotation.concurrent.GuardedBy; import static java.util.logging.Level.FINE; +import static org.briarproject.bramble.util.TimeUtils.now; /** * An {@link Executor} that delegates its tasks to another {@link Executor} @@ -46,10 +47,10 @@ public class PoliteExecutor implements Executor { @Override public void execute(Runnable r) { - long submitted = System.currentTimeMillis(); + long submitted = now(); Runnable wrapped = () -> { if (log.isLoggable(FINE)) { - long queued = System.currentTimeMillis() - submitted; + long queued = now() - submitted; log.fine("Queue time " + queued + " ms"); } try { diff --git a/bramble-core/src/main/java/org/briarproject/bramble/TimeLoggingExecutor.java b/bramble-core/src/main/java/org/briarproject/bramble/TimeLoggingExecutor.java index e79b03214..8f5e861a8 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/TimeLoggingExecutor.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/TimeLoggingExecutor.java @@ -9,6 +9,7 @@ import java.util.concurrent.TimeUnit; import java.util.logging.Logger; import static java.util.logging.Level.FINE; +import static org.briarproject.bramble.util.TimeUtils.now; @NotNullByDefault public class TimeLoggingExecutor extends ThreadPoolExecutor { @@ -27,13 +28,13 @@ public class TimeLoggingExecutor extends ThreadPoolExecutor { @Override public void execute(Runnable r) { if (log.isLoggable(FINE)) { - long submitted = System.currentTimeMillis(); + long submitted = now(); super.execute(() -> { - long started = System.currentTimeMillis(); + long started = now(); long queued = started - submitted; log.fine("Queue time " + queued + " ms"); r.run(); - long executing = System.currentTimeMillis() - started; + long executing = now() - started; log.fine("Execution time " + executing + " ms"); }); } else { diff --git a/bramble-core/src/main/java/org/briarproject/bramble/crypto/CryptoComponentImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/crypto/CryptoComponentImpl.java index e4e9e8711..d6ee52a0f 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/crypto/CryptoComponentImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/crypto/CryptoComponentImpl.java @@ -33,6 +33,7 @@ import javax.inject.Inject; import static java.util.logging.Level.FINE; import static java.util.logging.Level.INFO; import static org.briarproject.bramble.util.ByteUtils.INT_32_BYTES; +import static org.briarproject.bramble.util.TimeUtils.now; @NotNullByDefault class CryptoComponentImpl implements CryptoComponent { @@ -128,14 +129,14 @@ class CryptoComponentImpl implements CryptoComponent { throw new IllegalArgumentException(); if (!(pub instanceof Curve25519PublicKey)) throw new IllegalArgumentException(); - long now = System.currentTimeMillis(); + long start = now(); byte[] secret = curve25519.calculateAgreement(pub.getEncoded(), priv.getEncoded()); // If the shared secret is all zeroes, the public key is invalid byte allZero = 0; for (byte b : secret) allZero |= b; if (allZero == 0) throw new GeneralSecurityException(); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Deriving shared secret took " + duration + " ms"); return secret; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/crypto/ScryptKdf.java b/bramble-core/src/main/java/org/briarproject/bramble/crypto/ScryptKdf.java index b3ece21ae..c9726ea5e 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/crypto/ScryptKdf.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/crypto/ScryptKdf.java @@ -11,6 +11,7 @@ import javax.inject.Inject; import static java.util.logging.Level.FINE; import static java.util.logging.Level.INFO; +import static org.briarproject.bramble.util.TimeUtils.now; class ScryptKdf implements PasswordBasedKdf { @@ -51,11 +52,11 @@ class ScryptKdf implements PasswordBasedKdf { @Override public SecretKey deriveKey(String password, byte[] salt, int cost) { - long start = System.currentTimeMillis(); + long start = now(); byte[] passwordBytes = StringUtils.toUtf8(password); SecretKey k = new SecretKey(SCrypt.generate(passwordBytes, salt, cost, BLOCK_SIZE, PARALLELIZATION, SecretKey.LENGTH)); - long duration = System.currentTimeMillis() - start; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Deriving key from password took " + duration + " ms"); return k; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/crypto/Sec1KeyParser.java b/bramble-core/src/main/java/org/briarproject/bramble/crypto/Sec1KeyParser.java index 2cfc47e4f..f1c322094 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/crypto/Sec1KeyParser.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/crypto/Sec1KeyParser.java @@ -17,6 +17,7 @@ import java.util.logging.Logger; import javax.annotation.concurrent.Immutable; import static java.util.logging.Level.FINE; +import static org.briarproject.bramble.util.TimeUtils.now; /** * A key parser that uses the encoding defined in "SEC 1: Elliptic Curve @@ -48,7 +49,7 @@ class Sec1KeyParser implements KeyParser { throws GeneralSecurityException { // The validation procedure comes from SEC 1, section 3.2.2.1. Note // that SEC 1 parameter names are used below, not RFC 5639 names - long now = System.currentTimeMillis(); + long start = now(); if (encodedKey.length != publicKeyBytes) throw new GeneralSecurityException(); // The first byte must be 0x04 @@ -80,7 +81,7 @@ class Sec1KeyParser implements KeyParser { // Construct a public key from the point (x, y) and the params ECPublicKeyParameters k = new ECPublicKeyParameters(pub, params); PublicKey p = new Sec1PublicKey(k); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Parsing public key took " + duration + " ms"); return p; @@ -89,7 +90,7 @@ class Sec1KeyParser implements KeyParser { @Override public PrivateKey parsePrivateKey(byte[] encodedKey) throws GeneralSecurityException { - long now = System.currentTimeMillis(); + long start = now(); if (encodedKey.length != privateKeyBytes) throw new GeneralSecurityException(); BigInteger d = new BigInteger(1, encodedKey); // Positive signum @@ -99,7 +100,7 @@ class Sec1KeyParser implements KeyParser { // Construct a private key from the private value and the params ECPrivateKeyParameters k = new ECPrivateKeyParameters(d, params); PrivateKey p = new Sec1PrivateKey(k, keyBits); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Parsing private key took " + duration + " ms"); return p; diff --git a/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseComponentImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseComponentImpl.java index 6f54b3219..0b478e119 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseComponentImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseComponentImpl.java @@ -75,6 +75,7 @@ import static org.briarproject.bramble.api.sync.Group.Visibility.SHARED; import static org.briarproject.bramble.api.sync.ValidationManager.State.DELIVERED; import static org.briarproject.bramble.api.sync.ValidationManager.State.UNKNOWN; import static org.briarproject.bramble.db.DatabaseConstants.MAX_OFFERED_MESSAGES; +import static org.briarproject.bramble.util.TimeUtils.now; @ThreadSafe @NotNullByDefault @@ -125,11 +126,11 @@ class DatabaseComponentImpl implements DatabaseComponent { // Don't allow reentrant locking if (lock.getReadHoldCount() > 0) throw new IllegalStateException(); if (lock.getWriteHoldCount() > 0) throw new IllegalStateException(); - long start = System.currentTimeMillis(); + long start = now(); if (readOnly) lock.readLock().lock(); else lock.writeLock().lock(); if (LOG.isLoggable(FINE)) { - long duration = System.currentTimeMillis() - start; + long duration = now() - start; if (readOnly) LOG.fine("Waited " + duration + " ms for read lock"); else LOG.fine("Waited " + duration + " ms for write lock"); } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/lifecycle/LifecycleManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/lifecycle/LifecycleManagerImpl.java index 8462f0584..fa3d31ce5 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/lifecycle/LifecycleManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/lifecycle/LifecycleManagerImpl.java @@ -44,6 +44,7 @@ import static org.briarproject.bramble.api.lifecycle.LifecycleManager.StartResul import static org.briarproject.bramble.api.lifecycle.LifecycleManager.StartResult.DB_ERROR; import static org.briarproject.bramble.api.lifecycle.LifecycleManager.StartResult.SERVICE_ERROR; import static org.briarproject.bramble.api.lifecycle.LifecycleManager.StartResult.SUCCESS; +import static org.briarproject.bramble.util.TimeUtils.now; @ThreadSafe @NotNullByDefault @@ -102,22 +103,22 @@ class LifecycleManagerImpl implements LifecycleManager, MigrationListener { } private LocalAuthor createLocalAuthor(String nickname) { - long now = System.currentTimeMillis(); + long start = now(); KeyPair keyPair = crypto.generateSignatureKeyPair(); byte[] publicKey = keyPair.getPublic().getEncoded(); byte[] privateKey = keyPair.getPrivate().getEncoded(); LocalAuthor localAuthor = authorFactory .createLocalAuthor(nickname, publicKey, privateKey); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Creating local author took " + duration + " ms"); return localAuthor; } private void registerLocalAuthor(LocalAuthor author) throws DbException { - long now = System.currentTimeMillis(); + long start = now(); identityManager.registerLocalAuthor(author); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Registering local author took " + duration + " ms"); } @@ -130,10 +131,10 @@ class LifecycleManagerImpl implements LifecycleManager, MigrationListener { } try { LOG.info("Starting services"); - long start = System.currentTimeMillis(); + long start = now(); boolean reopened = db.open(this); - long duration = System.currentTimeMillis() - start; + long duration = now() - start; if (LOG.isLoggable(FINE)) { if (reopened) LOG.fine("Reopening database took " + duration + " ms"); @@ -151,9 +152,9 @@ class LifecycleManagerImpl implements LifecycleManager, MigrationListener { Transaction txn = db.startTransaction(false); try { for (Client c : clients) { - start = System.currentTimeMillis(); + start = now(); c.createLocalState(txn); - duration = System.currentTimeMillis() - start; + duration = now() - start; if (LOG.isLoggable(FINE)) { LOG.fine("Starting client " + c.getClass().getSimpleName() @@ -165,9 +166,9 @@ class LifecycleManagerImpl implements LifecycleManager, MigrationListener { db.endTransaction(txn); } for (Service s : services) { - start = System.currentTimeMillis(); + start = now(); s.startService(); - duration = System.currentTimeMillis() - start; + duration = now() - start; if (LOG.isLoggable(FINE)) { LOG.fine("Starting service " + s.getClass().getSimpleName() + " took " + duration + " ms"); @@ -214,9 +215,9 @@ class LifecycleManagerImpl implements LifecycleManager, MigrationListener { state = STOPPING; eventBus.broadcast(new LifecycleEvent(STOPPING)); for (Service s : services) { - long start = System.currentTimeMillis(); + long start = now(); s.stopService(); - long duration = System.currentTimeMillis() - start; + long duration = now() - start; if (LOG.isLoggable(FINE)) { LOG.fine("Stopping service " + s.getClass().getSimpleName() + " took " + duration + " ms"); @@ -229,9 +230,9 @@ class LifecycleManagerImpl implements LifecycleManager, MigrationListener { } e.shutdownNow(); } - long start = System.currentTimeMillis(); + long start = now(); db.close(); - long duration = System.currentTimeMillis() - start; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Closing database took " + duration + " ms"); shutdownLatch.countDown(); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/PluginManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/PluginManagerImpl.java index b79170d0e..726539fa9 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/PluginManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/PluginManagerImpl.java @@ -52,6 +52,7 @@ import javax.inject.Inject; import static java.util.logging.Level.FINE; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static org.briarproject.bramble.util.TimeUtils.now; @ThreadSafe @NotNullByDefault @@ -206,9 +207,9 @@ class PluginManagerImpl implements PluginManager, Service { @Override public void run() { try { - long start = System.currentTimeMillis(); + long start = now(); plugin.start(); - long duration = System.currentTimeMillis() - start; + long duration = now() - start; if (LOG.isLoggable(FINE)) { LOG.fine("Starting plugin " + plugin.getId() + " took " + duration + " ms"); @@ -244,9 +245,9 @@ class PluginManagerImpl implements PluginManager, Service { // Wait for the plugin to finish starting startLatch.await(); // Stop the plugin - long start = System.currentTimeMillis(); + long start = now(); plugin.stop(); - long duration = System.currentTimeMillis() - start; + long duration = now() - start; if (LOG.isLoggable(FINE)) { LOG.fine("Stopping plugin " + plugin.getId() + " took " + duration + " ms"); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/NetworkUsageLogger.java b/briar-android/src/main/java/org/briarproject/briar/android/NetworkUsageLogger.java index dcf500cbf..5e700bacc 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/NetworkUsageLogger.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/NetworkUsageLogger.java @@ -4,11 +4,11 @@ import android.net.TrafficStats; import android.os.Process; import org.briarproject.bramble.api.lifecycle.Service; -import org.briarproject.bramble.api.lifecycle.ServiceException; import java.util.logging.Logger; import static java.util.logging.Level.INFO; +import static org.briarproject.bramble.util.TimeUtils.now; class NetworkUsageLogger implements Service { @@ -18,17 +18,17 @@ class NetworkUsageLogger implements Service { private volatile long startTime, rxBytes, txBytes; @Override - public void startService() throws ServiceException { - startTime = System.currentTimeMillis(); + public void startService() { + startTime = now(); int uid = Process.myUid(); rxBytes = TrafficStats.getUidRxBytes(uid); txBytes = TrafficStats.getUidTxBytes(uid); } @Override - public void stopService() throws ServiceException { + public void stopService() { if (LOG.isLoggable(INFO)) { - long sessionDuration = System.currentTimeMillis() - startTime; + long sessionDuration = now() - startTime; int uid = Process.myUid(); long rx = TrafficStats.getUidRxBytes(uid) - rxBytes; long tx = TrafficStats.getUidTxBytes(uid) - txBytes; diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/BaseControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/BaseControllerImpl.java index 77ba1bc58..1ddb16ba6 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/BaseControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/BaseControllerImpl.java @@ -34,6 +34,7 @@ import javax.annotation.Nullable; import static java.util.logging.Level.FINE; import static java.util.logging.Level.WARNING; +import static org.briarproject.bramble.util.TimeUtils.now; import static org.briarproject.briar.util.HtmlUtils.ARTICLE; @MethodsNotNullByDefault @@ -109,20 +110,20 @@ abstract class BaseControllerImpl extends DbControllerImpl } Collection loadItems(GroupId groupId) throws DbException { - long now = System.currentTimeMillis(); + long start = now(); Collection headers = blogManager.getPostHeaders(groupId); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Loading headers took " + duration + " ms"); Collection items = new ArrayList<>(headers.size()); - now = System.currentTimeMillis(); + start = now(); for (BlogPostHeader h : headers) { headerCache.put(h.getId(), h); BlogPostItem item = getItem(h); items.add(item); } - duration = System.currentTimeMillis() - now; + duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Loading bodies took " + duration + " ms"); return items; @@ -140,9 +141,9 @@ abstract class BaseControllerImpl extends DbControllerImpl } runOnDbThread(() -> { try { - long now = System.currentTimeMillis(); + long start = now(); BlogPostItem item = getItem(header); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Loading body took " + duration + " ms"); handler.onResult(item); @@ -166,10 +167,10 @@ abstract class BaseControllerImpl extends DbControllerImpl } runOnDbThread(() -> { try { - long now = System.currentTimeMillis(); + long start = now(); BlogPostHeader header1 = getPostHeader(g, m); BlogPostItem item = getItem(header1); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Loading post took " + duration + " ms"); handler.onResult(item); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogControllerImpl.java index 5a0be438d..f3030553e 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogControllerImpl.java @@ -37,6 +37,7 @@ import javax.inject.Inject; import static java.util.logging.Level.FINE; import static java.util.logging.Level.WARNING; +import static org.briarproject.bramble.util.TimeUtils.now; @MethodsNotNullByDefault @ParametersNotNullByDefault @@ -154,13 +155,13 @@ class BlogControllerImpl extends BaseControllerImpl if (groupId == null) throw new IllegalStateException(); runOnDbThread(() -> { try { - long now = System.currentTimeMillis(); + long start = now(); LocalAuthor a = identityManager.getLocalAuthor(); Blog b = blogManager.getBlog(groupId); boolean ours = a.getId().equals(b.getAuthor().getId()); boolean removable = blogManager.canBeRemoved(b); BlogItem blog = new BlogItem(b, ours, removable); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Loading blog took " + duration + " ms"); handler.onResult(blog); @@ -177,10 +178,10 @@ class BlogControllerImpl extends BaseControllerImpl if (groupId == null) throw new IllegalStateException(); runOnDbThread(() -> { try { - long now = System.currentTimeMillis(); + long start = now(); Blog b = blogManager.getBlog(groupId); blogManager.removeBlog(b); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Removing blog took " + duration + " ms"); handler.onResult(null); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedControllerImpl.java index 7cfc0ecb9..1b2aa49db 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedControllerImpl.java @@ -28,6 +28,7 @@ import javax.inject.Inject; import static java.util.logging.Level.FINE; import static java.util.logging.Level.WARNING; +import static org.briarproject.bramble.util.TimeUtils.now; import static org.briarproject.briar.api.blog.BlogManager.CLIENT_ID; @MethodsNotNullByDefault @@ -99,7 +100,7 @@ class FeedControllerImpl extends BaseControllerImpl ResultExceptionHandler, DbException> handler) { runOnDbThread(() -> { try { - long now = System.currentTimeMillis(); + long start = now(); Collection posts = new ArrayList<>(); for (Blog b : blogManager.getBlogs()) { try { @@ -109,7 +110,7 @@ class FeedControllerImpl extends BaseControllerImpl LOG.log(WARNING, e.toString(), e); } } - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Loading all posts took " + duration + " ms"); handler.onResult(posts); @@ -125,10 +126,10 @@ class FeedControllerImpl extends BaseControllerImpl ResultExceptionHandler handler) { runOnDbThread(() -> { try { - long now = System.currentTimeMillis(); + long start = now(); Author a = identityManager.getLocalAuthor(); Blog b = blogManager.getPersonalBlog(a); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Loading blog took " + duration + " ms"); handler.onResult(b); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/WriteBlogPostActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/WriteBlogPostActivity.java index 918c6def2..7f11558e0 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/WriteBlogPostActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/WriteBlogPostActivity.java @@ -142,11 +142,11 @@ public class WriteBlogPostActivity extends BriarActivity private void storePost(String body) { runOnDbThread(() -> { - long now = System.currentTimeMillis(); + long timestamp = System.currentTimeMillis(); try { LocalAuthor author = identityManager.getLocalAuthor(); BlogPost p = blogPostFactory - .createBlogPost(groupId, now, null, author, body); + .createBlogPost(groupId, timestamp, null, author, body); blogManager.addLocalPost(p); postPublished(); } catch (DbException | GeneralSecurityException diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java index fbf524734..3b821fdaa 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java @@ -61,6 +61,7 @@ import static android.support.v4.app.ActivityOptionsCompat.makeSceneTransitionAn import static android.support.v4.view.ViewCompat.getTransitionName; import static java.util.logging.Level.FINE; import static java.util.logging.Level.WARNING; +import static org.briarproject.bramble.util.TimeUtils.now; import static org.briarproject.briar.android.contact.ConversationActivity.CONTACT_ID; @MethodsNotNullByDefault @@ -194,7 +195,7 @@ public class ContactListFragment extends BaseFragment implements EventListener { int revision = adapter.getRevision(); listener.runOnDbThread(() -> { try { - long now = System.currentTimeMillis(); + long start = now(); List contacts = new ArrayList<>(); for (Contact c : contactManager.getActiveContacts()) { try { @@ -208,7 +209,7 @@ public class ContactListFragment extends BaseFragment implements EventListener { // Continue } } - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Full load took " + duration + " ms"); displayContacts(revision, contacts); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationActivity.java index 71c7a9cbe..c3ff01782 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationActivity.java @@ -107,6 +107,7 @@ import static android.widget.Toast.LENGTH_SHORT; import static java.util.logging.Level.FINE; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static org.briarproject.bramble.util.TimeUtils.now; import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_INTRODUCTION; import static org.briarproject.briar.android.settings.SettingsFragment.SETTINGS_NAMESPACE; import static org.briarproject.briar.android.util.UiUtils.getAvatarTransitionName; @@ -291,13 +292,13 @@ public class ConversationActivity extends BriarActivity private void loadContactDetailsAndMessages() { runOnDbThread(() -> { try { - long now = System.currentTimeMillis(); + long start = now(); if (contactName == null || contactAuthorId == null) { Contact contact = contactManager.getContact(contactId); contactName = contact.getAuthor().getName(); contactAuthorId = contact.getAuthor().getId(); } - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Loading contact took " + duration + " ms"); loadMessages(); @@ -341,7 +342,7 @@ public class ConversationActivity extends BriarActivity int revision = adapter.getRevision(); runOnDbThread(() -> { try { - long now = System.currentTimeMillis(); + long start = now(); Collection headers = messagingManager.getMessageHeaders(contactId); Collection introductions = @@ -358,7 +359,7 @@ public class ConversationActivity extends BriarActivity invitations.addAll(forumInvitations); invitations.addAll(blogInvitations); invitations.addAll(groupInvitations); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Loading messages took " + duration + " ms"); displayMessages(revision, headers, introductions, invitations); @@ -439,9 +440,9 @@ public class ConversationActivity extends BriarActivity private void loadMessageBody(MessageId m) { runOnDbThread(() -> { try { - long now = System.currentTimeMillis(); + long start = now(); String body = messagingManager.getMessageBody(m); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Loading body took " + duration + " ms"); displayMessageBody(m, body); @@ -690,9 +691,9 @@ public class ConversationActivity extends BriarActivity private void storeMessage(PrivateMessage m, String body) { runOnDbThread(() -> { try { - long now = System.currentTimeMillis(); + long start = now(); messagingManager.addLocalMessage(m); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Storing message took " + duration + " ms"); Message message = m.getMessage(); @@ -817,9 +818,9 @@ public class ConversationActivity extends BriarActivity private void markMessageRead(GroupId g, MessageId m) { runOnDbThread(() -> { try { - long now = System.currentTimeMillis(); + long start = now(); messagingManager.setReadFlag(g, m, true); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Marking read took " + duration + " ms"); } catch (DbException e) { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/forum/CreateForumActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/forum/CreateForumActivity.java index 05224ef74..89097376e 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/forum/CreateForumActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/forum/CreateForumActivity.java @@ -30,6 +30,7 @@ import static android.view.View.VISIBLE; import static android.widget.Toast.LENGTH_LONG; import static java.util.logging.Level.FINE; import static java.util.logging.Level.WARNING; +import static org.briarproject.bramble.util.TimeUtils.now; import static org.briarproject.briar.api.forum.ForumConstants.MAX_FORUM_NAME_LENGTH; @MethodsNotNullByDefault @@ -122,9 +123,9 @@ public class CreateForumActivity extends BriarActivity { private void storeForum(String name) { runOnDbThread(() -> { try { - long now = System.currentTimeMillis(); + long start = now(); Forum f = forumManager.addForum(name); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Storing forum took " + duration + " ms"); displayForum(f); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListFragment.java index e5cad06ad..83ba45564 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListFragment.java @@ -46,6 +46,7 @@ import javax.inject.Inject; import static android.support.design.widget.Snackbar.LENGTH_INDEFINITE; import static java.util.logging.Level.FINE; import static java.util.logging.Level.WARNING; +import static org.briarproject.bramble.util.TimeUtils.now; import static org.briarproject.briar.api.forum.ForumManager.CLIENT_ID; @MethodsNotNullByDefault @@ -157,7 +158,7 @@ public class ForumListFragment extends BaseEventFragment implements int revision = adapter.getRevision(); listener.runOnDbThread(() -> { try { - long now = System.currentTimeMillis(); + long start = now(); Collection forums = new ArrayList<>(); for (Forum f : forumManager.getForums()) { try { @@ -168,7 +169,7 @@ public class ForumListFragment extends BaseEventFragment implements // Continue } } - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Full load took " + duration + " ms"); displayForums(revision, forums); @@ -194,9 +195,9 @@ public class ForumListFragment extends BaseEventFragment implements private void loadAvailableForums() { listener.runOnDbThread(() -> { try { - long now = System.currentTimeMillis(); + long start = now(); int available = forumSharingManager.getInvitations().size(); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Loading available took " + duration + " ms"); displayAvailableForums(available); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordControllerImpl.java index dcee51a9d..8ba74434c 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordControllerImpl.java @@ -18,6 +18,7 @@ import java.util.logging.Logger; import javax.inject.Inject; import static java.util.logging.Level.FINE; +import static org.briarproject.bramble.util.TimeUtils.now; @NotNullByDefault public class PasswordControllerImpl extends ConfigControllerImpl @@ -86,9 +87,9 @@ public class PasswordControllerImpl extends ConfigControllerImpl @CryptoExecutor String encryptDatabaseKey(SecretKey key, String password) { - long now = System.currentTimeMillis(); + long start = now(); byte[] encrypted = crypto.encryptWithPassword(key.getBytes(), password); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Key derivation took " + duration + " ms"); return StringUtils.toHexString(encrypted); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListControllerImpl.java index c632e64ee..aa1c1f220 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListControllerImpl.java @@ -38,6 +38,7 @@ import javax.inject.Inject; import static java.util.logging.Level.FINE; import static java.util.logging.Level.WARNING; +import static org.briarproject.bramble.util.TimeUtils.now; import static org.briarproject.briar.api.privategroup.PrivateGroupManager.CLIENT_ID; @MethodsNotNullByDefault @@ -147,7 +148,7 @@ class GroupListControllerImpl extends DbControllerImpl ResultExceptionHandler, DbException> handler) { runOnDbThread(() -> { try { - long now = System.currentTimeMillis(); + long start = now(); Collection groups = groupManager.getPrivateGroups(); List items = new ArrayList<>(groups.size()); @@ -161,7 +162,7 @@ class GroupListControllerImpl extends DbControllerImpl // Continue } } - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Loading groups took " + duration + " ms"); handler.onResult(items); @@ -176,9 +177,9 @@ class GroupListControllerImpl extends DbControllerImpl public void removeGroup(GroupId g, ExceptionHandler handler) { runOnDbThread(() -> { try { - long now = System.currentTimeMillis(); + long start = now(); groupManager.removePrivateGroup(g); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Removing group took " + duration + " ms"); } catch (DbException e) { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java index 94f61f762..91977a72d 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java @@ -65,6 +65,7 @@ import static java.util.logging.Level.WARNING; import static org.briarproject.bramble.api.plugin.BluetoothConstants.PREF_BT_ENABLE; import static org.briarproject.bramble.api.plugin.TorConstants.PREF_TOR_NETWORK; import static org.briarproject.bramble.api.plugin.TorConstants.PREF_TOR_NETWORK_ALWAYS; +import static org.briarproject.bramble.util.TimeUtils.now; import static org.briarproject.briar.android.TestingConstants.IS_DEBUG_BUILD; import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_RINGTONE; import static org.briarproject.briar.android.navdrawer.NavDrawerActivity.INTENT_SIGN_OUT; @@ -243,12 +244,12 @@ public class SettingsFragment extends PreferenceFragmentCompat private void loadSettings() { listener.runOnDbThread(() -> { try { - long now = System.currentTimeMillis(); + long start = now(); settings = settingsManager.getSettings(SETTINGS_NAMESPACE); Settings btSettings = settingsManager.getSettings(BT_NAMESPACE); Settings torSettings = settingsManager.getSettings(TOR_NAMESPACE); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Loading settings took " + duration + " ms"); boolean btSetting = @@ -436,9 +437,9 @@ public class SettingsFragment extends PreferenceFragmentCompat try { Settings s = new Settings(); s.putInt(PREF_TOR_NETWORK, torSetting); - long now = System.currentTimeMillis(); + long start = now(); settingsManager.mergeSettings(s, TOR_NAMESPACE); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Merging settings took " + duration + " ms"); } catch (DbException e) { @@ -452,9 +453,9 @@ public class SettingsFragment extends PreferenceFragmentCompat try { Settings s = new Settings(); s.putBoolean(PREF_BT_ENABLE, btSetting); - long now = System.currentTimeMillis(); + long start = now(); settingsManager.mergeSettings(s, BT_NAMESPACE); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Merging settings took " + duration + " ms"); } catch (DbException e) { @@ -466,9 +467,9 @@ public class SettingsFragment extends PreferenceFragmentCompat private void storeSettings(Settings settings) { listener.runOnDbThread(() -> { try { - long now = System.currentTimeMillis(); + long start = now(); settingsManager.mergeSettings(settings, SETTINGS_NAMESPACE); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Merging settings took " + duration + " ms"); } catch (DbException e) { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationControllerImpl.java index 9d8ae48ed..1a8d73c31 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationControllerImpl.java @@ -26,6 +26,7 @@ import java.util.logging.Logger; import static java.util.logging.Level.FINE; import static java.util.logging.Level.WARNING; +import static org.briarproject.bramble.util.TimeUtils.now; @MethodsNotNullByDefault @ParametersNotNullByDefault @@ -95,9 +96,9 @@ public abstract class InvitationControllerImpl ResultExceptionHandler, DbException> handler) { runOnDbThread(() -> { try { - long now = System.currentTimeMillis(); + long start = now(); Collection invitations = new ArrayList<>(getInvitations()); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Loading invitations took " + duration + " ms"); handler.onResult(invitations); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListControllerImpl.java index f12b2ee18..21ae3891f 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListControllerImpl.java @@ -37,6 +37,7 @@ import java.util.logging.Logger; import static java.util.logging.Level.FINE; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; +import static org.briarproject.bramble.util.TimeUtils.now; @MethodsNotNullByDefault @ParametersNotNullByDefault @@ -132,9 +133,9 @@ public abstract class ThreadListControllerImpl { try { - long now = System.currentTimeMillis(); + long start = now(); G groupItem = loadNamedGroup(); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Loading group took " + duration + " ms"); handler.onResult(groupItem); @@ -156,21 +157,21 @@ public abstract class ThreadListControllerImpl { try { // Load headers - long now = System.currentTimeMillis(); + long start = now(); Collection headers = loadHeaders(); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Loading headers took " + duration + " ms"); // Load bodies into cache - now = System.currentTimeMillis(); + start = now(); for (H header : headers) { if (!bodyCache.containsKey(header.getId())) { bodyCache.put(header.getId(), loadMessageBody(header)); } } - duration = System.currentTimeMillis() - now; + duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Loading bodies took " + duration + " ms"); @@ -198,11 +199,11 @@ public abstract class ThreadListControllerImpl items) { runOnDbThread(() -> { try { - long now = System.currentTimeMillis(); + long start = now(); for (I i : items) { markRead(i.getId()); } - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Marking read took " + duration + " ms"); } catch (DbException e) { @@ -218,10 +219,10 @@ public abstract class ThreadListControllerImpl resultHandler) { runOnDbThread(() -> { try { - long now = System.currentTimeMillis(); + long start = now(); H header = addLocalMessage(msg); bodyCache.put(msg.getMessage().getId(), body); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Storing message took " + duration + " ms"); resultHandler.onResult(buildItem(header, body)); @@ -239,10 +240,10 @@ public abstract class ThreadListControllerImpl handler) { runOnDbThread(() -> { try { - long now = System.currentTimeMillis(); + long start = now(); G groupItem = loadNamedGroup(); deleteNamedGroup(groupItem); - long duration = System.currentTimeMillis() - now; + long duration = now() - start; if (LOG.isLoggable(FINE)) LOG.fine("Removing group took " + duration + " ms"); } catch (DbException e) { From 0d2a91289f0a65629b36234da8c286901c1d6814 Mon Sep 17 00:00:00 2001 From: akwizgran Date: Fri, 15 Jun 2018 15:52:05 +0100 Subject: [PATCH 3/3] Don't calculate duration unless needed. --- .../bramble/crypto/CryptoComponentImpl.java | 3 +-- .../bramble/crypto/ScryptKdf.java | 5 ++-- .../bramble/crypto/Sec1KeyParser.java | 6 ++--- .../lifecycle/LifecycleManagerImpl.java | 24 ++++++++----------- .../bramble/plugin/PluginManagerImpl.java | 8 +++---- .../android/blog/BaseControllerImpl.java | 12 ++++------ .../android/blog/BlogControllerImpl.java | 6 ++--- .../android/blog/FeedControllerImpl.java | 5 ++-- .../android/contact/ContactListFragment.java | 3 +-- .../android/contact/ConversationActivity.java | 17 ++++++------- .../android/forum/CreateForumActivity.java | 3 +-- .../android/forum/ForumListFragment.java | 8 +++---- .../android/login/PasswordControllerImpl.java | 3 +-- .../list/GroupListControllerImpl.java | 6 ++--- .../android/settings/SettingsFragment.java | 20 +++++++++------- .../sharing/InvitationControllerImpl.java | 5 ++-- .../threaded/ThreadListControllerImpl.java | 18 +++++--------- 17 files changed, 65 insertions(+), 87 deletions(-) diff --git a/bramble-core/src/main/java/org/briarproject/bramble/crypto/CryptoComponentImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/crypto/CryptoComponentImpl.java index d6ee52a0f..40b5132f1 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/crypto/CryptoComponentImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/crypto/CryptoComponentImpl.java @@ -136,9 +136,8 @@ class CryptoComponentImpl implements CryptoComponent { byte allZero = 0; for (byte b : secret) allZero |= b; if (allZero == 0) throw new GeneralSecurityException(); - long duration = now() - start; if (LOG.isLoggable(FINE)) - LOG.fine("Deriving shared secret took " + duration + " ms"); + LOG.fine("Deriving shared secret took " + (now() - start) + " ms"); return secret; } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/crypto/ScryptKdf.java b/bramble-core/src/main/java/org/briarproject/bramble/crypto/ScryptKdf.java index c9726ea5e..f56f0d9da 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/crypto/ScryptKdf.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/crypto/ScryptKdf.java @@ -56,9 +56,10 @@ class ScryptKdf implements PasswordBasedKdf { byte[] passwordBytes = StringUtils.toUtf8(password); SecretKey k = new SecretKey(SCrypt.generate(passwordBytes, salt, cost, BLOCK_SIZE, PARALLELIZATION, SecretKey.LENGTH)); - long duration = now() - start; - if (LOG.isLoggable(FINE)) + if (LOG.isLoggable(FINE)) { + long duration = now() - start; LOG.fine("Deriving key from password took " + duration + " ms"); + } return k; } } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/crypto/Sec1KeyParser.java b/bramble-core/src/main/java/org/briarproject/bramble/crypto/Sec1KeyParser.java index f1c322094..4e43dad67 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/crypto/Sec1KeyParser.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/crypto/Sec1KeyParser.java @@ -81,9 +81,8 @@ class Sec1KeyParser implements KeyParser { // Construct a public key from the point (x, y) and the params ECPublicKeyParameters k = new ECPublicKeyParameters(pub, params); PublicKey p = new Sec1PublicKey(k); - long duration = now() - start; if (LOG.isLoggable(FINE)) - LOG.fine("Parsing public key took " + duration + " ms"); + LOG.fine("Parsing public key took " + (now() - start) + " ms"); return p; } @@ -100,9 +99,8 @@ class Sec1KeyParser implements KeyParser { // Construct a private key from the private value and the params ECPrivateKeyParameters k = new ECPrivateKeyParameters(d, params); PrivateKey p = new Sec1PrivateKey(k, keyBits); - long duration = now() - start; if (LOG.isLoggable(FINE)) - LOG.fine("Parsing private key took " + duration + " ms"); + LOG.fine("Parsing private key took " + (now() - start) + " ms"); return p; } } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/lifecycle/LifecycleManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/lifecycle/LifecycleManagerImpl.java index fa3d31ce5..8bbddb739 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/lifecycle/LifecycleManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/lifecycle/LifecycleManagerImpl.java @@ -109,18 +109,18 @@ class LifecycleManagerImpl implements LifecycleManager, MigrationListener { byte[] privateKey = keyPair.getPrivate().getEncoded(); LocalAuthor localAuthor = authorFactory .createLocalAuthor(nickname, publicKey, privateKey); - long duration = now() - start; if (LOG.isLoggable(FINE)) - LOG.fine("Creating local author took " + duration + " ms"); + LOG.fine("Creating local author took " + (now() - start) + " ms"); return localAuthor; } private void registerLocalAuthor(LocalAuthor author) throws DbException { long start = now(); identityManager.registerLocalAuthor(author); - long duration = now() - start; - if (LOG.isLoggable(FINE)) - LOG.fine("Registering local author took " + duration + " ms"); + if (LOG.isLoggable(FINE)) { + LOG.fine("Registering local author took " + (now() - start) + + " ms"); + } } @Override @@ -134,8 +134,8 @@ class LifecycleManagerImpl implements LifecycleManager, MigrationListener { long start = now(); boolean reopened = db.open(this); - long duration = now() - start; if (LOG.isLoggable(FINE)) { + long duration = now() - start; if (reopened) LOG.fine("Reopening database took " + duration + " ms"); else LOG.fine("Creating database took " + duration + " ms"); @@ -154,11 +154,10 @@ class LifecycleManagerImpl implements LifecycleManager, MigrationListener { for (Client c : clients) { start = now(); c.createLocalState(txn); - duration = now() - start; if (LOG.isLoggable(FINE)) { LOG.fine("Starting client " + c.getClass().getSimpleName() - + " took " + duration + " ms"); + + " took " + (now() - start) + " ms"); } } db.commitTransaction(txn); @@ -168,10 +167,9 @@ class LifecycleManagerImpl implements LifecycleManager, MigrationListener { for (Service s : services) { start = now(); s.startService(); - duration = now() - start; if (LOG.isLoggable(FINE)) { LOG.fine("Starting service " + s.getClass().getSimpleName() - + " took " + duration + " ms"); + + " took " + (now() - start) + " ms"); } } @@ -217,10 +215,9 @@ class LifecycleManagerImpl implements LifecycleManager, MigrationListener { for (Service s : services) { long start = now(); s.stopService(); - long duration = now() - start; if (LOG.isLoggable(FINE)) { LOG.fine("Stopping service " + s.getClass().getSimpleName() - + " took " + duration + " ms"); + + " took " + (now() - start) + " ms"); } } for (ExecutorService e : executors) { @@ -232,9 +229,8 @@ class LifecycleManagerImpl implements LifecycleManager, MigrationListener { } long start = now(); db.close(); - long duration = now() - start; if (LOG.isLoggable(FINE)) - LOG.fine("Closing database took " + duration + " ms"); + LOG.fine("Closing database took " + (now() - start) + " ms"); shutdownLatch.countDown(); } catch (DbException | ServiceException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/PluginManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/PluginManagerImpl.java index 726539fa9..a86949de7 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/PluginManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/PluginManagerImpl.java @@ -209,10 +209,9 @@ class PluginManagerImpl implements PluginManager, Service { try { long start = now(); plugin.start(); - long duration = now() - start; if (LOG.isLoggable(FINE)) { - LOG.fine("Starting plugin " + plugin.getId() + " took " + - duration + " ms"); + LOG.fine("Starting plugin " + plugin.getId() + + " took " + (now() - start) + " ms"); } } catch (PluginException e) { if (LOG.isLoggable(WARNING)) { @@ -247,10 +246,9 @@ class PluginManagerImpl implements PluginManager, Service { // Stop the plugin long start = now(); plugin.stop(); - long duration = now() - start; if (LOG.isLoggable(FINE)) { LOG.fine("Stopping plugin " + plugin.getId() - + " took " + duration + " ms"); + + " took " + (now() - start) + " ms"); } } catch (InterruptedException e) { LOG.warning("Interrupted while waiting for plugin to stop"); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/BaseControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/BaseControllerImpl.java index 1ddb16ba6..6bcef86c6 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/BaseControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/BaseControllerImpl.java @@ -113,9 +113,8 @@ abstract class BaseControllerImpl extends DbControllerImpl long start = now(); Collection headers = blogManager.getPostHeaders(groupId); - long duration = now() - start; if (LOG.isLoggable(FINE)) - LOG.fine("Loading headers took " + duration + " ms"); + LOG.fine("Loading headers took " + (now() - start) + " ms"); Collection items = new ArrayList<>(headers.size()); start = now(); for (BlogPostHeader h : headers) { @@ -123,9 +122,8 @@ abstract class BaseControllerImpl extends DbControllerImpl BlogPostItem item = getItem(h); items.add(item); } - duration = now() - start; if (LOG.isLoggable(FINE)) - LOG.fine("Loading bodies took " + duration + " ms"); + LOG.fine("Loading bodies took " + (now() - start) + " ms"); return items; } @@ -143,9 +141,8 @@ abstract class BaseControllerImpl extends DbControllerImpl try { long start = now(); BlogPostItem item = getItem(header); - long duration = now() - start; if (LOG.isLoggable(FINE)) - LOG.fine("Loading body took " + duration + " ms"); + LOG.fine("Loading body took " + (now() - start) + " ms"); handler.onResult(item); } catch (DbException e) { if (LOG.isLoggable(WARNING)) @@ -170,9 +167,8 @@ abstract class BaseControllerImpl extends DbControllerImpl long start = now(); BlogPostHeader header1 = getPostHeader(g, m); BlogPostItem item = getItem(header1); - long duration = now() - start; if (LOG.isLoggable(FINE)) - LOG.fine("Loading post took " + duration + " ms"); + LOG.fine("Loading post took " + (now() - start) + " ms"); handler.onResult(item); } catch (DbException e) { if (LOG.isLoggable(WARNING)) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogControllerImpl.java index f3030553e..323dda2e5 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogControllerImpl.java @@ -161,9 +161,8 @@ class BlogControllerImpl extends BaseControllerImpl boolean ours = a.getId().equals(b.getAuthor().getId()); boolean removable = blogManager.canBeRemoved(b); BlogItem blog = new BlogItem(b, ours, removable); - long duration = now() - start; if (LOG.isLoggable(FINE)) - LOG.fine("Loading blog took " + duration + " ms"); + LOG.fine("Loading blog took " + (now() - start) + " ms"); handler.onResult(blog); } catch (DbException e) { if (LOG.isLoggable(WARNING)) @@ -181,9 +180,8 @@ class BlogControllerImpl extends BaseControllerImpl long start = now(); Blog b = blogManager.getBlog(groupId); blogManager.removeBlog(b); - long duration = now() - start; if (LOG.isLoggable(FINE)) - LOG.fine("Removing blog took " + duration + " ms"); + LOG.fine("Removing blog took " + (now() - start) + " ms"); handler.onResult(null); } catch (DbException e) { if (LOG.isLoggable(WARNING)) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedControllerImpl.java index 1b2aa49db..08134e5bf 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedControllerImpl.java @@ -110,9 +110,10 @@ class FeedControllerImpl extends BaseControllerImpl LOG.log(WARNING, e.toString(), e); } } - long duration = now() - start; - if (LOG.isLoggable(FINE)) + if (LOG.isLoggable(FINE)) { + long duration = now() - start; LOG.fine("Loading all posts took " + duration + " ms"); + } handler.onResult(posts); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java index 3b821fdaa..35999ca56 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ContactListFragment.java @@ -209,9 +209,8 @@ public class ContactListFragment extends BaseFragment implements EventListener { // Continue } } - long duration = now() - start; if (LOG.isLoggable(FINE)) - LOG.fine("Full load took " + duration + " ms"); + LOG.fine("Full load took " + (now() - start) + " ms"); displayContacts(revision, contacts); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationActivity.java index c3ff01782..70b8d1ccc 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/ConversationActivity.java @@ -298,9 +298,8 @@ public class ConversationActivity extends BriarActivity contactName = contact.getAuthor().getName(); contactAuthorId = contact.getAuthor().getId(); } - long duration = now() - start; if (LOG.isLoggable(FINE)) - LOG.fine("Loading contact took " + duration + " ms"); + LOG.fine("Loading contact took " + (now() - start) + " ms"); loadMessages(); displayContactDetails(); } catch (NoSuchContactException e) { @@ -359,9 +358,10 @@ public class ConversationActivity extends BriarActivity invitations.addAll(forumInvitations); invitations.addAll(blogInvitations); invitations.addAll(groupInvitations); - long duration = now() - start; - if (LOG.isLoggable(FINE)) + if (LOG.isLoggable(FINE)) { + long duration = now() - start; LOG.fine("Loading messages took " + duration + " ms"); + } displayMessages(revision, headers, introductions, invitations); } catch (NoSuchContactException e) { finishOnUiThread(); @@ -442,9 +442,8 @@ public class ConversationActivity extends BriarActivity try { long start = now(); String body = messagingManager.getMessageBody(m); - long duration = now() - start; if (LOG.isLoggable(FINE)) - LOG.fine("Loading body took " + duration + " ms"); + LOG.fine("Loading body took " + (now() - start) + " ms"); displayMessageBody(m, body); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); @@ -693,9 +692,8 @@ public class ConversationActivity extends BriarActivity try { long start = now(); messagingManager.addLocalMessage(m); - long duration = now() - start; if (LOG.isLoggable(FINE)) - LOG.fine("Storing message took " + duration + " ms"); + LOG.fine("Storing message took " + (now() - start) + " ms"); Message message = m.getMessage(); PrivateMessageHeader h = new PrivateMessageHeader( message.getId(), message.getGroupId(), @@ -820,9 +818,8 @@ public class ConversationActivity extends BriarActivity try { long start = now(); messagingManager.setReadFlag(g, m, true); - long duration = now() - start; if (LOG.isLoggable(FINE)) - LOG.fine("Marking read took " + duration + " ms"); + LOG.fine("Marking read took " + (now() - start) + " ms"); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/forum/CreateForumActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/forum/CreateForumActivity.java index 89097376e..67a25c1df 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/forum/CreateForumActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/forum/CreateForumActivity.java @@ -125,9 +125,8 @@ public class CreateForumActivity extends BriarActivity { try { long start = now(); Forum f = forumManager.addForum(name); - long duration = now() - start; if (LOG.isLoggable(FINE)) - LOG.fine("Storing forum took " + duration + " ms"); + LOG.fine("Storing forum took " + (now() - start) + " ms"); displayForum(f); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListFragment.java index 83ba45564..dbd91ddec 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListFragment.java @@ -169,9 +169,8 @@ public class ForumListFragment extends BaseEventFragment implements // Continue } } - long duration = now() - start; if (LOG.isLoggable(FINE)) - LOG.fine("Full load took " + duration + " ms"); + LOG.fine("Full load took " + (now() - start) + " ms"); displayForums(revision, forums); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); @@ -197,9 +196,10 @@ public class ForumListFragment extends BaseEventFragment implements try { long start = now(); int available = forumSharingManager.getInvitations().size(); - long duration = now() - start; - if (LOG.isLoggable(FINE)) + if (LOG.isLoggable(FINE)) { + long duration = now() - start; LOG.fine("Loading available took " + duration + " ms"); + } displayAvailableForums(available); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordControllerImpl.java index 8ba74434c..04e406420 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordControllerImpl.java @@ -89,9 +89,8 @@ public class PasswordControllerImpl extends ConfigControllerImpl String encryptDatabaseKey(SecretKey key, String password) { long start = now(); byte[] encrypted = crypto.encryptWithPassword(key.getBytes(), password); - long duration = now() - start; if (LOG.isLoggable(FINE)) - LOG.fine("Key derivation took " + duration + " ms"); + LOG.fine("Key derivation took " + (now() - start) + " ms"); return StringUtils.toHexString(encrypted); } } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListControllerImpl.java index aa1c1f220..9b636ce2f 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/list/GroupListControllerImpl.java @@ -162,9 +162,8 @@ class GroupListControllerImpl extends DbControllerImpl // Continue } } - long duration = now() - start; if (LOG.isLoggable(FINE)) - LOG.fine("Loading groups took " + duration + " ms"); + LOG.fine("Loading groups took " + (now() - start) + " ms"); handler.onResult(items); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); @@ -179,9 +178,8 @@ class GroupListControllerImpl extends DbControllerImpl try { long start = now(); groupManager.removePrivateGroup(g); - long duration = now() - start; if (LOG.isLoggable(FINE)) - LOG.fine("Removing group took " + duration + " ms"); + LOG.fine("Removing group took " + (now() - start) + " ms"); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); handler.onException(e); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java index 91977a72d..6c6ff6953 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java @@ -249,9 +249,10 @@ public class SettingsFragment extends PreferenceFragmentCompat Settings btSettings = settingsManager.getSettings(BT_NAMESPACE); Settings torSettings = settingsManager.getSettings(TOR_NAMESPACE); - long duration = now() - start; - if (LOG.isLoggable(FINE)) + if (LOG.isLoggable(FINE)) { + long duration = now() - start; LOG.fine("Loading settings took " + duration + " ms"); + } boolean btSetting = btSettings.getBoolean(PREF_BT_ENABLE, false); int torSetting = torSettings.getInt(PREF_TOR_NETWORK, @@ -439,9 +440,10 @@ public class SettingsFragment extends PreferenceFragmentCompat s.putInt(PREF_TOR_NETWORK, torSetting); long start = now(); settingsManager.mergeSettings(s, TOR_NAMESPACE); - long duration = now() - start; - if (LOG.isLoggable(FINE)) + if (LOG.isLoggable(FINE)) { + long duration = now() - start; LOG.fine("Merging settings took " + duration + " ms"); + } } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); } @@ -455,9 +457,10 @@ public class SettingsFragment extends PreferenceFragmentCompat s.putBoolean(PREF_BT_ENABLE, btSetting); long start = now(); settingsManager.mergeSettings(s, BT_NAMESPACE); - long duration = now() - start; - if (LOG.isLoggable(FINE)) + if (LOG.isLoggable(FINE)) { + long duration = now() - start; LOG.fine("Merging settings took " + duration + " ms"); + } } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); } @@ -469,9 +472,10 @@ public class SettingsFragment extends PreferenceFragmentCompat try { long start = now(); settingsManager.mergeSettings(settings, SETTINGS_NAMESPACE); - long duration = now() - start; - if (LOG.isLoggable(FINE)) + if (LOG.isLoggable(FINE)) { + long duration = now() - start; LOG.fine("Merging settings took " + duration + " ms"); + } } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationControllerImpl.java index 1a8d73c31..e457a60a4 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/sharing/InvitationControllerImpl.java @@ -98,9 +98,10 @@ public abstract class InvitationControllerImpl try { long start = now(); Collection invitations = new ArrayList<>(getInvitations()); - long duration = now() - start; - if (LOG.isLoggable(FINE)) + if (LOG.isLoggable(FINE)) { + long duration = now() - start; LOG.fine("Loading invitations took " + duration + " ms"); + } handler.onResult(invitations); } catch (DbException e) { if (LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListControllerImpl.java index 21ae3891f..deb769c14 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListControllerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListControllerImpl.java @@ -135,9 +135,8 @@ public abstract class ThreadListControllerImpl headers = loadHeaders(); - long duration = now() - start; if (LOG.isLoggable(FINE)) - LOG.fine("Loading headers took " + duration + " ms"); + LOG.fine("Loading headers took " + (now() - start) + " ms"); // Load bodies into cache start = now(); @@ -171,9 +169,8 @@ public abstract class ThreadListControllerImpl