Log database file sizes after YDB-to-GRDB migration.

This commit is contained in:
Matthew Chen 2019-10-03 14:08:52 -03:00
parent 3777e958c0
commit 2ff2d7dd23
4 changed files with 71 additions and 41 deletions

View File

@ -666,38 +666,6 @@ private struct GRDBKeySpecSource {
// MARK: -
@objc
public extension SDSDatabaseStorage {
var databaseFileSize: UInt64 {
switch dataStoreForReporting {
case .grdb:
return grdbStorage.databaseFileSize
case .ydb:
return OWSPrimaryStorage.shared?.databaseFileSize() ?? 0
}
}
var databaseWALFileSize: UInt64 {
switch dataStoreForReporting {
case .grdb:
return grdbStorage.databaseWALFileSize
case .ydb:
return OWSPrimaryStorage.shared?.databaseWALFileSize() ?? 0
}
}
var databaseSHMFileSize: UInt64 {
switch dataStoreForReporting {
case .grdb:
return grdbStorage.databaseSHMFileSize
case .ydb:
return OWSPrimaryStorage.shared?.databaseSHMFileSize() ?? 0
}
}
}
// MARK: -
extension GRDBDatabaseStorageAdapter {
var databaseFilePath: String {
return databaseUrl.path

View File

@ -332,15 +332,6 @@ public class SDSDatabaseStorage: SDSTransactable {
NotificationCenter.default.postNotificationNameAsync(SDSDatabaseStorage.didReceiveCrossProcessNotification, object: nil)
}
// MARK: - Misc.
@objc
public func logFileSizes() {
Logger.info("Database : \(databaseFileSize)")
Logger.info("\t WAL file size: \(databaseWALFileSize)")
Logger.info("\t SHM file size: \(databaseSHMFileSize)")
}
// MARK: - Generic Observation
@objc(addDatabaseStorageObserver:)
@ -634,3 +625,54 @@ public class SDS: NSObject {
return SDS.fitsInInt64(nsNumber: value)
}
}
// MARK: -
@objc
public extension SDSDatabaseStorage {
func logFileSizes() {
Logger.info("Database : \(databaseFileSize)")
Logger.info("\t WAL file size: \(databaseWALFileSize)")
Logger.info("\t SHM file size: \(databaseSHMFileSize)")
}
func logAllFileSizes() {
if canLoadYdb {
Logger.info("YDB Database : \(yapStorage.databaseFileSize)")
Logger.info("\t YDB WAL file size: \(yapStorage.databaseWALFileSize)")
Logger.info("\t YDB SHM file size: \(yapStorage.databaseSHMFileSize)")
}
if canLoadGrdb {
Logger.info("GDRB Database : \(grdbStorage.databaseFileSize)")
Logger.info("\t GDRB WAL file size: \(grdbStorage.databaseWALFileSize)")
Logger.info("\t GDRB SHM file size: \(grdbStorage.databaseSHMFileSize)")
}
}
var databaseFileSize: UInt64 {
switch dataStoreForReporting {
case .grdb:
return grdbStorage.databaseFileSize
case .ydb:
return yapStorage.databaseFileSize
}
}
var databaseWALFileSize: UInt64 {
switch dataStoreForReporting {
case .grdb:
return grdbStorage.databaseWALFileSize
case .ydb:
return yapStorage.databaseWALFileSize
}
}
var databaseSHMFileSize: UInt64 {
switch dataStoreForReporting {
case .grdb:
return grdbStorage.databaseSHMFileSize
case .ydb:
return yapStorage.databaseSHMFileSize
}
}
}

View File

@ -47,3 +47,19 @@ extension YAPDBStorageAdapter: SDSDatabaseStorageAdapter {
return YAPDBDatabaseQueue(databaseConnection: storage.newDatabaseConnection())
}
}
// MARK: - Reporting
extension YAPDBStorageAdapter {
var databaseFileSize: UInt64 {
return OWSPrimaryStorage.shared?.databaseFileSize() ?? 0
}
var databaseWALFileSize: UInt64 {
return OWSPrimaryStorage.shared?.databaseWALFileSize() ?? 0
}
var databaseSHMFileSize: UInt64 {
return OWSPrimaryStorage.shared?.databaseSHMFileSize() ?? 0
}
}

View File

@ -138,6 +138,8 @@ NSString *NSStringFromStorageCoordinatorState(StorageCoordinatorState value)
OWSAssert(self.state == StorageCoordinatorStateBeforeYDBToGRDBMigration);
self.state = StorageCoordinatorStateDuringYDBToGRDBMigration;
[self.databaseStorage logAllFileSizes];
OWSLogInfo(@"state: %@", NSStringFromStorageCoordinatorState(self.state));
}
@ -151,6 +153,8 @@ NSString *NSStringFromStorageCoordinatorState(StorageCoordinatorState value)
OWSLogInfo(@"state: %@", NSStringFromStorageCoordinatorState(self.state));
[self.databaseStorage logAllFileSizes];
// Don't set this flag for "throwaway" migrations.
if (SSKFeatureFlags.storageMode == StorageModeGrdb) {
[SSKPreferences setIsYdbMigrated:YES];