ajamato commented on a change in pull request #11184: [BEAM-4374] Update protos
related to MonitoringInfo.
URL: https://github.com/apache/beam/pull/11184#discussion_r398758626
##########
File path: model/pipeline/src/main/proto/metrics.proto
##########
@@ -52,38 +55,157 @@ message Annotation {
string value = 2;
}
-// Populated MonitoringInfoSpecs for specific URNs.
-// Indicating the required fields to be set.
-// SDKs and RunnerHarnesses can load these instances into memory and write a
-// validator or code generator to assist with populating and validating
-// MonitoringInfo protos.
+// A set of well known MonitoringInfo specifications.
message MonitoringInfoSpecs {
enum Enum {
- // TODO(BEAM-6926): Add the PTRANSFORM name as a required label after
- // upgrading the python SDK.
- USER_COUNTER = 0 [(monitoring_info_spec) = {
- urn: "beam:metric:user",
- type_urn: "beam:metrics:sum_int_64",
+ // Represents an integer counter where values are summed across bundles.
+ USER_SUM_INT64 = 0 [(monitoring_info_spec) = {
+ urn: "beam:metric:user:v1",
+ type: "beam:metrics:sum_int64:v1",
required_labels: ["PTRANSFORM", "NAMESPACE", "NAME"],
annotations: [{
key: "description",
- value: "URN utilized to report user numeric counters."
+ value: "URN utilized to report user metric."
}]
}];
- ELEMENT_COUNT = 1 [(monitoring_info_spec) = {
+ // Represents a double counter where values are summed across bundles.
+ USER_SUM_DOUBLE = 1 [(monitoring_info_spec) = {
+ urn: "beam:metric:user:v1",
Review comment:
I would also prefer an API where you would really only need to look at the
MonitoringIfno URN and then you would instantly know everything else you could
expect to find in there. So I would prefer not having MonitoringInfoSpecs which
allow multiple different types. I think that would just be confusing for
implementers on the runner side.
Defining the types upfront is nice so that the implementers can see at a
glance all the types they want to support. And the type_urn and type bytes
packaging does allow it to be more general so that custom runners and sdks
could extend it with custom types.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services