Skip to content

Commit 184181a

Browse files
authored
Merge pull request #235 from thirdweb-dev/07-08-track_how_many_rows_are_inserted_into_clickhouse
track how many rows are inserted into clickhouse
2 parents ae2d185 + 8cd9a9a commit 184181a

File tree

2 files changed

+37
-3
lines changed

2 files changed

+37
-3
lines changed

internal/metrics/metrics.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,3 +152,26 @@ var (
152152
Help: "The current work mode (0 = backfill, 1 = live)",
153153
})
154154
)
155+
156+
// ClickHouse Insert Row Count Metrics
157+
var (
158+
ClickHouseMainStorageRowsInserted = promauto.NewCounter(prometheus.CounterOpts{
159+
Name: "clickhouse_main_storage_rows_inserted_total",
160+
Help: "The total number of rows inserted into ClickHouse main storage",
161+
})
162+
163+
ClickHouseTransactionsInserted = promauto.NewCounter(prometheus.CounterOpts{
164+
Name: "clickhouse_transactions_inserted_total",
165+
Help: "The total number of transactions inserted into ClickHouse",
166+
})
167+
168+
ClickHouseLogsInserted = promauto.NewCounter(prometheus.CounterOpts{
169+
Name: "clickhouse_logs_inserted_total",
170+
Help: "The total number of logs inserted into ClickHouse",
171+
})
172+
173+
ClickHouseTracesInserted = promauto.NewCounter(prometheus.CounterOpts{
174+
Name: "clickhouse_traces_inserted_total",
175+
Help: "The total number of traces inserted into ClickHouse",
176+
})
177+
)

internal/storage/clickhouse.go

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import (
1818
zLog "github.com/rs/zerolog/log"
1919
config "github.com/thirdweb-dev/indexer/configs"
2020
"github.com/thirdweb-dev/indexer/internal/common"
21+
"github.com/thirdweb-dev/indexer/internal/metrics"
2122
)
2223

2324
type ClickHouseConnector struct {
@@ -271,7 +272,7 @@ func (c *ClickHouseConnector) insertTransactions(txs []common.Transaction, opt I
271272
return err
272273
}
273274
}
274-
275+
metrics.ClickHouseTransactionsInserted.Add(float64(len(txs)))
275276
return nil
276277
}
277278

@@ -334,7 +335,7 @@ func (c *ClickHouseConnector) insertLogs(logs []common.Log, opt InsertOptions) e
334335
return err
335336
}
336337
}
337-
338+
metrics.ClickHouseLogsInserted.Add(float64(len(logs)))
338339
return nil
339340
}
340341

@@ -406,7 +407,7 @@ func (c *ClickHouseConnector) insertTraces(traces []common.Trace, opt InsertOpti
406407
return err
407408
}
408409
}
409-
410+
metrics.ClickHouseTracesInserted.Add(float64(len(traces)))
410411
return nil
411412
}
412413

@@ -1191,6 +1192,9 @@ func (c *ClickHouseConnector) InsertBlockData(data []common.BlockData) error {
11911192
}
11921193
defer batch.Close()
11931194

1195+
txsCount := 0
1196+
logsCount := 0
1197+
tracesCount := 0
11941198
for _, blockData := range data[i:end] {
11951199
block := blockData.Block
11961200

@@ -1221,6 +1225,7 @@ func (c *ClickHouseConnector) InsertBlockData(data []common.BlockData) error {
12211225

12221226
// Prepare transactions array
12231227
transactions := make([][]interface{}, len(blockData.Transactions))
1228+
txsCount += len(blockData.Transactions)
12241229
for j, tx := range blockData.Transactions {
12251230
transactions[j] = []interface{}{
12261231
tx.Hash,
@@ -1259,6 +1264,7 @@ func (c *ClickHouseConnector) InsertBlockData(data []common.BlockData) error {
12591264

12601265
// Prepare logs array
12611266
logs := make([][]interface{}, len(blockData.Logs))
1267+
logsCount += len(blockData.Logs)
12621268
for j, log := range blockData.Logs {
12631269
logs[j] = []interface{}{
12641270
log.BlockNumber,
@@ -1278,6 +1284,7 @@ func (c *ClickHouseConnector) InsertBlockData(data []common.BlockData) error {
12781284

12791285
// Prepare traces array
12801286
traces := make([][]interface{}, len(blockData.Traces))
1287+
tracesCount += len(blockData.Traces)
12811288
for j, trace := range blockData.Traces {
12821289
traces[j] = []interface{}{
12831290
trace.BlockNumber,
@@ -1348,8 +1355,12 @@ func (c *ClickHouseConnector) InsertBlockData(data []common.BlockData) error {
13481355
zLog.Info().Err(err).Msgf("Failure while inserting block data, but insert still succeeded")
13491356
}
13501357
}
1358+
metrics.ClickHouseTransactionsInserted.Add(float64(txsCount))
1359+
metrics.ClickHouseLogsInserted.Add(float64(logsCount))
1360+
metrics.ClickHouseTracesInserted.Add(float64(tracesCount))
13511361
}
13521362

1363+
metrics.ClickHouseMainStorageRowsInserted.Add(float64(len(data)))
13531364
return nil
13541365
}
13551366

0 commit comments

Comments
 (0)