From 2e6152d6c8dd972bcab55bbddc91ca72d668a7b8 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 3 Jul 2024 05:58:53 -0700 Subject: [PATCH] Changes required to run images on CodeEngine --- .../prebuild/src/app/net/socket.service.ts | 2 +- .../libertybikes/game/metric/GameMetrics.java | 4 +++- .../org/libertybikes/game/party/Party.java | 3 ++- .../round/service/GameRoundWebsocket.java | 14 +++++++---- .../restclient/PlayerService.java | 2 +- monitoring/datasource-local/datasource.yml | 4 ++-- monitoring/datasource/datasource.yml | 2 +- .../grafanaDashboardConfig.json | 12 +++++----- monitoring/prometheus/prometheus.yml | 16 ++++++------- startMonitoring.sh | 23 ++++++++++--------- 10 files changed, 46 insertions(+), 36 deletions(-) diff --git a/frontend/prebuild/src/app/net/socket.service.ts b/frontend/prebuild/src/app/net/socket.service.ts index 8d4ad5d..b35e9f6 100644 --- a/frontend/prebuild/src/app/net/socket.service.ts +++ b/frontend/prebuild/src/app/net/socket.service.ts @@ -34,7 +34,7 @@ export class SocketService { constructor() { this.messageBuffer = []; - } + } get socketOpen(): boolean { return this.open; diff --git a/game-service/src/main/java/org/libertybikes/game/metric/GameMetrics.java b/game-service/src/main/java/org/libertybikes/game/metric/GameMetrics.java index 0c28393..bbedf23 100644 --- a/game-service/src/main/java/org/libertybikes/game/metric/GameMetrics.java +++ b/game-service/src/main/java/org/libertybikes/game/metric/GameMetrics.java @@ -113,7 +113,9 @@ public class GameMetrics { } public void decPlayerCount() { - totalCurrentPlayers = getCurrentPlayerCount() - 1; + if (totalCurrentPlayers > 0) { + totalCurrentPlayers = getCurrentPlayerCount() - 1; + } } public void incMobilePlayerCount() { diff --git a/game-service/src/main/java/org/libertybikes/game/party/Party.java b/game-service/src/main/java/org/libertybikes/game/party/Party.java index 439626a..dbc8bc9 100644 --- a/game-service/src/main/java/org/libertybikes/game/party/Party.java +++ b/game-service/src/main/java/org/libertybikes/game/party/Party.java @@ -32,11 +32,12 @@ public class Party { GameMetrics gameMetrics; public final String id; - private final PartyQueue queue = new PartyQueue(this, gameMetrics); + private PartyQueue queue = null; private volatile GameRound currentRound; @PostConstruct public void postConstruct() { + queue = new PartyQueue(this, gameMetrics); gameMetrics.incCurrentPartiesCounter(); } diff --git a/game-service/src/main/java/org/libertybikes/game/round/service/GameRoundWebsocket.java b/game-service/src/main/java/org/libertybikes/game/round/service/GameRoundWebsocket.java index 428de99..7f470c6 100644 --- a/game-service/src/main/java/org/libertybikes/game/round/service/GameRoundWebsocket.java +++ b/game-service/src/main/java/org/libertybikes/game/round/service/GameRoundWebsocket.java @@ -51,10 +51,16 @@ public class GameRoundWebsocket { @OnOpen public void onOpen(@PathParam("roundId") String roundId, Session session) { log(roundId, "Opened a session"); - session.setMaxTextMessageBufferSize(1000); - session.setMaxBinaryMessageBufferSize(1000); - session.setMaxIdleTimeout(90 * 1000); - //timerContext = GameMetrics.timerStart(GameMetrics.openWebsocketTimerMetadata); + try { + session.setMaxTextMessageBufferSize(1000); + System.out.println("setMaxTextMessageBufferSize"); + session.setMaxBinaryMessageBufferSize(1000); + System.out.println("setMaxBinaryMessageBufferSize"); + session.setMaxIdleTimeout(90 * 1000); + System.out.println("setMaxIdleTimeout"); + } catch (Exception e) { + System.out.println("ON OPEN: " + e); + } } // BUG : org.jboss.weld.contexts.ContextNotActiveException: WELD-001303: No active contexts for scope type jakarta.enterprise.context.ApplicationScoped diff --git a/game-service/src/main/java/org/libertybikes/restclient/PlayerService.java b/game-service/src/main/java/org/libertybikes/restclient/PlayerService.java index f0cd603..5938932 100644 --- a/game-service/src/main/java/org/libertybikes/restclient/PlayerService.java +++ b/game-service/src/main/java/org/libertybikes/restclient/PlayerService.java @@ -12,7 +12,7 @@ import jakarta.ws.rs.core.MediaType; import org.eclipse.microprofile.openapi.annotations.Operation; import org.eclipse.microprofile.rest.client.inject.RegisterRestClient; -@RegisterRestClient(baseUri = "http://localhost:8081/") +@RegisterRestClient(baseUri = "http://player.1ibd03sq8zc5.svc.cluster.local") @Path("/") public interface PlayerService { diff --git a/monitoring/datasource-local/datasource.yml b/monitoring/datasource-local/datasource.yml index a1b7b1d..2dbb79e 100644 --- a/monitoring/datasource-local/datasource.yml +++ b/monitoring/datasource-local/datasource.yml @@ -14,11 +14,11 @@ datasources: # datasource type. Required type: prometheus # access mode. direct or proxy. Required - access: direct + access: proxy # org id. will default to orgId 1 if not specified orgId: 1 # url - url: http://localhost:9090 + url: http://localhost:9088 # database password, if used password: # database user, if used diff --git a/monitoring/datasource/datasource.yml b/monitoring/datasource/datasource.yml index 071212a..ed915d9 100644 --- a/monitoring/datasource/datasource.yml +++ b/monitoring/datasource/datasource.yml @@ -18,7 +18,7 @@ datasources: # org id. will default to orgId 1 if not specified orgId: 1 # url - url: http://prometheus:9090 + url: http://prometheus:9088 # database password, if used password: # database user, if used diff --git a/monitoring/grafanaDashboardConfig/grafanaDashboardConfig.json b/monitoring/grafanaDashboardConfig/grafanaDashboardConfig.json index 9bfc986..45c4626 100644 --- a/monitoring/grafanaDashboardConfig/grafanaDashboardConfig.json +++ b/monitoring/grafanaDashboardConfig/grafanaDashboardConfig.json @@ -79,7 +79,7 @@ "tableColumn": "", "targets": [ { - "expr": "application_num_player_logins_total", + "expr": "totalPlayerNumberGauge", "format": "time_series", "instant": true, "intervalFactor": 1, @@ -160,7 +160,7 @@ "tableColumn": "", "targets": [ { - "expr": "application_current_num_of_players_current", + "expr": "playerNumberGauge", "format": "time_series", "instant": true, "intervalFactor": 1, @@ -329,7 +329,7 @@ "tableColumn": "", "targets": [ { - "expr": "application_current_num_of_players_in_queue_current", + "expr": "currentPartiesCounter", "format": "time_series", "instant": true, "intervalFactor": 1, @@ -411,7 +411,7 @@ "tableColumn": "", "targets": [ { - "expr": "application_total_num_of_rounds_current", + "expr": "currentRoundNumberCounter", "format": "time_series", "hide": false, "instant": true, @@ -473,7 +473,7 @@ "steppedLine": true, "targets": [ { - "expr": "base_cpu_systemLoadAverage", + "expr": "cpu_systemLoadAverage", "format": "time_series", "instant": false, "interval": "5s", @@ -625,7 +625,7 @@ "steppedLine": true, "targets": [ { - "expr": "base_memory_usedHeap_bytes", + "expr": "memory_usedHeap_bytes", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{job}}", diff --git a/monitoring/prometheus/prometheus.yml b/monitoring/prometheus/prometheus.yml index 1112135..7c7c9a7 100644 --- a/monitoring/prometheus/prometheus.yml +++ b/monitoring/prometheus/prometheus.yml @@ -9,23 +9,23 @@ scrape_configs: scrape_interval: 5s metrics_path: '/metrics/' static_configs: - - targets: ['game:8080'] - scheme: http + - targets: ['game.1ibd03sq8zc5.eu-gb.codeengine.appdomain.cloud'] + scheme: https tls_config: insecure_skip_verify: true - job_name: 'player-service' scrape_interval: 5s metrics_path: '/metrics/' static_configs: - - targets: ['player:8081'] - scheme: http + - targets: ['player.1ibd03sq8zc5.eu-gb.codeengine.appdomain.cloud'] + scheme: https tls_config: insecure_skip_verify: true -- job_name: 'auth-service' +- job_name: 'demo-failing-service' scrape_interval: 5s metrics_path: '/metrics/' static_configs: - - targets: ['auth:8082'] + - targets: ['127.0.0.1:8082'] scheme: http tls_config: insecure_skip_verify: true @@ -33,7 +33,7 @@ scrape_configs: scrape_interval: 5s metrics_path: '/metrics/' static_configs: - - targets: ['frontend:12000'] - scheme: http + - targets: ['frontend.1ibd03sq8zc5.eu-gb.codeengine.appdomain.cloud'] + scheme: https tls_config: insecure_skip_verify: true \ No newline at end of file diff --git a/startMonitoring.sh b/startMonitoring.sh index 6db1a87..f4e751e 100755 --- a/startMonitoring.sh +++ b/startMonitoring.sh @@ -8,26 +8,27 @@ mkdir -p $PROM_LOCAL_CONFIG rm $PROM_LOCAL_CONFIG/prometheus.yml 2> /dev/null echo "Building local config file prometheus config at: $PROM_LOCAL_CONFIG" sed \ - -e "s/'game:/'$LOCAL_HOST:/g" \ - -e "s/'player:/'$LOCAL_HOST:/g" \ - -e "s/'auth:/'$LOCAL_HOST:/g" \ - -e "s/'frontend:/'$LOCAL_HOST:/g" \ + -e 's/'game:/'game.1ibd03sq8zc5.eu-gb.codeengine.appdomain.cloud/g' \ + -e 's/'player:/'player.1ibd03sq8zc5.eu-gb.codeengine.appdomain.cloud/g' \ + -e 's/'auth:/'127.0.0.1:/g' \ + -e 's/'frontend:/'frontend.1ibd03sq8zc5.eu-gb.codeengine.appdomain.cloud/g' \ monitoring/prometheus/prometheus.yml > \ $PROM_LOCAL_CONFIG/prometheus.yml echo "Starting prometheus" -podman stop lb-prometheus 2> /dev/null -podman run \ +docker stop lb-prometheus 2> /dev/null +docker run \ --name lb-prometheus \ - --rm \ -d \ - -p 9090:9090 \ + -p 9088:9088 \ + -l PROMETHEUS_EXPORTER_PORT=9088 \ -v $PROM_LOCAL_CONFIG:/etc/prometheus \ - prom/prometheus:v2.52.0 + prom/prometheus --config.file=/etc/prometheus/prometheus.yml --web.listen-address=:9088 + echo "Starting grafana" -podman stop lb-grafana 2> /dev/null -podman run \ +docker stop lb-grafana 2> /dev/null +docker run \ --name lb-grafana \ --rm \ -d \