aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/google/api.scala
diff options
context:
space:
mode:
authorJakob Odersky <jakob@driver.xyz>2017-10-01 23:15:12 -0700
committerJakob Odersky <jakob@driver.xyz>2017-10-01 23:15:12 -0700
commit774864100676b7dbcf332f40c833cfa65dcd7b5a (patch)
tree820462a4b57aaa7647075b0a9495f05443672a0f /src/main/scala/google/api.scala
parent2c08b51411be5b0cce57f876377fcd52bee99990 (diff)
downloadtracing-774864100676b7dbcf332f40c833cfa65dcd7b5a.tar.gz
tracing-774864100676b7dbcf332f40c833cfa65dcd7b5a.tar.bz2
tracing-774864100676b7dbcf332f40c833cfa65dcd7b5a.zip
Fix google tracing long and date format
Diffstat (limited to 'src/main/scala/google/api.scala')
-rw-r--r--src/main/scala/google/api.scala15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/main/scala/google/api.scala b/src/main/scala/google/api.scala
index 122b695..de4c82b 100644
--- a/src/main/scala/google/api.scala
+++ b/src/main/scala/google/api.scala
@@ -2,7 +2,7 @@ package xyz.driver.tracing
package google
import spray.json._
-import spray.json.DefaultJsonProtocol._
+import spray.json.DefaultJsonProtocol.{LongJsonFormat => _, _}
import java.util.UUID
import java.nio.ByteBuffer
import java.time._
@@ -47,7 +47,7 @@ object TraceSpan {
implicit val instantFormat = new JsonFormat[Instant] {
val formatter = DateTimeFormatter
- .ofPattern("yyyy-MM-dd'T'HH:mm:ssXXXZ")
+ .ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSX")
.withZone(ZoneId.of("UTC"))
override def write(x: Instant): JsValue = JsString(formatter.format(x))
override def read(x: JsValue): Instant = x match {
@@ -57,6 +57,17 @@ object TraceSpan {
}
}
+ implicit val longFormat: JsonFormat[Long] = new JsonFormat[Long] {
+ override def write(x: Long): JsValue = {
+ JsString(java.lang.Long.toUnsignedString(x))
+ }
+ override def read(x: JsValue): Long = x match {
+ case JsString(num) => num.toLong
+ case other =>
+ spray.json.deserializationError("expected long")
+ }
+ }
+
implicit val format: JsonFormat[TraceSpan] = jsonFormat7(TraceSpan.apply)
def fromSpan(span: Span) = TraceSpan(