From 994f0180bc1d89fc84590a2a00bf5023aad6bf22 Mon Sep 17 00:00:00 2001 From: Jeffrey Picard Date: Thu, 10 Mar 2022 15:58:33 +0000 Subject: [PATCH] add some metrics --- db/db.go | 40 ++++++++++--------------------------- internal/metrics/metrics.go | 8 ++++++++ 2 files changed, 18 insertions(+), 30 deletions(-) diff --git a/db/db.go b/db/db.go index 9b908c4..e8d4e84 100644 --- a/db/db.go +++ b/db/db.go @@ -11,6 +11,7 @@ import ( "github.com/lbryio/hub/db/db_stack" "github.com/lbryio/hub/db/prefixes" + "github.com/lbryio/hub/internal/metrics" "github.com/lbryio/lbry.go/v2/extras/util" "github.com/linxGnu/grocksdb" @@ -646,8 +647,7 @@ func DetectChanges(db *ReadOnlyDBColumnFamily) error { } } if rewound { - //TODO: reorg count metric - log.Warn("implement reorg count metric") + metrics.ReorgCount.Inc() } err = ReadDBState(db) @@ -662,9 +662,9 @@ func DetectChanges(db *ReadOnlyDBColumnFamily) error { } //TODO: ClearCache log.Warn("implement cache clearing") + db.LastState = state - //TODO: block count metric - log.Warn("implement block count metric") + metrics.BlockCount.Inc() //TODO: update blocked streams //TODO: update filtered streams @@ -674,32 +674,12 @@ func DetectChanges(db *ReadOnlyDBColumnFamily) error { return nil /* - if self.last_state: - while True: - if self.db.headers[-1] == self.db.prefix_db.header.get(last_height, deserialize_value=False): - self.log.debug("connects to block %i", last_height) - break - else: - self.log.warning("disconnect block %i", last_height) - self.unwind() - rewound = True - last_height -= 1 - if rewound: - self.reorg_count_metric.inc() - self.db.read_db_state() - if not self.last_state or last_height < state.height: - for height in range(last_height + 1, state.height + 1): - self.log.info("advancing to %i", height) - self.advance(height) - self.clear_caches() - self.last_state = state - self.block_count_metric.set(self.last_state.height) - self.db.blocked_streams, self.db.blocked_channels = self.db.get_streams_and_channels_reposted_by_channel_hashes( - self.db.blocking_channel_hashes - ) - self.db.filtered_streams, self.db.filtered_channels = self.db.get_streams_and_channels_reposted_by_channel_hashes( - self.db.filtering_channel_hashes - ) + self.db.blocked_streams, self.db.blocked_channels = self.db.get_streams_and_channels_reposted_by_channel_hashes( + self.db.blocking_channel_hashes + ) + self.db.filtered_streams, self.db.filtered_channels = self.db.get_streams_and_channels_reposted_by_channel_hashes( + self.db.filtering_channel_hashes + ) */ } diff --git a/internal/metrics/metrics.go b/internal/metrics/metrics.go index 7109664..46b717d 100644 --- a/internal/metrics/metrics.go +++ b/internal/metrics/metrics.go @@ -30,4 +30,12 @@ var ( Name: "peers_subbed", Help: "Number of peers that are subscribed to us.", }) + BlockCount = promauto.NewCounter(prometheus.CounterOpts{ + Name: "block_count", + Help: "Number of blocks we have processed.", + }) + ReorgCount = promauto.NewCounter(prometheus.CounterOpts{ + Name: "reorg_count", + Help: "Number of blockchain reorgs we have done.", + }) )