diff --git a/api/savedata/prometheus.go b/api/savedata/prometheus.go index 385a4d5..749241b 100644 --- a/api/savedata/prometheus.go +++ b/api/savedata/prometheus.go @@ -13,4 +13,12 @@ var ( }, []string{"gamemode"}, ) + + starterCounter = promauto.NewCounterVec( + prometheus.CounterOpts{ + Name: "rogueserver_starter_count", + Help: "The total number of times a specific starter was selected", + }, + []string{"starterKey"}, + ) ) diff --git a/api/savedata/update.go b/api/savedata/update.go index 94d8ffb..f36bd00 100644 --- a/api/savedata/update.go +++ b/api/savedata/update.go @@ -82,4 +82,15 @@ func ProcessSessionMetrics(save defs.SessionSaveData, uuid []byte) { case 4: gameModeCounter.WithLabelValues("challenge").Inc() } + if save.WaveIndex == 1 { + for i := 0; i < len(save.Party); i++ { + formIndex = "" + if save.Party[i]["formIndex"] != 0 { + formIndex = "-"+save.Party[i]["formIndex"] + } + key = save.Party[i]["Species"] + formIndex + log.Printf("incremented starter %s", key) + starterCounter.WithLabelValues(key).Inc() + } + } }