1
0
Fork 0
mirror of https://github.com/anyproto/anytype-heart.git synced 2025-06-11 02:13:41 +09:00

improve badger GC, add benchmarks and grafana dashboards

This commit is contained in:
Roman Khafizianov 2021-04-12 15:41:07 +04:00
parent d483ba7983
commit 87b322aa56
No known key found for this signature in database
GPG key ID: F07A7D55A2684852
8 changed files with 1886 additions and 164 deletions

View file

@ -110,10 +110,102 @@ var (
240 * time.Second,
}),
})
ObjectFTUpdatedCounter = promauto.NewCounter(prometheus.CounterOpts{
Namespace: "anytype",
Subsystem: "mw",
Name: "fulltext_index_updated",
Help: "Fulltext updated for an object",
})
ObjectDetailsUpdatedCounter = promauto.NewCounter(prometheus.CounterOpts{
Namespace: "anytype",
Subsystem: "mw",
Name: "details_index_updated",
Help: "Details updated for an object",
})
ObjectRelationsUpdatedCounter = promauto.NewCounter(prometheus.CounterOpts{
Namespace: "anytype",
Subsystem: "mw",
Name: "relations_index_updated",
Help: "Relations updated for an object",
})
)
func registerPrometheusExpvars() {
expvarCollector := prometheus.NewExpvarCollector(map[string]*prometheus.Desc{
"badger_blocked_puts_total": prometheus.NewDesc(
"badger_blocked_puts_total",
"badger_blocked_puts_total",
nil, nil,
),
"badger_lsm_size_bytes": prometheus.NewDesc(
"badger_lsm_size_bytes",
"badger_lsm_size_bytes",
[]string{"dir"}, nil,
),
"badger_vlog_size_bytes": prometheus.NewDesc(
"badger_vlog_size_bytes",
"badger_vlog_size_bytes",
[]string{"dir"}, nil,
),
"badger_pending_writes_total": prometheus.NewDesc(
"badger_pending_writes_total",
"badger_pending_writes_total",
[]string{"dir"}, nil,
),
"badger_disk_reads_total": prometheus.NewDesc(
"badger_disk_reads_total",
"badger_disk_reads_total",
nil, nil,
),
"badger_disk_writes_total": prometheus.NewDesc(
"badger_disk_writes_total",
"badger_disk_writes_total",
nil, nil,
),
"badger_read_bytes": prometheus.NewDesc(
"badger_read_bytes",
"badger_read_bytes",
nil, nil,
),
"badger_written_bytes": prometheus.NewDesc(
"badger_written_bytes",
"badger_written_bytes",
nil, nil,
),
"badger_lsm_level_gets_total": prometheus.NewDesc(
"badger_lsm_level_gets_total",
"badger_lsm_level_gets_total",
[]string{"level"}, nil,
),
"badger_lsm_bloom_hits_total": prometheus.NewDesc(
"badger_lsm_bloom_hits_total",
"badger_lsm_bloom_hits_total",
[]string{"level"}, nil,
),
"badger_gets_total": prometheus.NewDesc(
"badger_gets_total",
"badger_gets_total",
nil, nil,
),
"badger_puts_total": prometheus.NewDesc(
"badger_puts_total",
"badger_puts_total",
nil, nil,
),
"badger_memtable_gets_total": prometheus.NewDesc(
"badger_memtable_gets_total",
"badger_memtable_gets_total",
nil, nil,
),
})
prometheus.MustRegister(expvarCollector)
}
func runPrometheusHttp(addr string) {
once.Do(func() {
registerPrometheusExpvars()
// Create a HTTP server for prometheus.
httpServer := &http.Server{Handler: promhttp.HandlerFor(prometheus.DefaultGatherer, promhttp.HandlerOpts{}), Addr: addr}
Enabled = true