blob: 314c84507cefd9953eab31d378b685b241d6f4aa (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
package kamon.system.sigar
import akka.event.LoggingAdapter
import kamon.metric.GenericEntityRecorder
import kamon.metric.instrument.InstrumentFactory
import org.hyperic.sigar.Sigar
class ULimitMetrics(sigar: Sigar, instrumentFactory: InstrumentFactory, logger: LoggingAdapter) extends GenericEntityRecorder(instrumentFactory) with SigarMetric {
val pid = sigar.getPid
val openFiles = histogram("open-files")
def update(): Unit = {
openFiles.record(sigar.getProcFd(pid).getTotal)
}
}
object ULimitMetrics extends SigarMetricRecorderCompanion("ulimit") {
def apply(sigar: Sigar, instrumentFactory: InstrumentFactory, logger: LoggingAdapter): ULimitMetrics =
new ULimitMetrics(sigar, instrumentFactory, logger)
}
|