Packages

final class IORuntime extends AnyRef

Annotations
@implicitNotFound()
Source
IORuntime.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. IORuntime
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. val compute: ExecutionContext
  7. val config: IORuntimeConfig
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  11. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. def liveFiberSnapshot(): FiberSnapshot

    Obtains a snapshot of the fibers currently live on the IORuntime which this fiber monitor instance belongs to.

    Obtains a snapshot of the fibers currently live on the IORuntime which this fiber monitor instance belongs to.

    The returned FiberSnapshot contains hard references to the underlying fibers and their current state, worker assignments, and execution traces. It can be used for debugging, diagnostics, or visualizations.

    This method is intended primarily for external tools, such as debuggers, monitoring agents, or test frameworks. As such, it is not wrapped in cats.effect.IO or cats.effect.SyncIO since this API is expected to be used outside the effect context. Requiring an IO here would make integration with external tools more cumbersome or even impossible.

    Example:
    1. Print all live fibers grouped by worker:

      val printFiberDump: IO[Unit] =
        for {
          // Take a snapshot of all live fibers in the current IORuntime
          snapshot <- IO.delay(runtime.liveFiberSnapshot())
      
          // Print fibers assigned to specific worker threads
          // `workers` API is available only on JVM and Scala Native platforms
          _ <- snapshot.workers.toList.traverse_ { case (worker, fibers) =>
            IO.println("Worker " + worker.thread + " #" + worker.index) >>
              fibers.traverse_(fiber => IO.println(fiber.pretty))
          }
      
          // Print global fibers (not bound to specific workers, e.g., blocked or external)
          _ <- snapshot.external.traverse_(fiber => IO.println(fiber.pretty))
        } yield ()
    Note

    the snapshot introduces a risk of memory leaks because it retains hard references to the underlying Fiber instances. As a result, these fibers cannot be garbage collected while the snapshot (or anything that retains it) is still in scope.

    ,

    this method is part of the unsafe package and should be used with care. Its primary purpose is for runtime introspection, not for application logic.

  15. val metrics: IORuntimeMetrics
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. val scheduler: Scheduler
  20. val shutdown: () => Unit
  21. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    IORuntime → AnyRef → Any
  23. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped