feat: improve Clickhouse metrics performance

This commit is contained in:
Andrey Terentev 2025-04-29 01:33:38 +07:00
parent fc04f223a4
commit 712a96e10b
3 changed files with 4 additions and 9 deletions

View File

@ -36,7 +36,7 @@ public class PlayerEventMetrics {
CompletableFuture.runAsync(() -> {
log.debug("Sending event '{}' for player '{}'({}) with data '{}'", eventName, player.getUsername(), player.getUuid(), GSON.toJson(details));
try (var con = sql2o.open()) {
con.createQuery("insert into events (uuid, player_name, timestamp, event_type, details) values (:uuid, :player_name, now(), :event_type, :details)", false)
con.createQuery("insert into msb3.events_buffer (uuid, player_name, timestamp, event_type, details) values (:uuid, :player_name, now(), :event_type, :details)", false)
.addParameter("uuid", player.getUuid())
.addParameter("player_name", player.getUsername())
.addParameter("event_type", eventName)

View File

@ -9,3 +9,6 @@ create table if not exists msb3.events
details Nullable(String)
) engine = ReplacingMergeTree partition by toYYYYMM(timestamp)
primary key (uuid, event_type, timestamp);
create table msb3.events_buffer as msb3.events
engine = Buffer(msb3, events, 1, 10, 100, 50, 200, 500, 100000);

View File

@ -1,13 +1,5 @@
<yandex>
<users>
<default>
<networks replace="replace">
<ip>::/1</ip>
<ip>127.0.0.1</ip>
</networks>
<profile>default</profile>
<quota>default</quota>
</default>
<msb3>
<password>example</password>
<profile>default</profile>