Skip to content

Commit 141fead

Browse files
authored
refactored to use statsd instead of dd-tracer (#743)
* refactored to use statsd instead of dd-tracer * using correct vaults-claimer.heartbeat
1 parent 33ece60 commit 141fead

File tree

6 files changed

+81
-50
lines changed

6 files changed

+81
-50
lines changed

claimer/main.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { heartbeat } from './src/tracer'
21
import { start, stop } from './src/runner'
32
import { proveTransactions } from './src/prove-transactions'
43
import { claimTransactions } from './src/claim-withdrawals'
@@ -11,7 +10,6 @@ import { logger } from './src/logger'
1110

1211
const run = async () => {
1312
const { vaultService } = await start()
14-
await heartbeat()
1513

1614
// process transactions
1715
await proveTransactions({ vaultService })

claimer/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
},
2121
"dependencies": {
2222
"ethers": "6.15.0",
23+
"hot-shots": "11.2.0",
2324
"tsx": "4.20.4",
2425
"winston": "3.17.0"
2526
}

claimer/src/datadog.ts

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import { StatsD } from 'hot-shots'
2+
import { logger } from './logger'
3+
4+
let statsd: StatsD | null = null
5+
const service = process.env.SERVICE_NAME || 'vaults-backend-claimer'
6+
const environment =
7+
process.env.ENVIRONMENT || process.env.NODE_ENV || 'development'
8+
const version = process.env.IMAGE_TAG || 'unknown'
9+
const url = new URL(process.env.DATADOG_AGENT_URL || 'http://localhost:8125')
10+
11+
export const start = () => {
12+
logger.info('Starting monitoring', { environment, service, url, version })
13+
// init if datadog is set
14+
if (process.env.DATADOG_AGENT_URL) {
15+
statsd = new StatsD({
16+
globalTags: {
17+
environment,
18+
service,
19+
version,
20+
},
21+
host: url.hostname,
22+
port: parseInt(url.port || '8125', 10),
23+
})
24+
25+
statsd.increment('vaults-claimer.heartbeat', 1)
26+
logger.info('Heartbeat sent to datadog')
27+
}
28+
}
29+
30+
export const stop = async () => {
31+
logger.info('Stopped monitoring')
32+
if (statsd) {
33+
statsd.close()
34+
}
35+
}

claimer/src/runner.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,15 @@ import { RelayVaultService } from '@relay-vaults/client'
33
const vaultService = new RelayVaultService(
44
process.env.BACKEND_URL ?? 'https://vaults-api.relay.link/'
55
)
6+
import * as monitoring from './datadog.js'
67

78
export const start = async () => {
9+
monitoring.start()
810
return {
911
vaultService,
1012
}
1113
}
1214

13-
export const stop = async () => {}
15+
export const stop = async () => {
16+
monitoring.stop()
17+
}

claimer/src/tracer.ts

Lines changed: 0 additions & 47 deletions
This file was deleted.

yarn.lock

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4887,6 +4887,7 @@ __metadata:
48874887
"@types/node": "npm:24.3.0"
48884888
eslint: "npm:9.33.0"
48894889
ethers: "npm:6.15.0"
4890+
hot-shots: "npm:11.2.0"
48904891
tsx: "npm:4.20.4"
48914892
typescript: "npm:5.9.2"
48924893
winston: "npm:3.17.0"
@@ -7811,6 +7812,15 @@ __metadata:
78117812
languageName: node
78127813
linkType: hard
78137814

7815+
"bindings@npm:^1.5.0":
7816+
version: 1.5.0
7817+
resolution: "bindings@npm:1.5.0"
7818+
dependencies:
7819+
file-uri-to-path: "npm:1.0.0"
7820+
checksum: 10/593d5ae975ffba15fbbb4788fe5abd1e125afbab849ab967ab43691d27d6483751805d98cb92f7ac24a2439a8a8678cd0131c535d5d63de84e383b0ce2786133
7821+
languageName: node
7822+
linkType: hard
7823+
78147824
"bintrees@npm:1.0.2":
78157825
version: 1.0.2
78167826
resolution: "bintrees@npm:1.0.2"
@@ -10571,6 +10581,13 @@ __metadata:
1057110581
languageName: node
1057210582
linkType: hard
1057310583

10584+
"file-uri-to-path@npm:1.0.0":
10585+
version: 1.0.0
10586+
resolution: "file-uri-to-path@npm:1.0.0"
10587+
checksum: 10/b648580bdd893a008c92c7ecc96c3ee57a5e7b6c4c18a9a09b44fb5d36d79146f8e442578bc0e173dc027adf3987e254ba1dfd6e3ec998b7c282873010502144
10588+
languageName: node
10589+
linkType: hard
10590+
1057410591
"fill-keys@npm:^1.0.2":
1057510592
version: 1.0.2
1057610593
resolution: "fill-keys@npm:1.0.2"
@@ -11555,6 +11572,18 @@ __metadata:
1155511572
languageName: node
1155611573
linkType: hard
1155711574

11575+
"hot-shots@npm:11.2.0":
11576+
version: 11.2.0
11577+
resolution: "hot-shots@npm:11.2.0"
11578+
dependencies:
11579+
unix-dgram: "npm:2.x"
11580+
dependenciesMeta:
11581+
unix-dgram:
11582+
optional: true
11583+
checksum: 10/7fcd3c160e2ba012c4dd6c36c603ad3f419e572707ff5324be955ddccf436537a79244a5f45b3d5a49f91f93e88db729561521365aceb5c0a0f8cfc59c50a675
11584+
languageName: node
11585+
linkType: hard
11586+
1155811587
"http-cache-semantics@npm:^4.1.1":
1155911588
version: 4.1.1
1156011589
resolution: "http-cache-semantics@npm:4.1.1"
@@ -17298,6 +17327,17 @@ __metadata:
1729817327
languageName: node
1729917328
linkType: hard
1730017329

17330+
"unix-dgram@npm:2.x":
17331+
version: 2.0.7
17332+
resolution: "unix-dgram@npm:2.0.7"
17333+
dependencies:
17334+
bindings: "npm:^1.5.0"
17335+
nan: "npm:^2.20.0"
17336+
node-gyp: "npm:latest"
17337+
checksum: 10/a171f3079d27f244dfb7ff3feef2717c3f44756640532d92015e0fc2918153994070e02d652af402b269c95aae59eeb82c1792d614df00493724addbce468327
17338+
languageName: node
17339+
linkType: hard
17340+
1730117341
"unixify@npm:^1.0.0":
1730217342
version: 1.0.0
1730317343
resolution: "unixify@npm:1.0.0"

0 commit comments

Comments
 (0)