Alex Amato created BEAM-6597:
--------------------------------
Summary: Put MonitoringInfos/metrics in the Java SDK
ProcessBundleProgressResponse
Key: BEAM-6597
URL: https://issues.apache.org/jira/browse/BEAM-6597
Project: Beam
Issue Type: New Feature
Components: java-fn-execution
Reporter: Alex Amato
I think this is the correct approach, as I don't believe there is any hook in
the Java SDK yet for ProcessBundleProgressResponses.
(1) Implement ProcessBundleProgressResponse
See FnHarness.main to add a handle for RequestCase.PROGRESS_BUNDLE.
(2) Refactor ProgressBundleHandler so that the metrics can be extracted from
the MetricContainerStep map and SimpleExecutionStates for the instrucitonId
when the call comes in. (Right now all these objects only live in the local
function, they may need to live in an object instead which can be accessed by
both process bundle and progress bundle responses). Be careful to not introduce
thread contention. Ideally we need a way to read the values without locking new
ones from being written.
(Test 1) Also be sure to simplify RemoteExecutionTest.testMetrics().
By inspecting the metric progress, we can remove the sleeps from this code.
Currently there are sleeps in start, process and finish to ensure execution
time metrics are added. Instead, once progress bundle responses are introduced,
the metrics can be examined here
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)