Maksym Ochenashko
Maksym Ochenashko
> For the JVM metrics, would we consider just linking to https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/runtime-telemetry ? That works perfectly by just registering new instruments using the library, and does not require any agent...
Another tricky case in the current implementation: ```scala Tracer[F].span("auto").use { span => Tracer[F].span("unmanaged").startUnmanaged.flatMap { unmanagedSpan => Tracer[F].span("child-1").use(span => ...) // child of the "auto" span } } ```
I don't think we should change the existing behavior. But we definitely need to improve the documentation: - [ ] Update Scaladoc - [ ] Add examples to the site...
Currently, we can convert Java's `TextMapGetter` and `TextMapPropagator` to otel4s. And wise-versa: https://github.com/typelevel/otel4s/blob/main/oteljava/common/src/main/scala/org/typelevel/otel4s/oteljava/context/propagation/PropagatorConverters.scala
It's not a typeclass, but the functionality is somewhat similar.
We can still expose some utility methods from `WrappedSpanContext` to ease the interop pain. E.g. `WrapperSpanContext#wrap` and `WrapperSpanContext#unwrap`. It will not solve the thread local's propagation issue, but at least...
Scala Native CPU time: ```scala def getProcessCpuTime(): Long = { import scala.scalanative.meta.LinktimeInfo import scala.scalanative.unsafe._ if (LinktimeInfo.isWindows) { import scala.scalanative.windows.MinWinBaseApi.FileTimeStruct import scala.scalanative.windows.ProcessThreadsApi import scala.scalanative.windows.MinWinBaseApiOps._ val creationTime = stackalloc[FileTimeStruct]() val exitTime =...
Scala Native 0.5.5(6) will provide access to MemoryMXBean. But we need to wait for cats-effect to catch up.
We tried this approach a while ago, and it was nice to have two slightly different spans with different sets of operations, but we didn't find it successful or beneficial....
> in Java for example, Object lock = new Object(); synchronized(lock) is often used rather than synchronized(this) to prevent other users from reducing the performance of a synchronized block of...