@* * Copyright 2015 Yahoo Inc. Licensed under the Apache License, Version 2.0 * See accompanying LICENSE file. *@ @(cluster: String, logkafkas: IndexedSeq[((String, Option[kafka.manager.model.ActorModel.LogkafkaIdentity]),Boolean)] )(implicit messages: play.api.i18n.Messages, request:RequestHeader) @import scala.Int; var row_num = 0; @getFilesizeStatus(filesize: Int) = { @filesize match { case i if i < 0 => {table-warning} case i => {} } } @getLogkafkaStatus(flag: Boolean, s1: String, s2: String) = { @if(flag) {@s1} else {@s2} } @getTime(timestamp: Long) = { @((new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ")).format(timestamp*1000)) } @for( ((logkafka_id, logkafkaIdentity), deleted) <- logkafkas) { @logkafkaIdentity.map{ li => @for( (log_path, im) <- li.identityMap) { @{row_num = row_num + 1} @im._1.map { c => }.getOrElse{} @im._2.map { c => @c.get("realpath").map { d => }.getOrElse{} }.getOrElse{ } @im._2.map { c => @c.get("last_rotate_time_sec").map { d => }.getOrElse{} }.getOrElse{} @im._2.map { c => @c.get("inode").map { d => }.getOrElse{} }.getOrElse{} @im._2.map { c => @c.get("filepos").map { d => }.getOrElse{} }.getOrElse{} @im._2.map { c => @c.get("filesize").map { d => }.getOrElse{} }.getOrElse{} @im._1.map { c => @c.get("topic").map { d => }.getOrElse{} }.getOrElse{} } }.getOrElse{} } }.getOrElse{} }
rowLogkafka IdLog Path# Real Path# Last Rotate Time# File Inode# File Pos# File Size# TopicOperations
@row_num @logkafka_id @log_path @d no corresponding file @getLogkafkaStatus(li.active,"scanning for new file", "logkafka is inactive") @getTime(d.toLong) @d @d @d @d
@im._1.map { c => @c.get("valid").map { enabled => @if(enabled.toBoolean) { Modify @b4.vertical.form(routes.Logkafka.handleDisableConfig(cluster, logkafka_id, log_path)) { implicit fc => @b4.submit('class -> "btn btn-outline-warning ops-button"){ Disable } } } else { @b4.vertical.form(routes.Logkafka.handleEnableConfig(cluster, logkafka_id, log_path)) { implicit fc => @b4.submit('class -> "btn btn-outline-success ops-button"){ Enable } } @b4.vertical.form(routes.Logkafka.handleDeleteLogkafka(cluster, logkafka_id, log_path)) { implicit fc => @b4.submit('class -> "btn btn-outline-danger ops-button"){ Delete } } } }.getOrElse{