Prometheus:播放控制器未显示计数器结果
Prometheus: play controller is not showing counter result
我是 Prometheus 的新手,使用的是 play framework 2.4 我正在使用计数器指标,这是我的代码
object CounterDemo {
val requestTotal = Counter.build()
.name("requests_total")
.help("Total number of requests")
.register();
}
object MyController extends Controller {
def counter() = Action {
val responseWriter = new StringWriter();
val result = TextFormat.write004(responseWriter, CollectorRegistry.defaultRegistry.metricFamilySamples())
log.info("result is "+result)
responseWriter.close()
Ok("result"+result)
}
def getAllDirectUser = Action {
CounterDemo.requestTotal.inc()
//other functionality
}
}
这是路由文件
GET /pom-metric controllers.MyController.counter
GET /direct-user/list controllers.MyController.getAllDirectUser
我点击了路由 direct-user/list 和 /pom-metric 路由它没有返回值 'result' 是空的
我是普罗米修斯的初学者,请帮助我犯错的地方
类型可以提供帮助。查看 result
的类型。它是 Unit
(又名无效)!
显然,TextFormat.write004
的 return 类型也是 Unit
,这就是为什么 Scala 编译器推断 result
变量的类型必须是 Unit
还有。
这意味着 TextFormat.write004
不是纯函数,即。它有副作用,并且没有 return 任何 值。如果打印 Unit
类型的变量,则会得到 ()
.
此外,你构造了一个StringWriter
,将它交给TextFormat,但你从来不看它的内容。
TextFormat.write004(
responseWriter, CollectorRegistry.defaultRegistry.metricFamilySamples())
responseWriter.close()
val result = responseWriter.getBuffer.toString
Ok("result" + result)
我是 Prometheus 的新手,使用的是 play framework 2.4 我正在使用计数器指标,这是我的代码
object CounterDemo {
val requestTotal = Counter.build()
.name("requests_total")
.help("Total number of requests")
.register();
}
object MyController extends Controller {
def counter() = Action {
val responseWriter = new StringWriter();
val result = TextFormat.write004(responseWriter, CollectorRegistry.defaultRegistry.metricFamilySamples())
log.info("result is "+result)
responseWriter.close()
Ok("result"+result)
}
def getAllDirectUser = Action {
CounterDemo.requestTotal.inc()
//other functionality
}
}
这是路由文件
GET /pom-metric controllers.MyController.counter
GET /direct-user/list controllers.MyController.getAllDirectUser
我点击了路由 direct-user/list 和 /pom-metric 路由它没有返回值 'result' 是空的 我是普罗米修斯的初学者,请帮助我犯错的地方
类型可以提供帮助。查看 result
的类型。它是 Unit
(又名无效)!
显然,TextFormat.write004
的 return 类型也是 Unit
,这就是为什么 Scala 编译器推断 result
变量的类型必须是 Unit
还有。
这意味着 TextFormat.write004
不是纯函数,即。它有副作用,并且没有 return 任何 值。如果打印 Unit
类型的变量,则会得到 ()
.
此外,你构造了一个StringWriter
,将它交给TextFormat,但你从来不看它的内容。
TextFormat.write004(
responseWriter, CollectorRegistry.defaultRegistry.metricFamilySamples())
responseWriter.close()
val result = responseWriter.getBuffer.toString
Ok("result" + result)