Just the SDK harness, it doesn't need to be part of the user APIs or
anything. But I want to offer it as a library that any Java SDK could use
to enable state sampling as a low weight estimation of execution times,
which is useful to implement the execution time metrics. So I don't see a
need to put it on the core SDK.

Then I think that our options would be:

   - create a new: beam/java/*extensions/state-sampling*
   - reuse the existing: beam/*sdks*/java/*extensions/state-sampling*


On Thu, Jan 17, 2019 at 10:59 AM Kenneth Knowles <k...@google.com> wrote:

> Do you want to use it in the core SDK or the SDK harness? Does the state
> sampling code depend on the core SDK?
>
> I'd really like to avoid layers with names like "common". Just delete that
> layer of the directory and the path hierarchy has exactly the same meaning,
> but is more concise and clear.
>
> Kenn
>
> On Thu, Jan 17, 2019 at 10:49 AM Alex Amato <ajam...@google.com> wrote:
>
>> I would like to reuse the State Sampling classes from the Dataflow Runner
>> Harness in the Beam Java SDK. I created a Refactoring plan
>> <https://docs.google.com/document/d/1OlAJf4T_CTL9WRH8lP8uQOfLjWYfm8IpRXSe38g34k4/edit#>and
>> removed the Dataflow references from the classes in PR/7507
>> <https://github.com/apache/beam/pull/7507>.
>>
>> SInce the Java SDK cannot depend on the Dataflow Runner Harness, then I
>> can do one of these options
>>
>>    - Create a new gradle project/folder and locate the code in a shared
>>    location?
>>       - i.e. create a new: beam/*common*/java/*extensions/state-sampling*
>>    - Move the code in a Java SDK projects, which will work since the
>>    runner harness can depend on the SDK?
>>       - i.e.reuse the existing: beam/*sdks*/java/
>>       *extensions/state-sampling*
>>
>>

Reply via email to