From 75f851ef455ee7d07b14efc2b78f4231d6d77093 Mon Sep 17 00:00:00 2001 From: Brian Harrington Date: Wed, 20 Nov 2024 14:31:33 -0600 Subject: [PATCH 1/2] lwc-events: encode samples associated with datapoint Update remote client to encode the samples and lwcapi to read them. --- .../com/netflix/atlas/lwc/events/RemoteLwcEventClient.scala | 2 ++ .../main/scala/com/netflix/atlas/lwcapi/EvaluateApi.scala | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/atlas-lwc-events/src/main/scala/com/netflix/atlas/lwc/events/RemoteLwcEventClient.scala b/atlas-lwc-events/src/main/scala/com/netflix/atlas/lwc/events/RemoteLwcEventClient.scala index 9e64c4a33..a470bd534 100644 --- a/atlas-lwc-events/src/main/scala/com/netflix/atlas/lwc/events/RemoteLwcEventClient.scala +++ b/atlas-lwc-events/src/main/scala/com/netflix/atlas/lwc/events/RemoteLwcEventClient.scala @@ -258,6 +258,8 @@ class RemoteLwcEventClient(registry: Registry, config: Config) } gen.writeEndObject() gen.writeNumberField("value", event.value) + gen.writeFieldName("samples") + Json.encode(gen, event.samples) gen.writeEndObject() } diff --git a/atlas-lwcapi/src/main/scala/com/netflix/atlas/lwcapi/EvaluateApi.scala b/atlas-lwcapi/src/main/scala/com/netflix/atlas/lwcapi/EvaluateApi.scala index 942ab8101..5b74ace21 100644 --- a/atlas-lwcapi/src/main/scala/com/netflix/atlas/lwcapi/EvaluateApi.scala +++ b/atlas-lwcapi/src/main/scala/com/netflix/atlas/lwcapi/EvaluateApi.scala @@ -51,7 +51,7 @@ class EvaluateApi(registry: Registry, sm: StreamSubscriptionManager) req.metrics.groupBy(_.id).foreach { case (id, ms) => val datapoints = ms.map { m => - LwcDatapoint(timestamp, m.id, m.tags, m.value) + LwcDatapoint(timestamp, m.id, m.tags, m.value, m.samples) } evaluate(addr, id, datapoints) } @@ -87,7 +87,8 @@ object EvaluateApi { case class Item( id: String, @JsonDeserialize(`using` = classOf[SortedTagMapDeserializer]) tags: SortedTagMap, - value: Double + value: Double, + samples: List[List[Any]] ) case class EvaluateRequest( From a583513755ea9dc115384e4486696b1ff0508d43 Mon Sep 17 00:00:00 2001 From: Brian Harrington Date: Wed, 20 Nov 2024 14:38:11 -0600 Subject: [PATCH 2/2] fix compile error --- .../test/scala/com/netflix/atlas/lwcapi/EvaluateApiSuite.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/atlas-lwcapi/src/test/scala/com/netflix/atlas/lwcapi/EvaluateApiSuite.scala b/atlas-lwcapi/src/test/scala/com/netflix/atlas/lwcapi/EvaluateApiSuite.scala index 5f64c2d42..e03c4a0b1 100644 --- a/atlas-lwcapi/src/test/scala/com/netflix/atlas/lwcapi/EvaluateApiSuite.scala +++ b/atlas-lwcapi/src/test/scala/com/netflix/atlas/lwcapi/EvaluateApiSuite.scala @@ -45,7 +45,7 @@ class EvaluateApiSuite extends MUnitRouteSuite { } test("post metrics") { - val metrics = List(Item("abc", SortedTagMap("a" -> "1"), 42.0)) + val metrics = List(Item("abc", SortedTagMap("a" -> "1"), 42.0, Nil)) val json = EvaluateRequest(1234L, metrics, Nil, Nil).toJson Post("/lwc/api/v1/evaluate", json) ~> routes ~> check { assertEquals(response.status, StatusCodes.OK)