Skip to content

Commit 1cc6797

Browse files
author
ScottyPoi
committed
metrics: utp metrics
1 parent dbca8c7 commit 1cc6797

4 files changed

Lines changed: 28 additions & 4 deletions

File tree

packages/portalnetwork/src/util/metrics.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,15 +85,25 @@ const ultralightMetrics = [
8585
help: 'how many total UTP streams were opened',
8686
},
8787
{
88-
name: 'utpWriteStreams',
88+
name: 'utpWriteStreamsOpened',
8989
metric: MetricType.Gauge,
9090
help: 'how many UTP write streams were opened',
9191
},
9292
{
93-
name: 'utpReadStreams',
93+
name: 'utpWriteStreamsCompleted',
94+
metric: MetricType.Gauge,
95+
help: 'how many UTP write streams were completed',
96+
},
97+
{
98+
name: 'utpReadStreamsOpened',
9499
metric: MetricType.Gauge,
95100
help: 'how many UTP read streams were opened',
96101
},
102+
{
103+
name: 'utpReadStreamsCompleted',
104+
metric: MetricType.Gauge,
105+
help: 'how many UTP read streams were completed',
106+
},
97107
]
98108

99109
export const setupMetrics = (

packages/portalnetwork/src/wire/utp/PortalNetworkUtp/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,11 @@ export class PortalNetworkUTP {
9999
requestCode === RequestCode.OFFER_WRITE
100100
) {
101101
const utpWriteMetric = (NetworkNames[params.networkId] +
102-
'_utpWriteStreams') as keyof PortalNetworkMetrics
102+
'_utpWriteStreamsOpened') as keyof PortalNetworkMetrics
103103
this.client.metrics[utpWriteMetric].inc()
104104
} else {
105105
const utpReadMetric = (NetworkNames[params.networkId] +
106-
'_utpReadStreams') as keyof PortalNetworkMetrics
106+
'_utpReadStreamsOpened') as keyof PortalNetworkMetrics
107107
this.client.metrics[utpReadMetric].inc()
108108
}
109109
}

packages/portalnetwork/src/wire/utp/Socket/ReadSocket.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1+
import { NetworkNames } from '../../../networks/types.js'
12
import { UtpSocketType } from '../Packets/index.js'
23

34
import { ContentReader } from './ContentReader.js'
45
import { UtpSocket } from './UtpSocket.js'
56
import { ConnectionState } from './socketTyping.js'
67

8+
import type { PortalNetworkMetrics } from '../../../client/types.js'
79
import type { Packet, PacketType, UtpSocketOptions } from '../Packets/index.js'
810

911
export class ReadSocket extends UtpSocket {
@@ -122,5 +124,10 @@ export class ReadSocket extends UtpSocket {
122124
this.logger.extend('CLOSE')(`Running compiler.`)
123125
return this.compile()
124126
}
127+
if (this.utp.client.metrics) {
128+
const utpReadMetric = (NetworkNames[this.networkId] +
129+
'_utpReadStreamsCompleted') as keyof PortalNetworkMetrics
130+
this.utp.client.metrics[utpReadMetric].inc()
131+
}
125132
}
126133
}

packages/portalnetwork/src/wire/utp/Socket/WriteSocket.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1+
import { NetworkNames } from '../../../networks/types.js'
12
import { ConnectionState, ContentWriter, PacketType, UtpSocketType, randUint16 } from '../index.js'
23

34
import { UtpSocket } from './UtpSocket.js'
45

6+
import type { PortalNetworkMetrics } from '../../../client/types.js'
57
import type { ICreateData, UtpSocketOptions } from '../index.js'
68

79
export class WriteSocket extends UtpSocket {
@@ -66,6 +68,11 @@ export class WriteSocket extends UtpSocket {
6668
return false
6769
}
6870
close(): void {
71+
if (this.utp.client.metrics) {
72+
const metric = (NetworkNames[this.networkId] +
73+
'_utpWriteStreamsCompleted') as keyof PortalNetworkMetrics
74+
this.utp.client.metrics[metric].inc()
75+
}
6976
clearInterval(this.packetManager.congestionControl.timeoutCounter)
7077
this.packetManager.congestionControl.removeAllListeners()
7178
this._clearTimeout()

0 commit comments

Comments
 (0)