88from collectors .cardano import cardano_collector
99from collectors .conflux import conflux_collector
1010from collectors .bitcoin import bitcoin_collector
11+ from collectors .dogecoin import doge_collector
1112from settings import logger , cfg
1213
1314
@@ -27,69 +28,107 @@ def __init__(self):
2728 self ._instantiate_conflux ()
2829 if cfg .isBitcoin ():
2930 self ._instantiate_bitcoin ()
31+ if cfg .isDoge ():
32+ self ._instantiate_doge ()
3033
3134 def _instantiate_evm (self ):
3235 for item in cfg .endpoints :
33- logger .info ("Initializing evm node {}" .format (strip_url (item ['ws_url' ])))
34- self .collectors .append (evm_collector (item ['ws_url' ], item ['https_url' ], item ['provider' ]))
36+ logger .info ("Initializing evm node {}" .format (
37+ strip_url (item ['ws_url' ])))
38+ self .collectors .append (
39+ evm_collector (item ['ws_url' ], item ['https_url' ],
40+ item ['provider' ]))
3541 self .labels = self .collectors [0 ].labels
3642
3743 def _instantiate_conflux (self ):
3844 for item in cfg .endpoints :
39- logger .info ("Initializing conflux node {}" .format (strip_url (item ['ws_url' ])))
40- self .collectors .append (conflux_collector (item ['ws_url' ], item ['https_url' ], item ['provider' ]))
45+ logger .info ("Initializing conflux node {}" .format (
46+ strip_url (item ['ws_url' ])))
47+ self .collectors .append (
48+ conflux_collector (item ['ws_url' ], item ['https_url' ],
49+ item ['provider' ]))
4150 self .labels = self .collectors [0 ].labels
4251
4352 def _instantiate_solana (self ):
4453 for item in cfg .endpoints :
45- logger .info ("Initializing solana node {}" .format (strip_url (item ['https_url' ])))
46- self .collectors .append (solana_collector (item ['ws_url' ], item ['https_url' ], item ['provider' ]))
54+ logger .info ("Initializing solana node {}" .format (
55+ strip_url (item ['https_url' ])))
56+ self .collectors .append (
57+ solana_collector (item ['ws_url' ], item ['https_url' ],
58+ item ['provider' ]))
4759 self .labels = self .collectors [0 ].labels
4860
4961 def _instantiate_cardano (self ):
5062 for item in cfg .endpoints :
51- logger .info ("Initializing cardano node {}" .format (strip_url (item ['ws_url' ])))
52- self .collectors .append (cardano_collector (item ['ws_url' ], item ['provider' ]))
63+ logger .info ("Initializing cardano node {}" .format (
64+ strip_url (item ['ws_url' ])))
65+ self .collectors .append (
66+ cardano_collector (item ['ws_url' ], item ['provider' ]))
5367 self .labels = self .collectors [0 ].labels
5468
5569 def _instantiate_bitcoin (self ):
5670 for item in cfg .endpoints :
57- logger .info ("Initializing bitcoin node {}" .format (strip_url (item ['https_url' ])))
58- self .collectors .append (bitcoin_collector (item ['https_url' ], item ['provider' ]))
71+ logger .info ("Initializing bitcoin node {}" .format (
72+ strip_url (item ['https_url' ])))
73+ self .collectors .append (
74+ bitcoin_collector (item ['https_url' ], item ['provider' ]))
75+ self .labels = self .collectors [0 ].labels
76+
77+ def _instantiate_doge (self ):
78+ for item in cfg .endpoints :
79+ logger .info ("Initializing doge node {}" .format (
80+ strip_url (item ['https_url' ])))
81+ self .collectors .append (
82+ doge_collector (item ['https_url' ], item ['provider' ]))
5983 self .labels = self .collectors [0 ].labels
6084
6185 def collect (self ):
6286 metrics = {
6387 "ws_rpc_health" :
64- GaugeMetricFamily ('ws_rpc_health' ,
65- 'Returns 1 if rpc websocket server established a connection with the probe client.' ,
66- labels = self .labels ),
88+ GaugeMetricFamily (
89+ 'ws_rpc_health' ,
90+ 'Returns 1 if rpc websocket server established a connection with the probe client.' ,
91+ labels = self .labels ),
6792 "ws_rpc_latency" :
68- GaugeMetricFamily ('ws_rpc_latency' ,
69- 'Latency in milliseconds of the websocket keepalive ping.' ,
70- labels = self .labels ),
93+ GaugeMetricFamily (
94+ 'ws_rpc_latency' ,
95+ 'Latency in milliseconds of the websocket keepalive ping.' ,
96+ labels = self .labels ),
7197 "ws_rpc_disconnects" :
72- GaugeMetricFamily ('ws_rpc_disconnects' , 'How many times rpc has disconnected.' , labels = self .labels ),
98+ GaugeMetricFamily ('ws_rpc_disconnects' ,
99+ 'How many times rpc has disconnected.' ,
100+ labels = self .labels ),
73101 "ws_rpc_block_height" :
74- GaugeMetricFamily ('ws_rpc_block_height' , 'Latest observed block_height.' , labels = self .labels ),
102+ GaugeMetricFamily ('ws_rpc_block_height' ,
103+ 'Latest observed block_height.' ,
104+ labels = self .labels ),
75105 "ws_rpc_head_count" :
76- CounterMetricFamily ('ws_rpc_head_count' , 'Heads received total.' , labels = self .labels ),
106+ CounterMetricFamily ('ws_rpc_head_count' ,
107+ 'Heads received total.' ,
108+ labels = self .labels ),
77109 "ws_rpc_difficulty" :
78- GaugeMetricFamily ('ws_rpc_difficulty' , 'Difficulty of the latest observed block.' , labels = self .labels ),
79- "ws_rpc_total_difficulty" :
80- GaugeMetricFamily ('ws_rpc_total_difficulty' ,
81- 'Total canonical chain difficulty observed from the first to the latest block.' ,
110+ GaugeMetricFamily ('ws_rpc_difficulty' ,
111+ 'Difficulty of the latest observed block.' ,
82112 labels = self .labels ),
113+ "ws_rpc_total_difficulty" :
114+ GaugeMetricFamily (
115+ 'ws_rpc_total_difficulty' ,
116+ 'Total canonical chain difficulty observed from the first to the latest block.' ,
117+ labels = self .labels ),
83118 "ws_rpc_gas_price" :
84- GaugeMetricFamily ('ws_rpc_gas_price' , 'The current gas price in Wei.' , labels = self .labels ),
85- "ws_rpc_max_priority_fee" :
86- GaugeMetricFamily ('ws_rpc_max_priority_fee' ,
87- 'Suggested max priority fee for dynamic fee transactions in Wei.' ,
119+ GaugeMetricFamily ('ws_rpc_gas_price' ,
120+ 'The current gas price in Wei.' ,
88121 labels = self .labels ),
122+ "ws_rpc_max_priority_fee" :
123+ GaugeMetricFamily (
124+ 'ws_rpc_max_priority_fee' ,
125+ 'Suggested max priority fee for dynamic fee transactions in Wei.' ,
126+ labels = self .labels ),
89127 "ws_rpc_net_peer_count" :
90- GaugeMetricFamily ('ws_rpc_net_peer_count' ,
91- 'Number of peers currently connected to the client.' ,
92- labels = self .labels )
128+ GaugeMetricFamily (
129+ 'ws_rpc_net_peer_count' ,
130+ 'Number of peers currently connected to the client.' ,
131+ labels = self .labels )
93132 }
94133
95134 def write_metrics (prom_collector , metrics ):
0 commit comments