Gate heartbeat success logs (#8407)

This commit is contained in:
2026-07-10 10:39:53 -07:00
committed by GitHub
parent 700f090331
commit d1160855d4
@@ -425,9 +425,11 @@ class EagleServiceImpl(
// causing clients to see a sync mismatch before receiving all updates.
// This particularly affects slower/remote connections (e.g., Windows clients).
gamesManager.synchronized {
println(
s"got heartbeat from $userId. Client timestamp ${request.clientTimestamp}, server timestamp ${System.currentTimeMillis()}"
)
val serverTimestamp = System.currentTimeMillis()
if EagleServiceImpl.LogHeartbeats then
SimpleTimedLogger.printLogger.logLine(
s"got heartbeat from $userId. Client timestamp ${request.clientTimestamp}, server timestamp $serverTimestamp"
)
// Verify sync status for each game the client reports
val gameSyncResults = request.gameSyncStatuses.flatMap { clientGameStatus =>
@@ -492,7 +494,7 @@ class EagleServiceImpl(
UpdateStreamResponse(
responseDetails = UpdateStreamResponse.ResponseDetails.HeartbeatResponse(
HeartbeatResponse(
serverTimestamp = System.currentTimeMillis(),
serverTimestamp = serverTimestamp,
gameSyncResults = mismatchedResults
)
)
@@ -687,6 +689,12 @@ class EagleServiceImpl(
}
object EagleServiceImpl {
private val EnabledEnvValues = Set("1", "true", "yes", "on")
private val LogHeartbeats =
sys.env
.get("EAGLE_LOG_HEARTBEATS")
.exists(value => EnabledEnvValues.contains(value.trim.toLowerCase))
private[service] def tutorialStartPhaseForCreateGame(request: CreateGameRequest): Option[TutorialPhase] =
if request.tutorialStartPhase != TutorialPhaseProto.TUTORIAL_PHASE_UNKNOWN then
Some(TutorialPhaseConverter.fromProto(request.tutorialStartPhase))