Uploaded image for project: 'Beam'
  1. Beam
  2. BEAM-6597

Put MonitoringInfos/metrics in the Java SDK ProcessBundleProgressResponse

Details

    • New Feature
    • Status: Resolved
    • P2
    • Resolution: Fixed
    • None
    • 2.21.0
    • java-fn-execution
    • 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

      Attachments

        Activity

          People

            lcwik Luke Cwik
            ajamato@google.com Alex Amato
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 9h 40m
                9h 40m