Exemplo n.º 1
0
        public void Snapshot_CreatesSnapshotWithCurrentPerformanceCount()
        {
            this.performanceCounter.AddInsertedEntities(15);
            this.performanceCounter.AddQueriedEntities(7);
            this.performanceCounter.AddInsertTime(3);
            this.performanceCounter.AddQueryTime(1);

            BackendPerformanceSnapshot snapshot1 = this.performanceCounter.Snapshot();

            this.performanceCounter.AddInsertedEntities(50);
            this.performanceCounter.AddQueriedEntities(9);
            this.performanceCounter.AddInsertTime(6);
            this.performanceCounter.AddQueryTime(67);

            BackendPerformanceSnapshot snapshot2 = this.performanceCounter.Snapshot();

            Assert.Equal(15, snapshot1.TotalInsertedEntities);
            Assert.Equal(7, snapshot1.TotalQueriedEntities);
            Assert.Equal(TimeSpan.FromTicks(3), snapshot1.TotalInsertTime);
            Assert.Equal(TimeSpan.FromTicks(1), snapshot1.TotalQueryTime);

            Assert.Equal(65, snapshot2.TotalInsertedEntities);
            Assert.Equal(16, snapshot2.TotalQueriedEntities);
            Assert.Equal(TimeSpan.FromTicks(9), snapshot2.TotalInsertTime);
            Assert.Equal(TimeSpan.FromTicks(68), snapshot2.TotalQueryTime);
        }
        public ConsensusStats(
            CoinView coinView,
            IConsensusLoop consensusLoop,
            IInitialBlockDownloadState initialBlockDownloadState,
            ConcurrentChain chain,
            IConnectionManager connectionManager,
            IDateTimeProvider dateTimeProvider,
            ILoggerFactory loggerFactory)
        {
            var stack = new CoinViewStack(coinView);

            this.cache   = stack.Find <CachedCoinView>();
            this.dbreeze = stack.Find <DBreezeCoinView>();
            this.bottom  = stack.Bottom;

            this.consensusLoop   = consensusLoop;
            this.lookaheadPuller = this.consensusLoop.Puller as LookaheadBlockPuller;

            this.lastSnapshot              = consensusLoop.ConsensusRules.PerformanceCounter.Snapshot();
            this.lastSnapshot2             = this.dbreeze?.PerformanceCounter.Snapshot();
            this.lastSnapshot3             = this.cache?.PerformanceCounter.Snapshot();
            this.initialBlockDownloadState = initialBlockDownloadState;
            this.chain             = chain;
            this.connectionManager = connectionManager;
            this.dateTimeProvider  = dateTimeProvider;
            this.logger            = loggerFactory.CreateLogger(this.GetType().FullName);
        }
Exemplo n.º 3
0
            public ConsensusStats(FullNode fullNode, CoinViewStack stack)
            {
                this.fullNode = fullNode;

                stack   = new CoinViewStack(fullNode.CoinView);
                cache   = stack.Find <CachedCoinView>();
                dbreeze = stack.Find <DBreezeCoinView>();
                bottom  = stack.Bottom;

                lookaheadPuller = fullNode.ConsensusLoop.Puller as LookaheadBlockPuller;

                lastSnapshot  = fullNode.ConsensusLoop.Validator.PerformanceCounter.Snapshot();
                lastSnapshot2 = dbreeze?.PerformanceCounter.Snapshot();
                lastSnapshot3 = cache?.PerformanceCounter.Snapshot();
            }
Exemplo n.º 4
0
        private void AddBenchStats(StringBuilder log)
        {
            log.AppendLine("======Leveldb Bench======");

            BackendPerformanceSnapshot snapShot = this.performanceCounter.Snapshot();

            if (this.latestPerformanceSnapShot == null)
            {
                log.AppendLine(snapShot.ToString());
            }
            else
            {
                log.AppendLine((snapShot - this.latestPerformanceSnapShot).ToString());
            }

            this.latestPerformanceSnapShot = snapShot;
        }
Exemplo n.º 5
0
        private void AddBenchStats(StringBuilder benchLog)
        {
            if (this.TipHashHeight != null)
            {
                benchLog.AppendLine("======ProvenBlockHeaderStore Bench======");

                BackendPerformanceSnapshot snapShot = this.performanceCounter.Snapshot();

                if (this.latestPerformanceSnapShot == null)
                {
                    benchLog.AppendLine(snapShot.ToString());
                }
                else
                {
                    benchLog.AppendLine((snapShot - this.latestPerformanceSnapShot).ToString());
                }

                this.latestPerformanceSnapShot = snapShot;
            }
        }
        public void Log()
        {
            StringBuilder benchLogs = new StringBuilder();

            if (this.lookaheadPuller != null)
            {
                benchLogs.AppendLine("======Block Puller======");
                benchLogs.AppendLine("Lookahead:".PadRight(LoggingConfiguration.ColumnLength) + this.lookaheadPuller.ActualLookahead + " blocks");
                benchLogs.AppendLine("Downloaded:".PadRight(LoggingConfiguration.ColumnLength) + this.lookaheadPuller.MedianDownloadCount + " blocks");
                benchLogs.AppendLine("==========================");
            }

            benchLogs.AppendLine("Persistent Tip:".PadRight(LoggingConfiguration.ColumnLength) + this.chain.GetBlock(this.bottom.GetBlockHashAsync().Result)?.Height);
            if (this.cache != null)
            {
                benchLogs.AppendLine("Cache Tip".PadRight(LoggingConfiguration.ColumnLength) + this.chain.GetBlock(this.cache.GetBlockHashAsync().Result)?.Height);
                benchLogs.AppendLine("Cache entries".PadRight(LoggingConfiguration.ColumnLength) + this.cache.CacheEntryCount);
            }

            var snapshot = this.consensusLoop.Validator.PerformanceCounter.Snapshot();

            benchLogs.AppendLine((snapshot - this.lastSnapshot).ToString());
            this.lastSnapshot = snapshot;

            if (this.dbreeze != null)
            {
                var snapshot2 = this.dbreeze.PerformanceCounter.Snapshot();
                benchLogs.AppendLine((snapshot2 - this.lastSnapshot2).ToString());
                this.lastSnapshot2 = snapshot2;
            }
            if (this.cache != null)
            {
                var snapshot3 = this.cache.PerformanceCounter.Snapshot();
                benchLogs.AppendLine((snapshot3 - this.lastSnapshot3).ToString());
                this.lastSnapshot3 = snapshot3;
            }
            benchLogs.AppendLine(this.connectionManager.GetStats());
            this.logger.LogInformation(benchLogs.ToString());
        }
        private void AddBenchStats(StringBuilder benchLog)
        {
            if (this.storeTip != null)
            {
                benchLog.AppendLine("======ProvenBlockHeaderStore Bench======");

                BackendPerformanceSnapshot snapShot = this.performanceCounter.Snapshot();

                if (this.latestPerformanceSnapShot == null)
                {
                    benchLog.AppendLine(snapShot.ToString());
                }
                else
                {
                    benchLog.AppendLine((snapShot - this.latestPerformanceSnapShot).ToString());
                }

                this.latestPerformanceSnapShot = snapShot;
            }

            this.PendingBatch.Sum(p => p.Value.HeaderSize);
        }