From 57e433c07a271b4e5e4159500cdc828cd7bb6a83 Mon Sep 17 00:00:00 2001 From: Ivan Topolnak Date: Tue, 4 Feb 2014 18:16:07 -0300 Subject: partial rewrite of kamon-newrelic --- .../scala/kamon/newrelic/AgentJsonProtocol.scala | 31 ++++++++++------------ 1 file changed, 14 insertions(+), 17 deletions(-) (limited to 'kamon-newrelic/src/main/scala/kamon/newrelic/AgentJsonProtocol.scala') diff --git a/kamon-newrelic/src/main/scala/kamon/newrelic/AgentJsonProtocol.scala b/kamon-newrelic/src/main/scala/kamon/newrelic/AgentJsonProtocol.scala index da8199ab..ef556e11 100644 --- a/kamon-newrelic/src/main/scala/kamon/newrelic/AgentJsonProtocol.scala +++ b/kamon-newrelic/src/main/scala/kamon/newrelic/AgentJsonProtocol.scala @@ -32,26 +32,23 @@ object AgentJsonProtocol extends DefaultJsonProtocol { "pid" -> JsNumber(obj.pid))) } - import NewRelicMetric._ - - implicit def listWriter[T: JsonWriter] = new JsonWriter[List[T]] { - def write(list: List[T]) = JsArray(list.map(_.toJson)) + implicit def seqWriter[T: JsonWriter] = new JsonWriter[Seq[T]] { + def write(seq: Seq[T]) = JsArray(seq.map(_.toJson).toList) } - implicit object MetricDetailWriter extends JsonWriter[(ID, Data)] { - def write(obj: (ID, Data)): JsValue = { - val (id, data) = obj + implicit object MetricDetailWriter extends JsonWriter[NewRelic.Metric] { + def write(obj: NewRelic.Metric): JsValue = { JsArray( JsObject( - "name" -> JsString(id.name) // TODO Include scope + "name" -> JsString(obj.name) // TODO Include scope ), JsArray( - JsNumber(data.callCount), - JsNumber(data.total), - JsNumber(data.totalExclusive), - JsNumber(data.min), - JsNumber(data.max), - JsNumber(data.sumOfSquares))) + JsNumber(obj.callCount), + JsNumber(obj.total), + JsNumber(obj.totalExclusive), + JsNumber(obj.min), + JsNumber(obj.max), + JsNumber(obj.sumOfSquares))) } } @@ -59,8 +56,8 @@ object AgentJsonProtocol extends DefaultJsonProtocol { def write(obj: MetricData): JsValue = JsArray( JsNumber(obj.runId), - JsNumber(obj.start), - JsNumber(obj.end), - obj.metrics.toJson) + JsNumber(obj.timeSliceMetrics.from), + JsNumber(obj.timeSliceMetrics.to), + obj.timeSliceMetrics.metrics.toJson) } } -- cgit v1.2.3