Skip to content
Snippets Groups Projects
Unverified Commit 3835eba7 authored by capossele's avatar capossele
Browse files

:chart_with_upwards_trend: Add DBSize metric

parent 9de9146e
No related branches found
No related tags found
No related merge requests found
...@@ -63,8 +63,8 @@ func TestClosedConnection(t *testing.T) { ...@@ -63,8 +63,8 @@ func TestClosedConnection(t *testing.T) {
// wait for the connections to establish // wait for the connections to establish
wg.Wait() wg.Wait()
mgrA.On("neighborRemoved", peerB).Once() mgrA.On("neighborRemoved", mock.Anything).Once()
mgrB.On("neighborRemoved", peerA).Once() mgrB.On("neighborRemoved", mock.Anything).Once()
// A drops B // A drops B
err := mgrA.DropNeighbor(peerB.ID()) err := mgrA.DropNeighbor(peerB.ID())
...@@ -111,8 +111,8 @@ func TestP2PSend(t *testing.T) { ...@@ -111,8 +111,8 @@ func TestP2PSend(t *testing.T) {
mgrA.SendMessage(testMessageData) mgrA.SendMessage(testMessageData)
time.Sleep(graceTime) time.Sleep(graceTime)
mgrA.On("neighborRemoved", peerB).Once() mgrA.On("neighborRemoved", mock.Anything).Once()
mgrB.On("neighborRemoved", peerA).Once() mgrB.On("neighborRemoved", mock.Anything).Once()
closeA() closeA()
closeB() closeB()
...@@ -160,8 +160,8 @@ func TestP2PSendTwice(t *testing.T) { ...@@ -160,8 +160,8 @@ func TestP2PSendTwice(t *testing.T) {
mgrA.SendMessage(testMessageData) mgrA.SendMessage(testMessageData)
time.Sleep(graceTime) time.Sleep(graceTime)
mgrA.On("neighborRemoved", peerB).Once() mgrA.On("neighborRemoved", mock.Anything).Once()
mgrB.On("neighborRemoved", peerA).Once() mgrB.On("neighborRemoved", mock.Anything).Once()
closeA() closeA()
closeB() closeB()
...@@ -218,10 +218,10 @@ func TestBroadcast(t *testing.T) { ...@@ -218,10 +218,10 @@ func TestBroadcast(t *testing.T) {
mgrA.SendMessage(testMessageData) mgrA.SendMessage(testMessageData)
time.Sleep(graceTime) time.Sleep(graceTime)
mgrA.On("neighborRemoved", peerB).Once() mgrA.On("neighborRemoved", mock.Anything).Once()
mgrA.On("neighborRemoved", peerC).Once() mgrA.On("neighborRemoved", mock.Anything).Once()
mgrB.On("neighborRemoved", peerA).Once() mgrB.On("neighborRemoved", mock.Anything).Once()
mgrC.On("neighborRemoved", peerA).Once() mgrC.On("neighborRemoved", mock.Anything).Once()
closeA() closeA()
closeB() closeB()
...@@ -279,10 +279,10 @@ func TestSingleSend(t *testing.T) { ...@@ -279,10 +279,10 @@ func TestSingleSend(t *testing.T) {
mgrA.SendMessage(testMessageData, peerB.ID()) mgrA.SendMessage(testMessageData, peerB.ID())
time.Sleep(graceTime) time.Sleep(graceTime)
mgrA.On("neighborRemoved", peerB).Once() mgrA.On("neighborRemoved", mock.Anything).Once()
mgrA.On("neighborRemoved", peerC).Once() mgrA.On("neighborRemoved", mock.Anything).Once()
mgrB.On("neighborRemoved", peerA).Once() mgrB.On("neighborRemoved", mock.Anything).Once()
mgrC.On("neighborRemoved", peerA).Once() mgrC.On("neighborRemoved", mock.Anything).Once()
closeA() closeA()
closeB() closeB()
...@@ -346,8 +346,8 @@ func TestMessageRequest(t *testing.T) { ...@@ -346,8 +346,8 @@ func TestMessageRequest(t *testing.T) {
mgrA.RequestMessage(b) mgrA.RequestMessage(b)
time.Sleep(graceTime) time.Sleep(graceTime)
mgrA.On("neighborRemoved", peerB).Once() mgrA.On("neighborRemoved", mock.Anything).Once()
mgrB.On("neighborRemoved", peerA).Once() mgrB.On("neighborRemoved", mock.Anything).Once()
closeA() closeA()
closeB() closeB()
...@@ -383,7 +383,7 @@ func TestDropNeighbor(t *testing.T) { ...@@ -383,7 +383,7 @@ func TestDropNeighbor(t *testing.T) {
// close connection // close connection
disconnect := func() { disconnect := func() {
var wg sync.WaitGroup var wg sync.WaitGroup
signal := events.NewClosure(func(_ *peer.Peer) { wg.Done() }) signal := events.NewClosure(func(_ *Neighbor) { wg.Done() })
// we are expecting two signals // we are expecting two signals
wg.Add(2) wg.Add(2)
...@@ -476,5 +476,5 @@ type mockedManager struct { ...@@ -476,5 +476,5 @@ type mockedManager struct {
func (e *mockedManager) connectionFailed(p *peer.Peer, err error) { e.Called(p, err) } func (e *mockedManager) connectionFailed(p *peer.Peer, err error) { e.Called(p, err) }
func (e *mockedManager) neighborAdded(n *Neighbor) { e.Called(n) } func (e *mockedManager) neighborAdded(n *Neighbor) { e.Called(n) }
func (e *mockedManager) neighborRemoved(p *peer.Peer) { e.Called(p) } func (e *mockedManager) neighborRemoved(n *Neighbor) { e.Called(n) }
func (e *mockedManager) messageReceived(ev *MessageReceivedEvent) { e.Called(ev) } func (e *mockedManager) messageReceived(ev *MessageReceivedEvent) { e.Called(ev) }
...@@ -77,8 +77,8 @@ func configureAutopeering() { ...@@ -77,8 +77,8 @@ func configureAutopeering() {
mgr.Events().ConnectionFailed.Attach(events.NewClosure(func(p *peer.Peer, _ error) { mgr.Events().ConnectionFailed.Attach(events.NewClosure(func(p *peer.Peer, _ error) {
peerSel.RemoveNeighbor(p.ID()) peerSel.RemoveNeighbor(p.ID())
})) }))
mgr.Events().NeighborRemoved.Attach(events.NewClosure(func(p *peer.Peer) { mgr.Events().NeighborRemoved.Attach(events.NewClosure(func(n *gossip.Neighbor) {
peerSel.RemoveNeighbor(p.ID()) peerSel.RemoveNeighbor(n.ID())
})) }))
} }
...@@ -93,8 +93,8 @@ func configureLogging() { ...@@ -93,8 +93,8 @@ func configureLogging() {
mgr.Events().NeighborAdded.Attach(events.NewClosure(func(n *gossip.Neighbor) { mgr.Events().NeighborAdded.Attach(events.NewClosure(func(n *gossip.Neighbor) {
log.Infof("Neighbor added: %s / %s", gossip.GetAddress(n.Peer), n.ID()) log.Infof("Neighbor added: %s / %s", gossip.GetAddress(n.Peer), n.ID())
})) }))
mgr.Events().NeighborRemoved.Attach(events.NewClosure(func(p *peer.Peer) { mgr.Events().NeighborRemoved.Attach(events.NewClosure(func(n *gossip.Neighbor) {
log.Infof("Neighbor removed: %s / %s", gossip.GetAddress(p), p.ID()) log.Infof("Neighbor removed: %s / %s", gossip.GetAddress(n.Peer), n.ID())
})) }))
} }
......
...@@ -4,15 +4,27 @@ import ( ...@@ -4,15 +4,27 @@ import (
"os" "os"
"path/filepath" "path/filepath"
"github.com/iotaledger/goshimmer/packages/metrics"
"github.com/iotaledger/goshimmer/plugins/config" "github.com/iotaledger/goshimmer/plugins/config"
"github.com/iotaledger/goshimmer/plugins/database" "github.com/iotaledger/goshimmer/plugins/database"
"github.com/iotaledger/hive.go/syncutils"
) )
func colectData() { var (
_dbSize uint64
dbSizeLock syncutils.RWMutex
)
func DBSize() uint64 {
dbSizeLock.RLock()
defer dbSizeLock.RUnlock()
return _dbSize
}
func colectDBSize() {
dbSize, err := directorySize(config.Node.GetString(database.CfgDatabaseDir)) dbSize, err := directorySize(config.Node.GetString(database.CfgDatabaseDir))
if err == nil { if err == nil {
dataSizes.WithLabelValues("database").Set(float64(dbSize)) metrics.Events().DBSize.Trigger(uint64(dbSize))
} }
} }
......
...@@ -53,6 +53,11 @@ func configure(_ *node.Plugin) { ...@@ -53,6 +53,11 @@ func configure(_ *node.Plugin) {
defer syncLock.Unlock() defer syncLock.Unlock()
isSynced = synced isSynced = synced
})) }))
metrics.Events().DBSize.Attach(events.NewClosure(func(dbSize uint64) {
dbSizeLock.Lock()
defer dbSizeLock.Unlock()
_dbSize = dbSize
}))
} }
func run(_ *node.Plugin) { func run(_ *node.Plugin) {
......
...@@ -6,12 +6,12 @@ import ( ...@@ -6,12 +6,12 @@ import (
"github.com/iotaledger/goshimmer/packages/binary/messagelayer/message" "github.com/iotaledger/goshimmer/packages/binary/messagelayer/message"
"github.com/iotaledger/goshimmer/packages/binary/messagelayer/tangle" "github.com/iotaledger/goshimmer/packages/binary/messagelayer/tangle"
gossipPkg "github.com/iotaledger/goshimmer/packages/gossip"
"github.com/iotaledger/goshimmer/packages/shutdown" "github.com/iotaledger/goshimmer/packages/shutdown"
"github.com/iotaledger/goshimmer/plugins/autopeering/local" "github.com/iotaledger/goshimmer/plugins/autopeering/local"
"github.com/iotaledger/goshimmer/plugins/config" "github.com/iotaledger/goshimmer/plugins/config"
"github.com/iotaledger/goshimmer/plugins/gossip" "github.com/iotaledger/goshimmer/plugins/gossip"
"github.com/iotaledger/goshimmer/plugins/messagelayer" "github.com/iotaledger/goshimmer/plugins/messagelayer"
"github.com/iotaledger/hive.go/autopeering/peer"
"github.com/iotaledger/hive.go/daemon" "github.com/iotaledger/hive.go/daemon"
"github.com/iotaledger/hive.go/events" "github.com/iotaledger/hive.go/events"
"github.com/iotaledger/hive.go/logger" "github.com/iotaledger/hive.go/logger"
...@@ -105,7 +105,7 @@ func monitorForDesynchronization() { ...@@ -105,7 +105,7 @@ func monitorForDesynchronization() {
// monitors the peer count of the manager and sets the node as desynced if it has no more peers. // monitors the peer count of the manager and sets the node as desynced if it has no more peers.
noPeers := make(chan types.Empty) noPeers := make(chan types.Empty)
monitorPeerCountClosure := events.NewClosure(func(_ *peer.Peer) { monitorPeerCountClosure := events.NewClosure(func(_ *gossipPkg.Neighbor) {
anyPeers := len(gossip.Manager().AllNeighbors()) > 0 anyPeers := len(gossip.Manager().AllNeighbors()) > 0
if anyPeers { if anyPeers {
return return
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment