重新启动数据流管道后指标会重置
Metrics getting reset after restarting dataflow pipeline
我在 cloud-dataflow 中有一个流式传输管道,我在其中设置 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 监控中查看指标并为其创建警报。但是当我重新启动管道时,指标变为零。这是预期的行为吗?有什么方法可以跨作业和作业运行保留指标?
指标计数重置为零是预期的行为。要在 Stackdriver 中保留指标总数,请在绘制指标图表时使用计数聚合。
我在 cloud-dataflow 中有一个流式传输管道,我在其中设置 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 监控中查看指标并为其创建警报。但是当我重新启动管道时,指标变为零。这是预期的行为吗?有什么方法可以跨作业和作业运行保留指标?
指标计数重置为零是预期的行为。要在 Stackdriver 中保留指标总数,请在绘制指标图表时使用计数聚合。