improve monitoring
parent
6e0d9f8302
commit
5808b76f2c
|
@ -85,6 +85,8 @@ final class ChatApi(
|
|||
}
|
||||
}
|
||||
publish(chatId, actorApi.ChatLine(chatId, line))
|
||||
val parentName = publicSource.fold("player")(_.parentName)
|
||||
lila.mon.chat.message(parentName, line.troll).increment()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -201,8 +203,10 @@ final class ChatApi(
|
|||
|
||||
def write(chatId: Chat.Id, color: Color, text: String): Funit =
|
||||
makeLine(chatId, color, text) ?? { line =>
|
||||
pushLine(chatId, line) >>-
|
||||
pushLine(chatId, line) >>- {
|
||||
publish(chatId, actorApi.ChatLine(chatId, line))
|
||||
lila.mon.chat.message("anonPlayer", false).increment()
|
||||
}
|
||||
}
|
||||
|
||||
private def makeLine(chatId: Chat.Id, color: Color, t1: String): Option[Line] =
|
||||
|
@ -233,7 +237,7 @@ final class ChatApi(
|
|||
),
|
||||
upsert = true
|
||||
)
|
||||
.void >>- lila.mon.chat.message(line.troll).increment()
|
||||
.void
|
||||
|
||||
private object Writer {
|
||||
|
||||
|
|
|
@ -395,8 +395,14 @@ object mon {
|
|||
val idCollision = counter("game.idCollision").withoutTags
|
||||
}
|
||||
object chat {
|
||||
def message(troll: Boolean) = counter("chat.message").withTag("troll", troll)
|
||||
def fetch(parent: String) = timer("chat.fetch").withTag("parent", parent)
|
||||
def message(parent: String, troll: Boolean) =
|
||||
counter("chat.message").withTags(
|
||||
Map(
|
||||
"parent" -> parent,
|
||||
"troll" -> troll
|
||||
)
|
||||
)
|
||||
def fetch(parent: String) = timer("chat.fetch").withTag("parent", parent)
|
||||
}
|
||||
object push {
|
||||
object register {
|
||||
|
|
|
@ -13,7 +13,8 @@ final class Env(
|
|||
appConfig: Configuration,
|
||||
userRepo: lila.user.UserRepo,
|
||||
db: lila.db.Db,
|
||||
asyncCache: lila.memo.AsyncCache.Builder
|
||||
asyncCache: lila.memo.AsyncCache.Builder,
|
||||
scheduler: akka.actor.Scheduler
|
||||
)(implicit ec: scala.concurrent.ExecutionContext) {
|
||||
|
||||
private lazy val coll = db(appConfig.get[CollName]("evalCache.collection.evalCache"))
|
||||
|
|
|
@ -13,7 +13,9 @@ import lila.memo.ExpireCallbackMemo
|
|||
* by remembering the last evalGet of each socket member,
|
||||
* and listening to new evals stored.
|
||||
*/
|
||||
final private class EvalCacheUpgrade {
|
||||
final private class EvalCacheUpgrade(scheduler: akka.actor.Scheduler)(
|
||||
implicit ec: scala.concurrent.ExecutionContext
|
||||
) {
|
||||
import EvalCacheUpgrade._
|
||||
|
||||
private val members = AnyRefMap.empty[SriString, WatchingMember]
|
||||
|
@ -43,9 +45,6 @@ final private class EvalCacheUpgrade {
|
|||
wm.push(json + ("path" -> JsString(wm.path)))
|
||||
}
|
||||
upgradeMon.count.increment(wms.size)
|
||||
upgradeMon.members.increment(members.size)
|
||||
upgradeMon.evals.increment(evals.size)
|
||||
upgradeMon.expirable.increment(expirableSris.count)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -63,6 +62,11 @@ final private class EvalCacheUpgrade {
|
|||
else evals += (setupId -> newSris)
|
||||
}
|
||||
|
||||
scheduler.scheduleWithFixedDelay(1 minute, 1 minute) { () =>
|
||||
upgradeMon.members.update(members.size)
|
||||
upgradeMon.evals.update(evals.size)
|
||||
upgradeMon.expirable.update(expirableSris.count)
|
||||
}
|
||||
}
|
||||
|
||||
private object EvalCacheUpgrade {
|
||||
|
|
|
@ -63,12 +63,12 @@ package shutup {
|
|||
case class RecordPrivateChat(chatId: String, userId: String, text: String)
|
||||
case class RecordPublicChat(userId: String, text: String, source: PublicSource)
|
||||
|
||||
sealed trait PublicSource
|
||||
sealed abstract class PublicSource(val parentName: String)
|
||||
object PublicSource {
|
||||
case class Tournament(id: String) extends PublicSource
|
||||
case class Simul(id: String) extends PublicSource
|
||||
case class Study(id: String) extends PublicSource
|
||||
case class Watcher(gameId: String) extends PublicSource
|
||||
case class Tournament(id: String) extends PublicSource("tournament")
|
||||
case class Simul(id: String) extends PublicSource("simul")
|
||||
case class Study(id: String) extends PublicSource("study")
|
||||
case class Watcher(gameId: String) extends PublicSource("watcher")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue