Details
-
New Feature
-
Status: Resolved
-
P2
-
Resolution: Fixed
-
None
-
None
Description
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