spark 2.1 metrics Source and BlockManagerSource

来源:互联网 发布:轩辕剑崆峒印进阶数据 编辑:程序博客网 时间:2024/06/07 13:02

Source

private[spark] trait Source {  def sourceName: String  def metricRegistry: MetricRegistry}

BlockManagerSource

private[spark] class BlockManagerSource(val blockManager: BlockManager)    extends Source {  override val metricRegistry = new MetricRegistry()  override val sourceName = "BlockManager"  metricRegistry.register(MetricRegistry.name("memory", "maxMem_MB"), new Gauge[Long] {    override def getValue: Long = {      val storageStatusList = blockManager.master.getStorageStatus      val maxMem = storageStatusList.map(_.maxMem).sum      maxMem / 1024 / 1024    }  })  metricRegistry.register(MetricRegistry.name("memory", "remainingMem_MB"), new Gauge[Long] {    override def getValue: Long = {      val storageStatusList = blockManager.master.getStorageStatus      val remainingMem = storageStatusList.map(_.memRemaining).sum      remainingMem / 1024 / 1024    }  })  metricRegistry.register(MetricRegistry.name("memory", "memUsed_MB"), new Gauge[Long] {    override def getValue: Long = {      val storageStatusList = blockManager.master.getStorageStatus      val memUsed = storageStatusList.map(_.memUsed).sum      memUsed / 1024 / 1024    }  })  metricRegistry.register(MetricRegistry.name("disk", "diskSpaceUsed_MB"), new Gauge[Long] {    override def getValue: Long = {      val storageStatusList = blockManager.master.getStorageStatus      val diskSpaceUsed = storageStatusList.map(_.diskUsed).sum      diskSpaceUsed / 1024 / 1024    }  })}
0 0
原创粉丝点击