• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

FAForever / server / 3386 / 1
96%
develop: 96%

Build:
DEFAULT BRANCH: develop
Ran 13 Mar 2020 10:30PM UTC
Files 50
Run time 3min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

13 Mar 2020 10:24PM UTC coverage: 94.993% (+0.07%) from 94.92%
3386.1

push

travis-ci

web-flow
Prometheus metrics (#538)

* Using prometheus_client instead of aiomeasuers to collect metrics.

New server/metrics module to collect all measurements.
Naming of metrics not necessarily after prometheus conventions (yet).

Naming conventions for Prometheus metrics obeyed.

* Timing of matchmaker searches with decorator for coroutines

* removed connections_aborted metric

* Update Pipfile.lock with prometheus_client. This also updated the versions of all other packages (but probably shouldn't have). Reset later.

* Address Review

* move metric for number of players online into player_service and make PlayerService.players private so that metrics or updated on every player addition/removal

* Break LobbyConnection.set_user_agent_and_version out of LobbyConnection.check_version and make sure user_agents aren't double-counted if multiple ask_session messages arrive.

* Add a live_games gauge to count the number of games currently in GameState.LIVE. Als add a games_in_service gauge monitoring the number of games managed by the game_service. Made game_service.games private to ensure metrics are updated on appends/removals.

* matchmaker search timer now is a context manager instead of a decorator, also keeps track of whether search succeeded, was cancelled, or errored.

* Address second review

* Make all active game gauges and counters a single gauge, counting games managed by game_service

and tag it with game_mode and GameState using only set but not inc or dec.
Whenever the game_service adds or removes a game or whenever a game updates its GameStatus,
all gauges are refreshed by calling GameService.update_active_game_metrics.
To facilitate this, Game.state is now a property that is set via Game.set_state.
Also replaced all '==' GameState enum comparisons with 'is' comparisons.

* update active game metrics on do_report_dirties only

Also reverted making Game.state a property, removed Game.set_state again.

* Rework... (continued)

3244 of 3415 relevant lines covered (94.99%)

0.95 hits per line

Source Files on job 3386.1
  • Tree
  • List 0
  • Changed 12
  • Source Changed 12
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 3252
  • Travis Job 3386.1
  • 75c6692e on github
  • Prev Job for on develop (#3376.1)
  • Next Job for on develop (#3402.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc