private DatabaseMetrics GetDatabaseMetrics(DocumentDatabase database) { var result = new DatabaseMetrics(); result.DatabaseName = database.Name; result.DatabaseId = database.DocumentsStorage.Environment.DbId.ToString(); result.UptimeInSec = (int)(SystemTime.UtcNow - database.StartTime).TotalSeconds; var lastBackup = database.PeriodicBackupRunner?.GetBackupInfo()?.LastBackup; result.TimeSinceLastBackupInSec = lastBackup.HasValue ? (SystemTime.UtcNow - lastBackup.Value).TotalSeconds : (double?)null; result.Counts = GetDatabaseCounts(database); result.Indexes = GetDatabaseIndexesMetrics(database); result.Storage = GetDatabaseStorageMetrics(database); result.Statistics = GetDatabaseStatistics(database); return(result); }
public void AddToDatabaseMetrics(DatabaseMetrics databaseMetrics) { base.AddObject("DatabaseMetrics", databaseMetrics); }
public static DatabaseMetrics CreateDatabaseMetrics(int databaseId, long numberOfLoginSuccessEvents, long numberOfLoginFailureEvents) { DatabaseMetrics databaseMetrics = new DatabaseMetrics(); databaseMetrics.DatabaseId = databaseId; databaseMetrics.NumberOfLoginSuccessEvents = numberOfLoginSuccessEvents; databaseMetrics.NumberOfLoginFailureEvents = numberOfLoginFailureEvents; return databaseMetrics; }
public static async Task <List <DatabaseMetric> > GetMetrics() { var metrics = new DatabaseMetrics(); return(await metrics.GetMetrics(BillingInvoker.GetCustomerContainer())); }