Skip to content

Commit e792d06

Browse files
committed
add more settings metrics and split into its own file
1 parent b66e2a6 commit e792d06

File tree

3 files changed

+548
-262
lines changed

3 files changed

+548
-262
lines changed

rocketpool/metrics/metrics.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,9 @@ func run(c *cli.Context) error {
5050
// Start metrics processes
5151
go (func() { startAuctionMetricsProcess(c, networkUpdateInterval, logger) })()
5252
go (func() { startDaoMetricsProcess(c, networkUpdateInterval, logger) })()
53-
go (func() { startMinipoolMetricsProcess(c, minipoolUpdateInterval, logger) })()
5453
go (func() { startNetworkMetricsProcess(c, networkUpdateInterval, logger) })()
54+
go (func() { startSettingsMetricsProcess(c, networkUpdateInterval, logger) })()
55+
go (func() { startMinipoolMetricsProcess(c, minipoolUpdateInterval, logger) })()
5556
go (func() { startNodeMetricsProcess(c, nodeUpdateInterval, logger) })()
5657

5758
// Serve metrics

rocketpool/metrics/network.go

Lines changed: 1 addition & 261 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import (
1515
"github.com/rocket-pool/rocketpool-go/node"
1616
"github.com/rocket-pool/rocketpool-go/network"
1717
"github.com/rocket-pool/rocketpool-go/rocketpool"
18-
"github.com/rocket-pool/rocketpool-go/settings/protocol"
1918
"github.com/rocket-pool/rocketpool-go/types"
2019
"github.com/rocket-pool/rocketpool-go/utils/eth"
2120
apiNetwork "github.com/rocket-pool/smartnode/rocketpool/api/network"
@@ -34,15 +33,6 @@ type networkGauges struct {
3433
rplPrice prometheus.Gauge
3534
networkBlock prometheus.Gauge
3635
networkBalances *prometheus.GaugeVec
37-
settingsFlags *prometheus.GaugeVec
38-
settingsMinimumDeposit prometheus.Gauge
39-
settingsMaximumDepositPoolSize prometheus.Gauge
40-
settingsInflationIntervalRate prometheus.Gauge
41-
settingsInflationIntervalBlocks prometheus.Gauge
42-
settingsInflationStartBlock prometheus.Gauge
43-
settingsMinipool *prometheus.GaugeVec
44-
settingsMinipoolLaunchTimeout prometheus.Gauge
45-
settingsMinipoolWithdrawDelay prometheus.Gauge
4636
}
4737

4838

@@ -164,66 +154,6 @@ func newNetworkMetricsProcess(c *cli.Context, logger log.ColorLogger) (*networkM
164154
},
165155
[]string{"category"},
166156
),
167-
settingsFlags: promauto.NewGaugeVec(
168-
prometheus.GaugeOpts{
169-
Namespace: "rocketpool",
170-
Subsystem: "settings",
171-
Name: "flags_bool",
172-
Help: "settings flags on rocketpool protocol",
173-
},
174-
[]string{"flag"},
175-
),
176-
settingsMinimumDeposit: promauto.NewGauge(prometheus.GaugeOpts{
177-
Namespace: "rocketpool",
178-
Subsystem: "settings",
179-
Name: "minimum_deposit_eth",
180-
Help: "minimum deposit size",
181-
}),
182-
settingsMaximumDepositPoolSize: promauto.NewGauge(prometheus.GaugeOpts{
183-
Namespace: "rocketpool",
184-
Subsystem: "settings",
185-
Name: "maximum_pool_eth",
186-
Help: "maximum size of deposit pool",
187-
}),
188-
settingsInflationIntervalRate: promauto.NewGauge(prometheus.GaugeOpts{
189-
Namespace: "rocketpool",
190-
Subsystem: "settings",
191-
Name: "inflation_interval_rate",
192-
Help: "RPL inflation rate per interval",
193-
}),
194-
settingsInflationIntervalBlocks: promauto.NewGauge(prometheus.GaugeOpts{
195-
Namespace: "rocketpool",
196-
Subsystem: "settings",
197-
Name: "inflation_interval_blocks",
198-
Help: "RPL inflation interval in blocks",
199-
}),
200-
settingsInflationStartBlock: promauto.NewGauge(prometheus.GaugeOpts{
201-
Namespace: "rocketpool",
202-
Subsystem: "settings",
203-
Name: "inflation_start_block",
204-
Help: "RPL inflation start block",
205-
}),
206-
settingsMinipool: promauto.NewGaugeVec(
207-
prometheus.GaugeOpts{
208-
Namespace: "rocketpool",
209-
Subsystem: "settings",
210-
Name: "minipool_amounts",
211-
Help: "amount settings for rocketpool minipool",
212-
},
213-
[]string{"category"},
214-
),
215-
settingsMinipoolLaunchTimeout: promauto.NewGauge(prometheus.GaugeOpts{
216-
Namespace: "rocketpool",
217-
Subsystem: "settings",
218-
Name: "minipool_launch_timeout_blocks",
219-
Help: "Timeout period in blocks for prelaunch minipools to launch",
220-
}),
221-
settingsMinipoolWithdrawDelay: promauto.NewGauge(prometheus.GaugeOpts{
222-
Namespace: "rocketpool",
223-
Subsystem: "settings",
224-
Name: "minipool_withdraw_delay_blocks",
225-
Help: "Withdrawal delay in blocks before withdrawable minipools can be closed",
226-
}),
227157
}
228158

229159
p := &networkMetricsProcess {
@@ -246,8 +176,7 @@ func (p *networkMetricsProcess) updateMetrics() error {
246176
err1 := p.updateCounts()
247177
err4 := p.updateNetwork()
248178
err5 := p.updateMinipoolQueue()
249-
err6 := p.updateSettings()
250-
err := multierr.Combine(err1, err4, err5, err6)
179+
err := multierr.Combine(err1, err4, err5)
251180

252181
p.logger.Printlnf("Exit network updateMetrics with %d errors", len(multierr.Errors(err)))
253182
return err
@@ -412,192 +341,3 @@ func (p *networkMetricsProcess) updateMinipoolQueue() error {
412341
return nil
413342
}
414343

415-
416-
func (p *networkMetricsProcess) updateSettings() error {
417-
var wg errgroup.Group
418-
var depositEnabled, assignDepositEnabled, minipoolWithdrawEnabled, submitBalancesEnabled, processWithdrawalEnabled, nodeRegistrationEnabled, nodeDepositEnabled bool
419-
var minimumDeposit, maximumDepositPoolSize *big.Int
420-
var inflationIntervalRate float64
421-
var inflationIntervalBlocks, inflationStartBlock uint64
422-
var minipoolLaunchBalance, minipoolFullDepositNodeAmount, minipoolHalfDepositNodeAmount, minipoolEmptyDepositNodeAmount *big.Int
423-
var minipoolFullDepositUserAmount, minipoolHalfDepositUserAmount, minipoolEmptyDepositUserAmount *big.Int
424-
var minipoolLaunchTimeout, minipoolWithdrawalDelay uint64
425-
426-
// Get data
427-
wg.Go(func() error {
428-
response, err := protocol.GetDepositEnabled(p.rp, nil)
429-
if err == nil {
430-
depositEnabled = response
431-
}
432-
return err
433-
})
434-
wg.Go(func() error {
435-
response, err := protocol.GetAssignDepositsEnabled(p.rp, nil)
436-
if err == nil {
437-
assignDepositEnabled = response
438-
}
439-
return err
440-
})
441-
wg.Go(func() error {
442-
response, err := protocol.GetMinipoolSubmitWithdrawableEnabled(p.rp, nil)
443-
if err == nil {
444-
minipoolWithdrawEnabled = response
445-
}
446-
return err
447-
})
448-
wg.Go(func() error {
449-
response, err := protocol.GetSubmitBalancesEnabled(p.rp, nil)
450-
if err == nil {
451-
submitBalancesEnabled = response
452-
}
453-
return err
454-
})
455-
wg.Go(func() error {
456-
response, err := protocol.GetProcessWithdrawalsEnabled(p.rp, nil)
457-
if err == nil {
458-
processWithdrawalEnabled = response
459-
}
460-
return err
461-
})
462-
wg.Go(func() error {
463-
response, err := protocol.GetNodeRegistrationEnabled(p.rp, nil)
464-
if err == nil {
465-
nodeRegistrationEnabled = response
466-
}
467-
return err
468-
})
469-
wg.Go(func() error {
470-
response, err := protocol.GetNodeDepositEnabled(p.rp, nil)
471-
if err == nil {
472-
nodeDepositEnabled = response
473-
}
474-
return err
475-
})
476-
wg.Go(func() error {
477-
response, err := protocol.GetMinimumDeposit(p.rp, nil)
478-
if err == nil {
479-
minimumDeposit = response
480-
}
481-
return err
482-
})
483-
wg.Go(func() error {
484-
response, err := protocol.GetMaximumDepositPoolSize(p.rp, nil)
485-
if err == nil {
486-
maximumDepositPoolSize = response
487-
}
488-
return err
489-
})
490-
wg.Go(func() error {
491-
response, err := protocol.GetInflationIntervalRate(p.rp, nil)
492-
if err == nil {
493-
inflationIntervalRate = response
494-
}
495-
return err
496-
})
497-
wg.Go(func() error {
498-
response, err := protocol.GetInflationIntervalBlocks(p.rp, nil)
499-
if err == nil {
500-
inflationIntervalBlocks = response
501-
}
502-
return err
503-
})
504-
wg.Go(func() error {
505-
response, err := protocol.GetInflationStartBlock(p.rp, nil)
506-
if err == nil {
507-
inflationStartBlock = response
508-
}
509-
return err
510-
})
511-
wg.Go(func() error {
512-
response, err := protocol.GetMinipoolLaunchBalance(p.rp, nil)
513-
if err == nil {
514-
minipoolLaunchBalance = response
515-
}
516-
return err
517-
})
518-
wg.Go(func() error {
519-
response, err := protocol.GetMinipoolFullDepositNodeAmount(p.rp, nil)
520-
if err == nil {
521-
minipoolFullDepositNodeAmount = response
522-
}
523-
return err
524-
})
525-
wg.Go(func() error {
526-
response, err := protocol.GetMinipoolHalfDepositNodeAmount(p.rp, nil)
527-
if err == nil {
528-
minipoolHalfDepositNodeAmount = response
529-
}
530-
return err
531-
})
532-
wg.Go(func() error {
533-
response, err := protocol.GetMinipoolEmptyDepositNodeAmount(p.rp, nil)
534-
if err == nil {
535-
minipoolEmptyDepositNodeAmount = response
536-
}
537-
return err
538-
})
539-
wg.Go(func() error {
540-
response, err := protocol.GetMinipoolFullDepositUserAmount(p.rp, nil)
541-
if err == nil {
542-
minipoolFullDepositUserAmount = response
543-
}
544-
return err
545-
})
546-
wg.Go(func() error {
547-
response, err := protocol.GetMinipoolHalfDepositUserAmount(p.rp, nil)
548-
if err == nil {
549-
minipoolHalfDepositUserAmount = response
550-
}
551-
return err
552-
})
553-
wg.Go(func() error {
554-
response, err := protocol.GetMinipoolEmptyDepositUserAmount(p.rp, nil)
555-
if err == nil {
556-
minipoolEmptyDepositUserAmount = response
557-
}
558-
return err
559-
})
560-
wg.Go(func() error {
561-
response, err := protocol.GetMinipoolLaunchTimeout(p.rp, nil)
562-
if err == nil {
563-
minipoolLaunchTimeout = response
564-
}
565-
return err
566-
})
567-
wg.Go(func() error {
568-
response, err := protocol.GetMinipoolWithdrawalDelay(p.rp, nil)
569-
if err == nil {
570-
minipoolWithdrawalDelay = response
571-
}
572-
return err
573-
})
574-
575-
// Wait for data
576-
if err := wg.Wait(); err != nil {
577-
return err
578-
}
579-
p.metrics.settingsFlags.With(prometheus.Labels{"flag":"DepositEnabled"}).Set(float64(B2i(depositEnabled)))
580-
p.metrics.settingsFlags.With(prometheus.Labels{"flag":"AssignDepositEnabled"}).Set(float64(B2i(assignDepositEnabled)))
581-
p.metrics.settingsFlags.With(prometheus.Labels{"flag":"MinipoolWithdrawEnabled"}).Set(float64(B2i(minipoolWithdrawEnabled)))
582-
p.metrics.settingsFlags.With(prometheus.Labels{"flag":"SubmitBalancesEnabled"}).Set(float64(B2i(submitBalancesEnabled)))
583-
p.metrics.settingsFlags.With(prometheus.Labels{"flag":"ProcessWithdrawalEnabled"}).Set(float64(B2i(processWithdrawalEnabled)))
584-
p.metrics.settingsFlags.With(prometheus.Labels{"flag":"NodeRegistrationEnabled"}).Set(float64(B2i(nodeRegistrationEnabled)))
585-
p.metrics.settingsFlags.With(prometheus.Labels{"flag":"NodeDepositEnabled"}).Set(float64(B2i(nodeDepositEnabled)))
586-
p.metrics.settingsMinimumDeposit.Set(eth.WeiToEth(minimumDeposit))
587-
p.metrics.settingsMaximumDepositPoolSize.Set(eth.WeiToEth(maximumDepositPoolSize))
588-
p.metrics.settingsInflationIntervalRate.Set(inflationIntervalRate)
589-
p.metrics.settingsInflationIntervalBlocks.Set(float64(inflationIntervalBlocks))
590-
p.metrics.settingsInflationStartBlock.Set(float64(inflationStartBlock))
591-
p.metrics.settingsMinipool.With(prometheus.Labels{"category":"LaunchBalance"}).Set(eth.WeiToEth(minipoolLaunchBalance))
592-
p.metrics.settingsMinipool.With(prometheus.Labels{"category":"FullDepositNodeAmount"}).Set(eth.WeiToEth(minipoolFullDepositNodeAmount))
593-
p.metrics.settingsMinipool.With(prometheus.Labels{"category":"HalfDepositNodeAmount"}).Set(eth.WeiToEth(minipoolHalfDepositNodeAmount))
594-
p.metrics.settingsMinipool.With(prometheus.Labels{"category":"EmptyDepositNodeAmount"}).Set(eth.WeiToEth(minipoolEmptyDepositNodeAmount))
595-
p.metrics.settingsMinipool.With(prometheus.Labels{"category":"FullDepositUserAmount"}).Set(eth.WeiToEth(minipoolFullDepositUserAmount))
596-
p.metrics.settingsMinipool.With(prometheus.Labels{"category":"HalfDepositUserAmount"}).Set(eth.WeiToEth(minipoolHalfDepositUserAmount))
597-
p.metrics.settingsMinipool.With(prometheus.Labels{"category":"EmptyDepositUserAmount"}).Set(eth.WeiToEth(minipoolEmptyDepositUserAmount))
598-
p.metrics.settingsMinipoolLaunchTimeout.Set(float64(minipoolLaunchTimeout))
599-
p.metrics.settingsMinipoolWithdrawDelay.Set(float64(minipoolWithdrawalDelay))
600-
601-
return nil
602-
}
603-

0 commit comments

Comments
 (0)