Skip to content

Instantly share code, notes, and snippets.

@RayRoestenburg
Created August 29, 2012 20:55
Show Gist options
  • Save RayRoestenburg/3518821 to your computer and use it in GitHub Desktop.
Save RayRoestenburg/3518821 to your computer and use it in GitHub Desktop.
diagnostics
trait Diagnostics[Data, Request] extends WebNode[Data, Request] {
override def sendSpiders(spiderHome: ActorRef, data: Data, msg: (Request, Spider), collected: Set[ActorRef]) {
spiderHome ! DiagnosticData[Data](data, now, selfNode)
super.sendSpiders(spiderHome, data, msg, collected)
}
override def before = diagnoseBefore
override def after = diagnoseAfter
def diagnoseBefore: Receive
def diagnoseAfter: Receive
def now = System.nanoTime()
}
/**
* A Diagnostic Data message, including a timestamp when the diagnosis was taken, and at which node in the web.
*/
case class DiagnosticData[Data](data:Data, timestamp:Long, nodeRef:WebNodeRef)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment