@@ -68,15 +68,17 @@ func newTestRPC(t *testing.T) *testRPC {
6868 }
6969
7070 rpc := & testRPC {}
71- rpc .RPCClientBase = NewRPCClientBase [* testHead ](cfg , requestTimeout , lggr , rpc .latestBlock , rpc .latestBlock , nil )
71+ rpc .RPCClientBase = NewRPCClientBase [* testHead ](cfg , requestTimeout , lggr , rpc .latestBlock , rpc .latestBlock , "http://localhost:8545" , nil )
7272 t .Cleanup (rpc .Close )
7373 return rpc
7474}
7575
7676type recordedRPCRequest struct {
77- callName string
78- latency time.Duration
79- err error
77+ rpcURL string
78+ isSendOnly bool
79+ callName string
80+ latency time.Duration
81+ err error
8082}
8183
8284type spyRPCClientMetrics struct {
@@ -85,11 +87,13 @@ type spyRPCClientMetrics struct {
8587
8688var _ frameworkmetrics.RPCClientMetrics = (* spyRPCClientMetrics )(nil )
8789
88- func (s * spyRPCClientMetrics ) RecordRequest (_ context.Context , _ string , _ bool , callName string , latency time.Duration , err error ) {
90+ func (s * spyRPCClientMetrics ) RecordRequest (_ context.Context , rpcURL string , isSendOnly bool , callName string , latency time.Duration , err error ) {
8991 s .requests = append (s .requests , recordedRPCRequest {
90- callName : callName ,
91- latency : latency ,
92- err : err ,
92+ rpcURL : rpcURL ,
93+ isSendOnly : isSendOnly ,
94+ callName : callName ,
95+ latency : latency ,
96+ err : err ,
9397 })
9498}
9599
@@ -147,6 +151,7 @@ func TestRPCClientBase_RecordsRPCMetrics(t *testing.T) {
147151
148152 t .Run ("records successful latest block requests" , func (t * testing.T ) {
149153 spy := & spyRPCClientMetrics {}
154+ const testURL = "http://rpc.example.com:8545"
150155 rpc := NewRPCClientBase [* testHead ](
151156 cfg ,
152157 requestTimeout ,
@@ -157,20 +162,24 @@ func TestRPCClientBase_RecordsRPCMetrics(t *testing.T) {
157162 func (context.Context ) (* testHead , error ) {
158163 return & testHead {blockNumber : 8 }, nil
159164 },
165+ testURL ,
160166 spy ,
161167 )
162168
163169 head , err := rpc .LatestBlock (t .Context ())
164170 require .NoError (t , err )
165171 require .Equal (t , int64 (7 ), head .BlockNumber ())
166172 require .Len (t , spy .requests , 1 )
173+ require .Equal (t , testURL , spy .requests [0 ].rpcURL )
174+ require .False (t , spy .requests [0 ].isSendOnly )
167175 require .Equal (t , rpcCallNameLatestBlock , spy .requests [0 ].callName )
168176 require .NoError (t , spy .requests [0 ].err )
169177 require .Positive (t , spy .requests [0 ].latency )
170178 })
171179
172180 t .Run ("records failed finalized block requests" , func (t * testing.T ) {
173181 spy := & spyRPCClientMetrics {}
182+ const testURL = "http://rpc.example.com:8545"
174183 expectedErr := errors .New ("boom" )
175184 rpc := NewRPCClientBase [* testHead ](
176185 cfg ,
@@ -182,19 +191,23 @@ func TestRPCClientBase_RecordsRPCMetrics(t *testing.T) {
182191 func (context.Context ) (* testHead , error ) {
183192 return nil , expectedErr
184193 },
194+ testURL ,
185195 spy ,
186196 )
187197
188198 _ , err := rpc .LatestFinalizedBlock (t .Context ())
189199 require .ErrorIs (t , err , expectedErr )
190200 require .Len (t , spy .requests , 1 )
201+ require .Equal (t , testURL , spy .requests [0 ].rpcURL )
202+ require .False (t , spy .requests [0 ].isSendOnly )
191203 require .Equal (t , rpcCallNameLatestFinalizedBlock , spy .requests [0 ].callName )
192204 require .ErrorIs (t , spy .requests [0 ].err , expectedErr )
193205 require .Positive (t , spy .requests [0 ].latency )
194206 })
195207
196208 t .Run ("records invalid heads as failed requests" , func (t * testing.T ) {
197209 spy := & spyRPCClientMetrics {}
210+ const testURL = "http://rpc.example.com:8545"
198211 rpc := NewRPCClientBase [* testHead ](
199212 cfg ,
200213 requestTimeout ,
@@ -205,12 +218,15 @@ func TestRPCClientBase_RecordsRPCMetrics(t *testing.T) {
205218 func (context.Context ) (* testHead , error ) {
206219 return & testHead {blockNumber : 8 }, nil
207220 },
221+ testURL ,
208222 spy ,
209223 )
210224
211225 _ , err := rpc .LatestBlock (t .Context ())
212226 require .ErrorIs (t , err , errInvalidHead )
213227 require .Len (t , spy .requests , 1 )
228+ require .Equal (t , testURL , spy .requests [0 ].rpcURL )
229+ require .False (t , spy .requests [0 ].isSendOnly )
214230 require .Equal (t , rpcCallNameLatestBlock , spy .requests [0 ].callName )
215231 require .ErrorIs (t , spy .requests [0 ].err , errInvalidHead )
216232 })
0 commit comments