lukecwik commented on a change in pull request #11231: [BEAM-4374] Shortids for the Go SDK URL: https://github.com/apache/beam/pull/11231#discussion_r398948604
########## File path: sdks/go/pkg/beam/core/runtime/harness/monitoring.go ########## @@ -16,20 +16,165 @@ package harness import ( + "bytes" + "strconv" + "sync" + "sync/atomic" "time" + "github.com/apache/beam/sdks/go/pkg/beam/core/graph/coder" + "github.com/apache/beam/sdks/go/pkg/beam/core/graph/mtime" "github.com/apache/beam/sdks/go/pkg/beam/core/metrics" "github.com/apache/beam/sdks/go/pkg/beam/core/runtime/exec" fnpb "github.com/apache/beam/sdks/go/pkg/beam/model/fnexecution_v1" ppb "github.com/apache/beam/sdks/go/pkg/beam/model/pipeline_v1" "github.com/golang/protobuf/ptypes" ) -func monitoring(p *exec.Plan) (*fnpb.Metrics, []*ppb.MonitoringInfo) { +type mUrn uint32 +type mType uint32 + +// TODO: Pull these from the protos. +var sUrns = []string{ + "beam:metric:user:v1", + "beam:metric:element_count:v1", + "beam:metric:pardo_execution_time:start_bundle_msecs:v1", + "beam:metric:pardo_execution_time:process_bundle_msecs:v1", + "beam:metric:pardo_execution_time:finish_bundle_msecs:v1", + "beam:metric:ptransform_progress:remaining:v1", + "beam:metric:ptransform_progress:completed:v1", + + "TestingSentinelUrn", // Must remain last. +} + +const ( + urnUser mUrn = iota + urnElementCount + urnStartBundle + urnProcessBundle + urnFinishBundle + urnProgressRemaining + urnProgressCompleted + + urnTestSentinel // Must remain last. +) + +var sTypes = []string{ + "beam:metrics:sum_int64:v1", + "beam:metrics:sum_double:v1", + "beam:metrics:distribution_int64:v1", + "beam:metrics:distribution_double:v1", + "beam:metrics:latest_int64:v1", + "beam:metrics:latest_double:v1", + "beam:metrics:top_n_int64:v1", + "beam:metrics:top_n_double:v1", + "beam:metrics:bottom_n_int64:v1", + "beam:metrics:bottom_n_double:v1", + "beam:metrics:monitoring_table:v1", + "beam:metrics:progress:v1", + + "TestingSentinelType", // Must remain last. +} + +const ( Review comment: Since the urns uniquely identify the type now, you don't need this anymore and a monitoring info is uniquely described by urn + labels. ---------------------------------------------------------------- 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: us...@infra.apache.org With regards, Apache Git Services