Пример #1
0
 public DetailedStatistics()
 {
     using (var store = new DocumentStore())
     {
         #region stats_2
         DetailedDatabaseStatistics stats = store.Maintenance.Send(new GetDetailedStatisticsOperation());
         long countOfDocuments            = stats.CountOfDocuments;
         long countOfIndexes         = stats.CountOfIndexes;
         long countOfCompareExchange = stats.CountOfCompareExchange;
         long countOfIdentities      = stats.CountOfIdentities;
         bool isStale = stats.Indexes[0].IsStale;
         #endregion
     }
 }
Пример #2
0
        public async Task DetailedStats()
        {
            using (var context = QueryOperationContext.Allocate(Database, needsServerContext: true))
            {
                var stats = new DetailedDatabaseStatistics();

                FillDatabaseStatistics(stats, context);

                using (ServerStore.ContextPool.AllocateOperationContext(out TransactionOperationContext serverContext))
                    using (serverContext.OpenReadTransaction())
                    {
                        stats.CountOfIdentities                = ServerStore.Cluster.GetNumberOfIdentities(serverContext, Database.Name);
                        stats.CountOfCompareExchange           = ServerStore.Cluster.GetNumberOfCompareExchange(serverContext, Database.Name);
                        stats.CountOfCompareExchangeTombstones = ServerStore.Cluster.GetNumberOfCompareExchangeTombstones(serverContext, Database.Name);
                    }

                await using (var writer = new AsyncBlittableJsonTextWriter(context.Documents, ResponseBodyStream()))
                    writer.WriteDetailedDatabaseStatistics(context.Documents, stats);
            }
        }
Пример #3
0
        public Task DetailedStats()
        {
            using (ContextPool.AllocateOperationContext(out DocumentsOperationContext context))
            {
                var stats = new DetailedDatabaseStatistics();

                FillDatabaseStatistics(stats, context);

                using (ServerStore.ContextPool.AllocateOperationContext(out TransactionOperationContext serverContext))
                    using (serverContext.OpenReadTransaction())
                    {
                        stats.CountOfIdentities      = ServerStore.Cluster.GetNumberOfIdentities(serverContext, Database.Name);
                        stats.CountOfCompareExchange = ServerStore.Cluster.GetNumberOfCompareExchange(serverContext, Database.Name);
                    }

                using (var writer = new BlittableJsonTextWriter(context, ResponseBodyStream()))
                    writer.WriteDetailedDatabaseStatistics(context, stats);
            }

            return(Task.CompletedTask);
        }
Пример #4
0
        public async Task <string> Seed()
        {
            DetailedDatabaseStatistics stats = await _store.Maintenance.SendAsync(new GetDetailedStatisticsOperation()).ConfigureAwait(false);

            if (stats.CountOfDocuments > 0)
            {
                return("Database is already seeded");
            }

            Faker <Entry> generator = new Faker <Entry>()
                                      .StrictMode(true)
                                      .Ignore(e => e.Id)
                                      .RuleFor(e => e.Tags, f => Helper.GetRandomTags());

            List <Entry> entries = generator.Generate(20);

            await using BulkInsertOperation bulkInsert = _store.BulkInsert();
            foreach (Entry entry in entries)
            {
                await bulkInsert.StoreAsync(entry);
            }

            return("Database was empty, new data seeded");
        }