aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/core/init/HttpApi.scala
diff options
context:
space:
mode:
authorJakob Odersky <jakob@driver.xyz>2018-08-29 16:09:37 -0700
committerJakob Odersky <jakob@driver.xyz>2018-09-12 14:17:39 -0700
commita178592098a2bc07fcb7749eaf148debf02a5e63 (patch)
tree4c64614dd13b99b074bd56fa355d3d49a90e4feb /src/main/scala/xyz/driver/core/init/HttpApi.scala
parent5ec270aa98b806f32338fa25357abdf45dd0625b (diff)
downloaddriver-core-a178592098a2bc07fcb7749eaf148debf02a5e63.tar.gz
driver-core-a178592098a2bc07fcb7749eaf148debf02a5e63.tar.bz2
driver-core-a178592098a2bc07fcb7749eaf148debf02a5e63.zip
Fix trace ID generation and improve trace naming scheme
Diffstat (limited to 'src/main/scala/xyz/driver/core/init/HttpApi.scala')
-rw-r--r--src/main/scala/xyz/driver/core/init/HttpApi.scala17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/main/scala/xyz/driver/core/init/HttpApi.scala b/src/main/scala/xyz/driver/core/init/HttpApi.scala
index 6ea3d51..a2312ce 100644
--- a/src/main/scala/xyz/driver/core/init/HttpApi.scala
+++ b/src/main/scala/xyz/driver/core/init/HttpApi.scala
@@ -60,18 +60,21 @@ trait HttpApi extends CloudServices with Directives with SprayJsonSupport { self
val tags = Map(
"service_name" -> name,
"service_version" -> version.getOrElse("<unknown>"),
- "http_user_agent" -> ctx.request.header[`User-Agent`].map(_.value).getOrElse("<unknown>"),
+ "http_path" -> ctx.request.uri.path.toString,
+ "http_method" -> ctx.request.method.value.toString,
"http_uri" -> ctx.request.uri.toString,
- "http_path" -> ctx.request.uri.path.toString
+ "http_user_agent" -> ctx.request.header[`User-Agent`].map(_.value).getOrElse("<unknown>")
)
val parent = ctx.request.header[Traceparent].map { p =>
SpanContext(p.traceId, p.spanId) -> CausalRelation.Child
}
- reporter.traceWithOptionalParentAsync("handle_service_request", tags, parent) { sctx =>
- val header = Traceparent(sctx.traceId, sctx.spanId)
- val withHeader = ctx.withRequest(ctx.request.withHeaders(header))
- inner(withHeader)
- }
+ reporter
+ .traceWithOptionalParentAsync(s"${ctx.request.method.value.toLowerCase}_${ctx.request.uri.path}", tags, parent) {
+ sctx =>
+ val header = Traceparent(sctx.traceId, sctx.spanId)
+ val withHeader = ctx.withRequest(ctx.request.withHeaders(header))
+ inner(withHeader)
+ }
}
/** Extended route. */