ZeroMQ Message Statistics
Server uptime in seconds

1 ZeroMQ Servers

1.1 Diagram

In the following diagram, the tictacqt client (shown in blue) makes a random connection to one of the three msgqueue servers (in this case msgqueue1). There is also a PUB/SUB broadcast server connection that is made, to observe games and retrieve moves that are played.

Finally, a backend server called the routerdealer or rd for short handles the majority of the commands. It is also the primary means through which messages are broadcast out to all the clients, by sending messages to the pubsub_freetier. The purpose of the msgqueue instances is that they contain an additional SendMsg command, which can send a message directly to another tictacqt instance that is connected to it.

PIC

1.2 Broadcast heartbeat

The broadcast service will send out a heartbeat message every 2 seconds. Clients can reconnect if too much time has elapsed, between heartbeat messages.

1.3 Response time graphs (msgqueue)

These response time graphs show the result of a ping request, through the ZeroMQ protocol, via the msgqueue instances. The request reaches a msgqueue instance, then traverses as a new request to the routerdealer, resulting in a response that is passed back. Samples are made every minute.

15min
PIC

Hour
PIC

4-Hour
PIC

Day
PIC

1.4 Response time graphs (direct to routerdealer)

This next set of response graphs bypass the msgqueue instances and just communicate directly with the routerdealer. The response times in comparison can be measured to be slightly quicker, since there is one less round trip.

15min
PIC

Hour
PIC

4-Hour
PIC

Day
PIC

1.5 Response time graphs (broadcast)

This is the pubsub broadcaster response time, in microseconds. Samples are made every minute. The test consists of picking up the next available heartbeat message from the service.

15min
PIC

Hour
PIC

4-Hour
PIC

Day
PIC

1.6 Test suite

Running tests against the msgqueue infrastructure

PASS PING

PASS GenerateGame

PASS SetGameType 46d5d310-3b9b-4f6d-a02c-bcc590922ac2 TicTacToe

PASS PlayMove 46d5d310-3b9b-4f6d-a02c-bcc590922ac2 1 X .../.../... 1 X

Running tests directly to the routerdealer

PASS PING

PASS GenerateGame

PASS SetGameType 46d5d310-3b9b-4f6d-a02c-bcc590922ac2 TicTacToe

PASS PlayMove 46d5d310-3b9b-4f6d-a02c-bcc590922ac2 1 X .../.../... 1 X

1.7 DB Info

Information from the sqlite3 databases.

Game Count

2624

Move Count

2890

  Copyright © 2021 Pay Chess LLC