Ross A. Baker

Results 574 comments of Ross A. Baker

My `TraceRoot` isn't particularly satisfactory. It's very IO-centric. ```scala trait TraceRoot[F[_]] { def trace(root: Span[F]): F[Trace[F]] } object TraceRoot { def apply[F[_]](implicit ev: TraceRoot[F]): ev.type = ev implicit val traceRootForIO:...

> Using Trace.ioTrace with an initial root span satisfies the Trace constraint in both as well, but the HttpRoutes span won't be propagated to the UsersDB. Is this suggesting that...

Yes, `Trace[IO]` is constructed with a specific `Span`, typically a root or continued span from an `EntryPoint`. You would typically want one instance of this per request. And `Trace[Kleisli[F, Span[F],...

I am in favor of continuing with #527 over this one, particularly if https://github.com/typelevel/fs2/pull/2843 works out.

The repo already depends on it for xray. Not sure it's smart for core to take it on, but an fs2 module wouldn't hurt. (Half-baked idea: as @zmccoy is fond...

It turns out a `spanS` is a lot easier than `spanR` for the Kleisli instance. `translate` gives us a hook to thread the state (here, just a String) through to...

Tracing can be viewed as an exchange `F ~> F` of an untraced effect `F` with a traced effect `F`. This is witnessed by the polymorphic function that results from...

The API for tracing a stream (example from https://github.com/armanbilge/bayou/issues/1) ends up looking like ```scala def stream(implicit trace: Trace[IO]): Stream[IO, Unit] = { Trace[Stream[IO, *]].span("new_root")( Stream(1, 2, 3, 4, 5, 6,...

I moved onto otel4s and don't remember all the nuances, but I think the basic tradeoff was that this behaves similarly between stateless and stateful instances, and #527 was able...

A `Uri.Path` is basically just a `Vector` of segments that may or may not be absolute. Even if it is absolute, you can ignore that and append it to some...