basic ublog monitoring

pull/9734/head
Thibault Duplessis 2021-09-05 16:33:44 +02:00
parent cbe1ddd055
commit 958fe7ba11
2 changed files with 7 additions and 1 deletions

View File

@ -37,11 +37,12 @@ final class Ublog(env: Env) extends LilaController(env) {
def post(username: String, slug: String, id: String) = Open { implicit ctx =>
NotForKids {
OptionFuResult(env.user.repo named username) { user =>
(env.ublog.api.findByAuthor(UblogPost.Id(id), user)) flatMap {
env.ublog.api.findByAuthor(UblogPost.Id(id), user) flatMap {
_.filter(canViewPost(user)).fold(notFound) { post =>
env.ublog.api.otherPosts(user, post) map { others =>
if (slug != post.slug) Redirect(urlOf(post))
else {
lila.mon.ublog.view(user.id).increment()
val markup = scalatags.Text.all.raw(env.ublog.markup(post))
Ok(html.ublog.post(user, post, markup, others))
}
@ -87,6 +88,7 @@ final class Ublog(env: Env) extends LilaController(env) {
data =>
CreateLimitPerUser(me.id, cost = if (me.isVerified) 1 else 3) {
env.ublog.api.create(data, me) map { post =>
lila.mon.ublog.create(me.id).increment()
Redirect(editUrlOf(post)).flashSuccess
}
}(rateLimitedFu)

View File

@ -701,6 +701,10 @@ object mon {
object markdown {
val time = timer("markdown.time").withoutTags()
}
object ublog {
def create(user: String) = counter("ublog.create").withTag("user", user)
def view(user: String) = counter("ublog.view").withTag("user", user)
}
object picfit {
def uploadTime(user: String) = future("picfit.upload.time", Map("user" -> user))
def uploadSize(user: String) = histogram("picfit.upload.size").withTag("user", user)