chore: Add Prometheus metrics for account registration and concurrent requests
feat: Implement Prometheus metrics and caching for game sessions fix: Rename Prometheus metric for game modes to include namespacepull/60/head
parent
5480c2ee72
commit
3048e22787
@ -0,0 +1,7 @@
|
||||
package savedata
|
||||
|
||||
import (
|
||||
"github.com/patrickmn/go-cache"
|
||||
)
|
||||
|
||||
var Cache = cache.New(cache.NoExpiration, cache.NoExpiration)
|
@ -0,0 +1,16 @@
|
||||
package savedata
|
||||
|
||||
import (
|
||||
"github.com/prometheus/client_golang/prometheus"
|
||||
"github.com/prometheus/client_golang/prometheus/promauto"
|
||||
)
|
||||
|
||||
var (
|
||||
gameModeCounter = promauto.NewCounterVec(
|
||||
prometheus.CounterOpts{
|
||||
Name: "rogueserver_game_mode_total",
|
||||
Help: "The total number of classic sessions played per 5 minutes",
|
||||
},
|
||||
[]string{"gamemode"},
|
||||
)
|
||||
)
|
@ -0,0 +1,51 @@
|
||||
services:
|
||||
server:
|
||||
command: --debug --dbaddr db --dbuser pokerogue --dbpass pokerogue --dbname pokeroguedb
|
||||
image: rogueserver:latest
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- internal
|
||||
ports:
|
||||
- "8001:8001"
|
||||
|
||||
db:
|
||||
image: mariadb:11
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: [ "CMD", "healthcheck.sh", "--su-mysql", "--connect", "--innodb_initialized" ]
|
||||
start_period: 10s
|
||||
start_interval: 10s
|
||||
interval: 1m
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: admin
|
||||
MYSQL_DATABASE: pokeroguedb
|
||||
MYSQL_USER: pokerogue
|
||||
MYSQL_PASSWORD: pokerogue
|
||||
volumes:
|
||||
- database:/var/lib/mysql
|
||||
networks:
|
||||
- internal
|
||||
|
||||
# Prometheus monitoring stack for the server and db services above
|
||||
prometheus:
|
||||
image: prom/prometheus:latest
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "9090:9090"
|
||||
volumes:
|
||||
- ./prometheus.yml:/etc/prometheus/prometheus.yml
|
||||
command:
|
||||
- '--config.file=/etc/prometheus/prometheus.yml'
|
||||
networks:
|
||||
- internal
|
||||
|
||||
volumes:
|
||||
database:
|
||||
|
||||
networks:
|
||||
internal:
|
@ -0,0 +1,12 @@
|
||||
global:
|
||||
scrape_interval: "10s"
|
||||
scrape_timeout: "10s"
|
||||
evaluation_interval: "1m"
|
||||
|
||||
scrape_configs:
|
||||
- job_name: 'rogueserver'
|
||||
static_configs:
|
||||
- targets: ['server:8001']
|
||||
- job_name: 'mariadb'
|
||||
static_configs:
|
||||
- targets: ['db:3306']
|
Loading…
Reference in New Issue