Skip to content

Commit 96fb5f0

Browse files
committed
seal the mbean traits, tricksily
1 parent b94fde7 commit 96fb5f0

File tree

9 files changed

+18
-9
lines changed

9 files changed

+18
-9
lines changed

core/jvm/src/main/scala/cats/effect/unsafe/metrics/ComputePoolSampler.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ package metrics
2525
* the monitored compute work stealing thread pool
2626
*/
2727
private[unsafe] final class ComputePoolSampler(compute: WorkStealingThreadPool[_])
28-
extends ComputePoolSamplerMBean {
28+
extends UnsealedComputePoolSamplerMBean {
2929
def getWorkerThreadCount(): Int = compute.getWorkerThreadCount()
3030
def getActiveThreadCount(): Int = compute.getActiveThreadCount()
3131
def getSearchingThreadCount(): Int = compute.getSearchingThreadCount()

core/jvm/src/main/scala/cats/effect/unsafe/metrics/ComputePoolSamplerMBean.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ package cats.effect.unsafe.metrics
1919
/**
2020
* An MBean interface for monitoring a `WorkStealingThreadPool` backed compute thread pool.
2121
*/
22-
trait ComputePoolSamplerMBean {
22+
sealed trait ComputePoolSamplerMBean {
2323

2424
/**
2525
* Returns the number of `WorkerThread` instances backing the `WorkStealingThreadPool`.
@@ -76,3 +76,5 @@ trait ComputePoolSamplerMBean {
7676
*/
7777
def getSuspendedFiberCount(): Long
7878
}
79+
80+
private[unsafe] trait UnsealedComputePoolSamplerMBean extends ComputePoolSamplerMBean

core/jvm/src/main/scala/cats/effect/unsafe/metrics/CpuStarvation.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ private[metrics] class CpuStarvation private (
2626
counter: AtomicLong,
2727
currentClockDrift: AtomicLong,
2828
maxClockDrift: AtomicLong)
29-
extends CpuStarvationMBean {
29+
extends UnsealedCpuStarvationMBean {
3030

3131
override def getCpuStarvationCount(): Long = counter.get()
3232

core/jvm/src/main/scala/cats/effect/unsafe/metrics/CpuStarvationMbean.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ package cats.effect.metrics
1919
/**
2020
* An MBean interfaces for monitoring when CPU starvation occurs.
2121
*/
22-
trait CpuStarvationMBean {
22+
sealed trait CpuStarvationMBean {
2323

2424
/**
2525
* Returns the number of times CPU starvation has occurred.
@@ -45,3 +45,5 @@ trait CpuStarvationMBean {
4545
*/
4646
def getCurrentClockDriftMs(): Long
4747
}
48+
49+
private[unsafe] trait UnsealedCpuStarvationMBean extends CpuStarvationMBean

core/jvm/src/main/scala/cats/effect/unsafe/metrics/JvmCpuStarvationMetrics.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import java.lang.management.ManagementFactory
2727
import javax.management.{MBeanServer, ObjectName}
2828

2929
private[effect] class JvmCpuStarvationMetrics private (mbean: CpuStarvation)
30-
extends CpuStarvationMetrics {
30+
extends UnsealedCpuStarvationMetrics {
3131
override def incCpuStarvationCount: IO[Unit] = mbean.incStarvationCount
3232

3333
override def recordClockDrift(drift: FiniteDuration): IO[Unit] = mbean.recordDrift(drift)

core/jvm/src/main/scala/cats/effect/unsafe/metrics/LiveFiberSnapshotTrigger.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import scala.collection.mutable.ArrayBuffer
2727
* the backing fiber monitor
2828
*/
2929
private[unsafe] final class LiveFiberSnapshotTrigger(monitor: FiberMonitor)
30-
extends LiveFiberSnapshotTriggerMBean {
30+
extends UnsealedLiveFiberSnapshotTriggerMBean {
3131
def liveFiberSnapshot(): Array[String] = {
3232
val buffer = new ArrayBuffer[String]
3333
monitor.liveFiberSnapshot(buffer += _)

core/jvm/src/main/scala/cats/effect/unsafe/metrics/LiveFiberSnapshotTriggerMBean.scala

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ package cats.effect.unsafe.metrics
1919
/**
2020
* An MBean interface for triggering live fiber snapshots.
2121
*/
22-
trait LiveFiberSnapshotTriggerMBean {
22+
sealed trait LiveFiberSnapshotTriggerMBean {
2323

2424
/**
2525
* Obtains a snapshot of the fibers currently live on the [[IORuntime]] which this fiber
@@ -30,3 +30,6 @@ trait LiveFiberSnapshotTriggerMBean {
3030
*/
3131
def liveFiberSnapshot(): Array[String]
3232
}
33+
34+
private[unsafe] trait UnsealedLiveFiberSnapshotTriggerMBean
35+
extends LiveFiberSnapshotTriggerMBean

core/jvm/src/main/scala/cats/effect/unsafe/metrics/LocalQueueSampler.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ package metrics
2525
* the monitored local queue
2626
*/
2727
private[unsafe] final class LocalQueueSampler(queue: LocalQueue)
28-
extends LocalQueueSamplerMBean {
28+
extends UnsealedLocalQueueSamplerMBean {
2929
def getFiberCount(): Int = queue.getFiberCount()
3030
def getHeadIndex(): Int = queue.getHeadIndex()
3131
def getTailIndex(): Int = queue.getTailIndex()

core/jvm/src/main/scala/cats/effect/unsafe/metrics/LocalQueueSamplerMBean.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ package cats.effect.unsafe.metrics
1919
/**
2020
* An MBean interface for monitoring a single `WorkerThread` `LocalQueue`.
2121
*/
22-
trait LocalQueueSamplerMBean {
22+
sealed trait LocalQueueSamplerMBean {
2323

2424
/**
2525
* Returns the number of fibers enqueued on the monitored `LocalQueue`.
@@ -127,3 +127,5 @@ trait LocalQueueSamplerMBean {
127127
*/
128128
def getTailTag(): Int
129129
}
130+
131+
private[unsafe] trait UnsealedLocalQueueSamplerMBean extends LocalQueueSamplerMBean

0 commit comments

Comments
 (0)