feat(backend): added heuristics metric

This commit is contained in:
Alexander Zavorotynskiy 2023-03-14 11:12:46 +01:00
parent 5aa45d6c2f
commit 9e59d5e1ab
2 changed files with 28 additions and 0 deletions

View file

@ -8,12 +8,17 @@ import (
"openreplay/backend/pkg/handlers/custom"
"openreplay/backend/pkg/handlers/web"
"openreplay/backend/pkg/messages"
"openreplay/backend/pkg/metrics"
heuristicsMetrics "openreplay/backend/pkg/metrics/heuristics"
"openreplay/backend/pkg/queue"
"openreplay/backend/pkg/sessions"
"openreplay/backend/pkg/terminator"
)
func main() {
m := metrics.New()
m.Register(heuristicsMetrics.List())
log.SetFlags(log.LstdFlags | log.LUTC | log.Llongfile)
cfg := config.New()

View file

@ -1,7 +1,10 @@
package heuristics
import (
"fmt"
"log"
"openreplay/backend/pkg/messages"
metrics "openreplay/backend/pkg/metrics/heuristics"
"time"
"openreplay/backend/internal/config/heuristics"
@ -35,6 +38,8 @@ func (h *heuristicsImpl) run() {
case evt := <-h.events.Events():
if err := h.producer.Produce(h.cfg.TopicAnalytics, evt.SessionID(), evt.Encode()); err != nil {
log.Printf("can't send new event to queue: %s", err)
} else {
metrics.IncreaseTotalEvents(messageTypeName(evt))
}
case <-tick:
h.producer.Flush(h.cfg.ProducerTimeout)
@ -62,3 +67,21 @@ func (h *heuristicsImpl) Stop() {
h.consumer.Commit()
h.consumer.Close()
}
func messageTypeName(msg messages.Message) string {
switch msg.TypeID() {
case 31:
return "PageEvent"
case 32:
return "InputEvent"
case 56:
return "PerformanceTrackAggr"
case 69:
return "MouseClick"
case 125:
m := msg.(*messages.IssueEvent)
return fmt.Sprintf("IssueEvent(%s)", m.Type)
default:
return "unknown"
}
}