Google cloud dataflow Stackdriver:来自特定数据流PCollection输出的ElementCount

Google cloud dataflow Stackdriver:来自特定数据流PCollection输出的ElementCount,google-cloud-dataflow,stackdriver,apache-beam,Google Cloud Dataflow,Stackdriver,Apache Beam,我有一个数据流工作,它从几个Google Pub/Sub主题中提取消息,对这些消息中包含的各个元素进行并行处理,然后将集合传递给各种资源进一步使用。我想组合一个Stackdriver仪表板,显示每个主题处理了多少个单独的元素。每个ParDo步骤输出一个PCollection 我已经使用ElementCount设置了一个仪表板,但我只能按作业筛选,不能按步骤筛选。如果将鼠标悬停在使用ElementCount生成的图表中的线条上,我可以看到每个步骤的计数。事实上,似乎正在报告这些指标,因为我可以以下

我有一个数据流工作,它从几个Google Pub/Sub主题中提取消息,对这些消息中包含的各个元素进行并行处理,然后将集合传递给各种资源进一步使用。我想组合一个Stackdriver仪表板,显示每个主题处理了多少个单独的元素。每个ParDo步骤输出一个PCollection

我已经使用ElementCount设置了一个仪表板,但我只能按作业筛选,不能按步骤筛选。如果将鼠标悬停在使用ElementCount生成的图表中的线条上,我可以看到每个步骤的计数。事实上,似乎正在报告这些指标,因为我可以以下列方式使用gcloud命令行实用程序:

gcloud beta dataflow metrics list [jobid] --filter ElementCount

...
name:
  context:
    original_name: extract_value_topic_1/Map-out0-ElementCount
    output_user_name: extract_value_topic_1/Map-out0
  name: ElementCount
  origin: dataflow/v1b3
scalar: 7000
updateTime: '2017-05-03T18:13:22.804Z'
---
name:
  context:
    original_name: extract_value_topic_2/Map-out0-ElementCount
    output_user_name: extract_value_topic_2/Map-out0
  name: ElementCount
  origin: dataflow/v1b3
scalar: 12000
updateTime: '2017-05-03T18:13:22.804Z'
我有几个这样的方法,但我没有看到一种基于它们构建Stackdriver图表的简单方法(除了将处理的每个元素记录到控制台,然后使用它生成基于日志的度量,但这似乎在许多级别上效率极低。)我遗漏了什么吗?如何根据这些元素计数创建图表


编辑:此外,如果我打开Metrics Explorer,我可以在搜索框中输入dataflow/job/element\u count,然后在筛选框中输入pcollection,但我无法构建包含此图表的仪表板,因为仪表板图表生成器中的筛选选项不允许按pcollection进行筛选。

不幸的是,当前无法在度量标签上构建带有筛选器的仪表板。正如您所注意到的,新的(Beta版)度量资源管理器提供了过滤功能,Stackdriver团队也在积极地为仪表板图表提供该功能。 如果我收到Stackdriver团队的任何进一步更新或详细信息,我将继续跟进。
--Andrea

这很不幸,尽管这不是我们报告功能的关键部分;这只不过是让高层发痒的东西,我们可以在大厅里展示。同时,您是否知道使用自定义度量或类似度量的任何解决方法?Stackdriver API:允许您对标签进行筛选。因此,您当然可以定义一个自定义度量,将标签和度量名称结合起来,以生成唯一的度量名称。但我不认为我会推荐这样做。我不确定您的时间框架是什么,但我确实有这种感觉,在不久的将来,Stackdriver中将提供此功能。