Packages

final case class CostCenter(locations: Chunk[String]) extends Product with Serializable

A CostCenter allows grouping multiple source code locations into one unit for reporting and targeting purposes. Instead of relying on a function call hierarchy to identify a location, zio-profiling relies on manual tagging.

for {
  _ <- CostCenter.withChildCostCenter("short")(ZIO.succeed(Thread.sleep(20))) // code attributed to cost center `Root / "short"`
  _ <- CostCenter.withChildCostCenter("long")(ZIO.succeed(Thread.sleep(40))) // code attributes to cost center `Root / "long"`
} yield ()
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CostCenter
  2. Serializable
  3. Product
  4. Equals
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new CostCenter(locations: Chunk[String])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def /(location: String): CostCenter

    Create a child cost center that is nested under this one.

  4. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hasParent(name: String): Boolean

    Check whether this cost center has a parent with a given name.

    Check whether this cost center has a parent with a given name.

    (Root / "foo" / "bar").hasParent("foo") // true
    (Root / "foo" / "bar").hasParent("bar") // true
    (Root / "foo" / "bar").hasParent("baz") // false
  11. def hasParentMatching(regex: Regex): Boolean

    Check whether this cost center has a parent with a name matching the given regex.

  12. def isChildOf(other: CostCenter): Boolean
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. def isRoot: Boolean
  15. def location: Option[String]
  16. val locations: Chunk[String]
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. def productElementNames: Iterator[String]
    Definition Classes
    Product
  21. def render: String
  22. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  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 Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped