Skip to content

Commit 43e44a4

Browse files
committed
refactor: lavalink metrics collect code
1 parent 5c13c72 commit 43e44a4

File tree

1 file changed

+61
-93
lines changed

1 file changed

+61
-93
lines changed

LavalinkServer/src/main/java/lavalink/server/metrics/LavalinkStatsCollector.kt

Lines changed: 61 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import lavalink.server.io.StatsCollector
66
import org.slf4j.LoggerFactory
77
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
88
import org.springframework.stereotype.Component
9-
import java.util.*
109

1110
@Component
1211
@ConditionalOnProperty("metrics.prometheus.enabled") // Only create this if prometheus is enabled
@@ -45,109 +44,78 @@ class LavalinkStatsCollector(
4544
}
4645

4746
override fun collect(): MutableList<MetricFamilySamples> {
48-
val mfs = mutableListOf<MetricFamilySamples>()
49-
5047
// Since we don't have a context, framestats will be null and we can ignore them
5148
val stats = statsProvider.retrieveStats(null)
52-
53-
val playersGauge = GaugeMetricFamily(
54-
PLAYERS_METRIC_NAME,
55-
PLAYERS_HELP,
56-
mutableListOf<String?>()
57-
)
58-
playersGauge.addMetric(mutableListOf<String?>(), stats.players.toDouble())
59-
mfs.add(playersGauge)
60-
61-
val playingPlayersGauge = GaugeMetricFamily(
62-
PLAYING_PLAYERS_METRIC_NAME,
63-
PLAYING_PLAYERS_HELP,
64-
mutableListOf<String?>()
65-
)
66-
playingPlayersGauge.addMetric(mutableListOf<String?>(), stats.playingPlayers.toDouble())
67-
mfs.add(playingPlayersGauge)
68-
69-
val uptimeGauge = GaugeMetricFamily(
70-
UPTIME_METRIC_NAME,
71-
UPTIME_HELP,
72-
mutableListOf<String?>()
73-
)
74-
uptimeGauge.addMetric(mutableListOf<String?>(), stats.uptime.toDouble())
75-
mfs.add(uptimeGauge)
76-
7749
val memory = stats.memory
78-
val memFreeGauge = GaugeMetricFamily(
79-
MEMORY_FREE_METRIC_NAME,
80-
"$MEMORY_HELP (Free)",
81-
mutableListOf<String?>()
82-
)
83-
memFreeGauge.addMetric(mutableListOf<String?>(), memory.free.toDouble())
84-
mfs.add(memFreeGauge)
85-
86-
val memUsedGauge = GaugeMetricFamily(
87-
MEMORY_USED_METRIC_NAME,
88-
"$MEMORY_HELP (Used)",
89-
mutableListOf<String?>()
90-
)
91-
memUsedGauge.addMetric(mutableListOf<String?>(), memory.used.toDouble())
92-
mfs.add(memUsedGauge)
93-
94-
val memAllocatedGauge = GaugeMetricFamily(
95-
MEMORY_ALLOCATED_METRIC_NAME,
96-
"$MEMORY_HELP (Allocated)",
97-
mutableListOf<String?>()
98-
)
99-
memAllocatedGauge.addMetric(mutableListOf<String?>(), memory.allocated.toDouble())
100-
mfs.add(memAllocatedGauge)
101-
102-
val memReservableGauge = GaugeMetricFamily(
103-
MEMORY_RESERVABLE_METRIC_NAME,
104-
"$MEMORY_HELP (Reservable)",
105-
mutableListOf<String?>()
106-
)
107-
memReservableGauge.addMetric(mutableListOf<String?>(), memory.reservable.toDouble())
108-
mfs.add(memReservableGauge)
109-
11050
val cpu = stats.cpu
111-
val cpuCoresGauge = GaugeMetricFamily(
112-
CPU_CORES_METRIC_NAME,
113-
"$CPU_HELP (Cores)",
114-
mutableListOf<String?>()
115-
)
116-
cpuCoresGauge.addMetric(mutableListOf<String?>(), cpu.cores.toDouble())
117-
mfs.add(cpuCoresGauge)
118-
119-
val cpuSystemLoadGauge = GaugeMetricFamily(
120-
CPU_SYSTEM_LOAD_METRIC_NAME,
121-
"$CPU_HELP (System Load)",
122-
mutableListOf<String?>()
123-
)
124-
cpuSystemLoadGauge.addMetric(mutableListOf<String?>(), cpu.systemLoad)
125-
mfs.add(cpuSystemLoadGauge)
12651

127-
val cpuLavalinkLoadGauge = GaugeMetricFamily(
128-
CPU_LAVALINK_LOAD_METRIC_NAME,
129-
"$CPU_HELP (LL Load)",
130-
mutableListOf<String?>()
52+
return mutableListOf(
53+
GaugeMetricFamily(
54+
PLAYERS_METRIC_NAME,
55+
PLAYERS_HELP,
56+
stats.players.toDouble()
57+
),
58+
GaugeMetricFamily(
59+
PLAYING_PLAYERS_METRIC_NAME,
60+
PLAYING_PLAYERS_HELP,
61+
stats.playingPlayers.toDouble()
62+
),
63+
GaugeMetricFamily(
64+
UPTIME_METRIC_NAME,
65+
UPTIME_HELP,
66+
stats.uptime.toDouble()
67+
),
68+
GaugeMetricFamily(
69+
MEMORY_FREE_METRIC_NAME,
70+
"$MEMORY_HELP (Free)",
71+
memory.free.toDouble()
72+
),
73+
GaugeMetricFamily(
74+
MEMORY_USED_METRIC_NAME,
75+
"$MEMORY_HELP (Used)",
76+
memory.used.toDouble()
77+
),
78+
GaugeMetricFamily(
79+
MEMORY_ALLOCATED_METRIC_NAME,
80+
"$MEMORY_HELP (Allocated)",
81+
memory.allocated.toDouble()
82+
),
83+
GaugeMetricFamily(
84+
MEMORY_RESERVABLE_METRIC_NAME,
85+
"$MEMORY_HELP (Reservable)",
86+
memory.reservable.toDouble()
87+
),
88+
GaugeMetricFamily(
89+
CPU_CORES_METRIC_NAME,
90+
"$CPU_HELP (Cores)",
91+
cpu.cores.toDouble()
92+
),
93+
GaugeMetricFamily(
94+
CPU_SYSTEM_LOAD_METRIC_NAME,
95+
"$CPU_HELP (System Load)",
96+
cpu.systemLoad
97+
),
98+
GaugeMetricFamily(
99+
CPU_LAVALINK_LOAD_METRIC_NAME,
100+
"$CPU_HELP (LL Load)",
101+
cpu.lavalinkLoad
102+
)
131103
)
132-
cpuLavalinkLoadGauge.addMetric(mutableListOf<String?>(), cpu.lavalinkLoad)
133-
mfs.add(cpuLavalinkLoadGauge)
134-
135-
return mfs
136104
}
137105

138106
override fun describe(): MutableList<MetricFamilySamples> {
139107
// Used by prometheus for validation
140108
return mutableListOf(
141-
GaugeMetricFamily(PLAYERS_METRIC_NAME, PLAYERS_HELP, mutableListOf<String?>()),
142-
GaugeMetricFamily(PLAYING_PLAYERS_METRIC_NAME, PLAYING_PLAYERS_HELP, mutableListOf<String?>()),
143-
GaugeMetricFamily(UPTIME_METRIC_NAME, UPTIME_HELP, mutableListOf<String?>()),
144-
GaugeMetricFamily(MEMORY_FREE_METRIC_NAME, "$MEMORY_HELP (Free)", mutableListOf<String?>()),
145-
GaugeMetricFamily(MEMORY_USED_METRIC_NAME, "$MEMORY_HELP (Used)", mutableListOf<String?>()),
146-
GaugeMetricFamily(MEMORY_ALLOCATED_METRIC_NAME, "$MEMORY_HELP (Allocated)", mutableListOf<String?>()),
147-
GaugeMetricFamily(MEMORY_RESERVABLE_METRIC_NAME, "$MEMORY_HELP (Reservable)", mutableListOf<String?>()),
148-
GaugeMetricFamily(CPU_CORES_METRIC_NAME, "$CPU_HELP (Cores)", mutableListOf<String?>()),
149-
GaugeMetricFamily(CPU_SYSTEM_LOAD_METRIC_NAME, "$CPU_HELP (System Load)", mutableListOf<String?>()),
150-
GaugeMetricFamily(CPU_LAVALINK_LOAD_METRIC_NAME, "$CPU_HELP (Lavalink Load)", mutableListOf<String?>())
109+
GaugeMetricFamily(PLAYERS_METRIC_NAME, PLAYERS_HELP, mutableListOf()),
110+
GaugeMetricFamily(PLAYING_PLAYERS_METRIC_NAME, PLAYING_PLAYERS_HELP, mutableListOf()),
111+
GaugeMetricFamily(UPTIME_METRIC_NAME, UPTIME_HELP, mutableListOf()),
112+
GaugeMetricFamily(MEMORY_FREE_METRIC_NAME, "$MEMORY_HELP (Free)", mutableListOf()),
113+
GaugeMetricFamily(MEMORY_USED_METRIC_NAME, "$MEMORY_HELP (Used)", mutableListOf()),
114+
GaugeMetricFamily(MEMORY_ALLOCATED_METRIC_NAME, "$MEMORY_HELP (Allocated)", mutableListOf()),
115+
GaugeMetricFamily(MEMORY_RESERVABLE_METRIC_NAME, "$MEMORY_HELP (Reservable)", mutableListOf()),
116+
GaugeMetricFamily(CPU_CORES_METRIC_NAME, "$CPU_HELP (Cores)", mutableListOf()),
117+
GaugeMetricFamily(CPU_SYSTEM_LOAD_METRIC_NAME, "$CPU_HELP (System Load)", mutableListOf()),
118+
GaugeMetricFamily(CPU_LAVALINK_LOAD_METRIC_NAME, "$CPU_HELP (Lavalink Load)", mutableListOf())
151119
)
152120
}
153121
}

0 commit comments

Comments
 (0)