如何检查akka收件箱中邮件的时长?如果邮件在收件箱中的时间太长,我想发一条日志消息。类似的东西:
override def receive: Receive = {
case Message =>
val timeInInbox = ...
if (timeInInbox > treshold) log.warn("bla bla bla the doom is coming")
答案 0 :(得分:3)
有可用于提供此信息的指标/遥测库。 一个是kamon.io(开源),它为您提供了“邮箱时间”指标,请参阅http://kamon.io/documentation/kamon-akka/0.6.6/actor-router-and-dispatcher-metrics/
另一个(非免费的,封闭的来源)是“Lightbend Telemetry”,称之为“邮箱时间”,请参阅http://developer.lightbend.com/docs/monitoring/latest/instrumentations/akka/akka.html#actor-metrics
答案 1 :(得分:0)
Akka目前没有内置任何功能。
您可以创建一个自定义邮箱实现,记录每个邮件的到达时间dequeue
,并将队列持续时间记录在getCurrentTimeMillis
上。见" Creating your own Mailbox type"在Akka文档中。
请注意,调用<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:text="Page 1" android:id="@+id/textViewHeader"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:gravity="center" android:padding="10dip" android:textStyle="bold"></TextView>
<android.support.v4.view.ViewPager
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:id="@+id/viewPager" />
</LinearLayout>
或类似邮件并不便宜,因此您可能会发现此类邮箱的性能成本很高。我希望这就是为什么Akka没有开箱即用的原因。