我在云数据流中有一个流媒体管道,我在其中设置Metrics.counter
如下所示。
class SomeDoFn extends DoFn {
val validIdCounter = Metrics.counter("user-type", "valid_ids")
val invalidIdCounter = Metrics.counter("user-type", "invalid_ids")
@ProcessElement
def process(c: ProcessContext): Unit = {
val userId = getId(c.element) match {
case Success(id) =>
validIdCounter.inc()
Some(id)
case Failure(e) =>
invalidIdCounter.inc()
None
}
...
}
我能够在Stackdriver监控中看到指标并为其创建警报。但是当我重新启动管道时,指标变为零。这是预期的行为吗?有没有办法可以在作业和作业运行中保留指标?
答案 0 :(得分:2)
重置为零的指标计数是预期的行为。要在Stackdriver中保留总指标计数,请在绘制指标时使用计数聚合。