Skip to content

Commit 5d714e9

Browse files
committed
metrics: log db size on content added
1 parent fced75a commit 5d714e9

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

packages/portalnetwork/src/client/client.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { HistoryNetwork } from '../networks/history/history.js'
1111
import {
1212
BeaconLightClientNetwork,
1313
NetworkId,
14+
NetworkNames,
1415
StateNetwork,
1516
SyncStrategy,
1617
} from '../networks/index.js'
@@ -30,6 +31,7 @@ import type { ITalkReqMessage, ITalkRespMessage } from '@chainsafe/discv5/messag
3031
import type { NodeId } from '@chainsafe/enr'
3132
import type { Multiaddr } from '@multiformats/multiaddr'
3233
import type { Debugger } from 'debug'
34+
import type * as PromClient from 'prom-client'
3335

3436
export class PortalNetwork extends (EventEmitter as { new (): PortalNetworkEventEmitter }) {
3537
eventLog: boolean
@@ -288,6 +290,12 @@ export class PortalNetwork extends (EventEmitter as { new (): PortalNetworkEvent
288290
}
289291
network.startRefresh()
290292
await network.prune()
293+
if (this.metrics) {
294+
network.on('ContentAdded', async () => {
295+
const metric = (NetworkNames[network.networkId] + '_dbSize') as keyof PortalNetworkMetrics
296+
;(<PromClient.Gauge>this.metrics![metric]).set(await network.db.size())
297+
})
298+
}
291299
}
292300
void this.bootstrap()
293301
}
@@ -318,6 +326,7 @@ export class PortalNetwork extends (EventEmitter as { new (): PortalNetworkEvent
318326
await this.db.close()
319327
for (const network of this.networks.values()) {
320328
network.stopRefresh()
329+
network.removeAllListeners()
321330
}
322331
}
323332

0 commit comments

Comments
 (0)