Skip to content

Commit c614cba

Browse files
committed
Moved Metrics Charts to MetricsCollector
1 parent eb233ef commit c614cba

2 files changed

Lines changed: 33 additions & 6 deletions

File tree

src/main/kotlin/com/github/encryptsl/lite/eco/LiteEco.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.github.encryptsl.lite.eco
22

33
import com.github.encryptsl.lite.eco.api.ConfigAPI
4+
import com.github.encryptsl.lite.eco.api.MetricsCollector
45
import com.github.encryptsl.lite.eco.api.PlayerAccount
56
import com.github.encryptsl.lite.eco.api.UpdateNotifier
67
import com.github.encryptsl.lite.eco.api.economy.Currency
@@ -27,7 +28,6 @@ import kotlinx.coroutines.Dispatchers
2728
import kotlinx.coroutines.SupervisorJob
2829
import kotlinx.coroutines.cancel
2930
import org.bstats.bukkit.Metrics
30-
import org.bstats.charts.SingleLineChart
3131
import org.bukkit.Bukkit
3232
import org.bukkit.plugin.PluginManager
3333
import org.bukkit.plugin.java.JavaPlugin
@@ -39,6 +39,7 @@ import org.incendo.cloud.paper.util.sender.Source
3939
import org.incendo.cloud.suggestion.Suggestion
4040
import java.io.File
4141
import java.util.concurrent.CompletableFuture
42+
import java.util.concurrent.ConcurrentHashMap
4243
import kotlin.system.measureTimeMillis
4344

4445

@@ -54,7 +55,7 @@ class LiteEco : JavaPlugin() {
5455

5556
lateinit var bukkitDispatchers: BukkitDispatchers
5657

57-
private var countTransactions: LinkedHashMap<String, Int> = LinkedHashMap()
58+
private val countTransactions = ConcurrentHashMap<String, Int>()
5859

5960
val api: SuspendLiteEcoEconomyWrapper by lazy { SuspendLiteEcoEconomyWrapper() }
6061
val locale: Locales by lazy { Locales(this) }
@@ -117,7 +118,7 @@ class LiteEco : JavaPlugin() {
117118
}
118119

119120
fun increaseTransactions(value: Int) {
120-
countTransactions["transactions"] = countTransactions.getOrDefault("transactions", 0) + value
121+
countTransactions["transactions"] = (countTransactions["transactions"] ?: 0) + value
121122
}
122123

123124
private fun blockPlugins() {
@@ -131,9 +132,8 @@ class LiteEco : JavaPlugin() {
131132
private fun setupMetrics() {
132133
if (config.getBoolean("plugin.metrics", true)) {
133134
val metrics = Metrics(this, 15144)
134-
metrics.addCustomChart(SingleLineChart("transactions") {
135-
countTransactions["transactions"]
136-
})
135+
val collector = MetricsCollector(metrics, this, countTransactions)
136+
collector.registerCharts()
137137
}
138138
}
139139

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.github.encryptsl.lite.eco.api
2+
3+
import com.github.encryptsl.lite.eco.LiteEco
4+
import org.bstats.bukkit.Metrics
5+
import org.bstats.charts.AdvancedPie
6+
import org.bstats.charts.SingleLineChart
7+
8+
class MetricsCollector(
9+
private val metrics: Metrics,
10+
private val liteEco: LiteEco,
11+
private val transactions: Map<String, Int>,
12+
) {
13+
internal fun registerCharts() {
14+
metrics.addCustomChart(SingleLineChart("transactions") {
15+
transactions["transactions"]
16+
})
17+
18+
metrics.addCustomChart(AdvancedPie("used_language") {
19+
val map = mutableMapOf<String, Int>()
20+
21+
val lang = (liteEco.config.getString("plugin.translation") ?: "en_us").lowercase()
22+
map[lang] = 1
23+
24+
return@AdvancedPie map
25+
})
26+
}
27+
}

0 commit comments

Comments
 (0)