Hi Jake, I think this thread has moved a bit off-topic, but I appreciate you pointing out that scenario. We'll have to consider that when re-working this PR.
- Aaron On Tue, Sep 17, 2019 at 9:42 AM Jacob Barrett <jbarr...@pivotal.io> wrote: > > > On Sep 17, 2019, at 9:36 AM, Aaron Lindsey <alind...@pivotal.io> wrote: > > > >> > >> Not all functions are registered. I can invoke a function with > >> Execution.execute(Function) from the client, the Function is serialized > and > >> executed on the server, the class need only exist on the server for > >> deserialization. Must a function be registered now to get metrics? > >> > > > > For this meter we're only interested in timing registered functions. > > Can you explain why ya’ll aren’t interested in the more common use case? > > Also, are you aware this will likely result in a mismatch in meters for > the same function between the client and the server. If the client has the > function registered and the function is executed by name then the internals > fetch the registered function object and effectively executes as > Execution.execute(Function). This means that the client side will update > meters for this function but when deserialized on the server to execute it > would not update meters on the server. Only the case where the client > doesn't have the Function registered and executes by name but the server > does have it registered and looks up the instance would you end up with > metrics updated on both sides. > > -Jake > >