mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-08-06 13:31:18 +01:00
Use specific remote config for slow database notification.
This commit is contained in:
committed by
Alex Hart
parent
f5f5bf0a67
commit
843b656fb6
@@ -511,8 +511,9 @@ public class ApplicationContext extends Application implements AppForegroundObse
|
||||
private void initializeTracer() {
|
||||
if (RemoteConfig.internalUser()) {
|
||||
Tracer.getInstance().setMaxBufferSize(35_000);
|
||||
SQLiteDatabase.setSlowWriteLoggingEnabled(true);
|
||||
}
|
||||
|
||||
SQLiteDatabase.setSlowWriteLoggingEnabled(RemoteConfig.slowDatabaseNotifications());
|
||||
}
|
||||
|
||||
private void initializePeriodicTasks() {
|
||||
|
||||
+3
-2
@@ -26,7 +26,8 @@ import kotlin.time.Duration.Companion.milliseconds
|
||||
import kotlin.time.Duration.Companion.minutes
|
||||
|
||||
/**
|
||||
* Internal-user-only notifier that surfaces SQLite write-lock contention.
|
||||
* Notifier that surfaces SQLite write-lock contention. Gated behind the
|
||||
* [RemoteConfig.slowDatabaseNotifications] flag.
|
||||
*/
|
||||
object SlowTransactionInternalNotifier {
|
||||
|
||||
@@ -41,7 +42,7 @@ object SlowTransactionInternalNotifier {
|
||||
|
||||
@JvmStatic
|
||||
fun onSlowEvent() {
|
||||
if (!RemoteConfig.internalUser) {
|
||||
if (!RemoteConfig.slowDatabaseNotifications) {
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ import org.signal.core.util.gibiBytes
|
||||
import org.signal.core.util.kibiBytes
|
||||
import org.signal.core.util.logging.Log
|
||||
import org.signal.core.util.mebiBytes
|
||||
import org.thoughtcrime.securesms.database.SQLiteDatabase
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies
|
||||
import org.thoughtcrime.securesms.groups.SelectionLimits
|
||||
import org.thoughtcrime.securesms.jobs.RemoteConfigRefreshJob
|
||||
@@ -693,6 +694,16 @@ object RemoteConfig {
|
||||
hotSwappable = true
|
||||
)
|
||||
|
||||
/** Whether we log and surface notifications for slow database transactions/queries. */
|
||||
@JvmStatic
|
||||
@get:JvmName("slowDatabaseNotifications")
|
||||
val slowDatabaseNotifications: Boolean by remoteBoolean(
|
||||
key = "android.slowDatabaseNotifications",
|
||||
defaultValue = false,
|
||||
hotSwappable = true,
|
||||
onChangeListener = { SQLiteDatabase.setSlowWriteLoggingEnabled(it.newValue.asBoolean(false)) }
|
||||
)
|
||||
|
||||
/** How often we allow an automatic session reset. */
|
||||
@JvmStatic
|
||||
@get:JvmName("automaticSessionResetIntervalSeconds")
|
||||
|
||||
Reference in New Issue
Block a user