michaelbannister
05/28/2021, 3:09 PMfun endpoints() = "/orders" bind POST to routes(
"/create" bind ::createOrder named "Create Order",
"/submit" bind ::submitOrder named "Submit Order",
)
object SpanNameFilter {
operator fun invoke(name: String) = Filter { next ->
{ req ->
Span.current().updateName(name)
next(req)
}
}
}
infix fun RoutingHttpHandler.named(name: String) = SpanNameFilter(name).then(this)
Wondered if this might be something you’d be interested in adding to the opentelemetry module in some form or other? Or is there a different way of doing this you’d recommend? Would a more general ability to name RoutingHttpHandlers be useful?http.route
attribute, for the span name?Razvan
05/28/2021, 4:41 PMfun ServerFilters.OpenTelemetryTracing(
openTelemetry: OpenTelemetry = GlobalOpenTelemetry.get(),
spanNamer: (Request) -> String = { it.uri.toString() },
error: (Request, Throwable) -> String = { _, t -> t.localizedMessage },
): Filter