@@ -47,14 +47,14 @@ import {
47
47
} from './payment-method/ilp/ilp_plugin'
48
48
import { createHttpTokenService } from './payment-method/ilp/peer-http-token/service'
49
49
import { createPeerService } from './payment-method/ilp/peer/service'
50
- import {
51
- createIlpPaymentService ,
52
- ServiceDependencies as IlpPaymentServiceDependencies
53
- } from './payment-method/ilp/service'
50
+ import { createIlpPaymentService } from './payment-method/ilp/service'
54
51
import { createSPSPRoutes } from './payment-method/ilp/spsp/routes'
55
52
import { createStreamCredentialsService } from './payment-method/ilp/stream-credentials/service'
56
53
import { createRatesService } from './rates/service'
57
- import { TelemetryService , createTelemetryService } from './telemetry/service'
54
+ import {
55
+ createTelemetryService ,
56
+ createNoopTelemetryService
57
+ } from './telemetry/service'
58
58
import { createWebhookService } from './webhook/service'
59
59
60
60
BigInt . prototype . toJSON = function ( ) {
@@ -135,29 +135,32 @@ export function initIocContainer(
135
135
} )
136
136
} )
137
137
138
- if ( config . enableTelemetry ) {
139
- container . singleton ( 'internalRatesService' , async ( deps ) => {
140
- return createRatesService ( {
141
- logger : await deps . use ( 'logger' ) ,
142
- exchangeRatesUrl : config . telemetryExchangeRatesUrl ,
143
- exchangeRatesLifetime : config . telemetryExchangeRatesLifetime
144
- } )
138
+ container . singleton ( 'internalRatesService' , async ( deps ) => {
139
+ return createRatesService ( {
140
+ logger : await deps . use ( 'logger' ) ,
141
+ exchangeRatesUrl : config . telemetryExchangeRatesUrl ,
142
+ exchangeRatesLifetime : config . telemetryExchangeRatesLifetime
145
143
} )
144
+ } )
146
145
147
- container . singleton ( 'telemetry' , async ( deps ) => {
148
- const config = await deps . use ( 'config' )
149
- return createTelemetryService ( {
150
- logger : await deps . use ( 'logger' ) ,
151
- aseRatesService : await deps . use ( 'ratesService' ) ,
152
- internalRatesService : await deps . use ( 'internalRatesService' ) ! ,
153
- instanceName : config . instanceName ,
154
- collectorUrls : config . openTelemetryCollectors ,
155
- exportIntervalMillis : config . openTelemetryExportInterval ,
156
- baseAssetCode : 'USD' ,
157
- baseScale : 4
158
- } )
146
+ container . singleton ( 'telemetry' , async ( deps ) => {
147
+ const config = await deps . use ( 'config' )
148
+
149
+ if ( ! config . enableTelemetry ) {
150
+ return createNoopTelemetryService ( )
151
+ }
152
+
153
+ return createTelemetryService ( {
154
+ logger : await deps . use ( 'logger' ) ,
155
+ aseRatesService : await deps . use ( 'ratesService' ) ,
156
+ internalRatesService : await deps . use ( 'internalRatesService' ) ! ,
157
+ instanceName : config . instanceName ,
158
+ collectorUrls : config . openTelemetryCollectors ,
159
+ exportIntervalMillis : config . openTelemetryExportInterval ,
160
+ baseAssetCode : 'USD' ,
161
+ baseScale : 4
159
162
} )
160
- }
163
+ } )
161
164
162
165
container . singleton ( 'openApi' , async ( ) => {
163
166
const resourceServerSpec = await getResourceServerOpenAPI ( )
@@ -356,10 +359,6 @@ export function initIocContainer(
356
359
357
360
container . singleton ( 'connectorApp' , async ( deps ) => {
358
361
const config = await deps . use ( 'config' )
359
- let telemetry : TelemetryService | undefined
360
- if ( config . enableTelemetry ) {
361
- telemetry = await deps . use ( 'telemetry' )
362
- }
363
362
return await createConnectorService ( {
364
363
logger : await deps . use ( 'logger' ) ,
365
364
redis : await deps . use ( 'redis' ) ,
@@ -370,7 +369,7 @@ export function initIocContainer(
370
369
ratesService : await deps . use ( 'ratesService' ) ,
371
370
streamServer : await deps . use ( 'streamServer' ) ,
372
371
ilpAddress : config . ilpAddress ,
373
- telemetry
372
+ telemetry : await deps . use ( 'telemetry' )
374
373
} )
375
374
} )
376
375
@@ -425,19 +424,14 @@ export function initIocContainer(
425
424
} )
426
425
427
426
container . singleton ( 'ilpPaymentService' , async ( deps ) => {
428
- const serviceDependencies : IlpPaymentServiceDependencies = {
427
+ return await createIlpPaymentService ( {
429
428
logger : await deps . use ( 'logger' ) ,
430
429
knex : await deps . use ( 'knex' ) ,
431
430
config : await deps . use ( 'config' ) ,
432
431
makeIlpPlugin : await deps . use ( 'makeIlpPlugin' ) ,
433
- ratesService : await deps . use ( 'ratesService' )
434
- }
435
-
436
- if ( config . enableTelemetry ) {
437
- serviceDependencies . telemetry = await deps . use ( 'telemetry' )
438
- }
439
-
440
- return createIlpPaymentService ( serviceDependencies )
432
+ ratesService : await deps . use ( 'ratesService' ) ,
433
+ telemetry : await deps . use ( 'telemetry' )
434
+ } )
441
435
} )
442
436
443
437
container . singleton ( 'paymentMethodHandlerService' , async ( deps ) => {
@@ -469,7 +463,6 @@ export function initIocContainer(
469
463
} )
470
464
471
465
container . singleton ( 'outgoingPaymentService' , async ( deps ) => {
472
- const config = await deps . use ( 'config' )
473
466
return await createOutgoingPaymentService ( {
474
467
logger : await deps . use ( 'logger' ) ,
475
468
knex : await deps . use ( 'knex' ) ,
@@ -481,9 +474,7 @@ export function initIocContainer(
481
474
peerService : await deps . use ( 'peerService' ) ,
482
475
walletAddressService : await deps . use ( 'walletAddressService' ) ,
483
476
quoteService : await deps . use ( 'quoteService' ) ,
484
- telemetry : config . enableTelemetry
485
- ? await deps . use ( 'telemetry' )
486
- : undefined
477
+ telemetry : await deps . use ( 'telemetry' )
487
478
} )
488
479
} )
489
480
@@ -548,10 +539,8 @@ export const gracefulShutdown = async (
548
539
await redis . quit ( )
549
540
redis . disconnect ( )
550
541
551
- if ( config . enableTelemetry ) {
552
- const telemetry = await container . use ( 'telemetry' )
553
- telemetry ?. shutdown ( )
554
- }
542
+ const telemetry = await container . use ( 'telemetry' )
543
+ telemetry . shutdown ( )
555
544
}
556
545
557
546
export const start = async (
0 commit comments