Also, we may be able to avoid the need for concurrent metrics by
configuring each Finagle source to use a single thread. We'll investigate
the performance implications this week and update you with the results.

Thanks,
Steve

On Friday, June 10, 2016, Steve Cosenza <scose...@twitter.com> wrote:

> +Chris Hogue who is also working on operationalizing Flink with me
>
> Hi Stephan,
>
> Thanks for the background on your current implementations!
>
> While we don't require a specific implementation for histogram, counter,
> or gauge, it just became clear that we'll need threadsafe versions of all
> three of these metrics. This is because our messaging source is implemented
> using Finagle, and Finagle expects to be able to emit stats concurrently
> from its managed threads.
>
> That being said, if adding threadsafe versions of the Flink counters is
> not an option, we'd also be fine with directly reading and writing from the
> singleton Codahale MetricsRegistry that you start up in each TaskManager.
>
> Thanks,
> Steve
>
> On Fri, Jun 10, 2016 at 7:10 AM, Stephan Ewen <se...@apache.org
> <javascript:_e(%7B%7D,'cvml','se...@apache.org');>> wrote:
>
>> A recent discussion brought up the point of adding a "histogram" metric
>> type to Flink. This open thread is to gather some more of the requirements
>> for that metric.
>>
>> The most important question is whether users need Flink to offer specific
>> implementations of "Histogram", like for example the "
>> com.codahale.metrics.Histogram", or if a "
>> org.apache.flink.metrics.Histogram" interface would work as well.
>> The histogram could still be reported for example via dropwizard
>> reporters.
>>
>> *Option (1):* If a Flink Histogram works as well, it would be simple to
>> add one. The dropwizard reporter would need to wrap the Flink Histogram for
>> reporting.
>>
>> *Option (2)*: If the code needs the specific Dropwizard Histogram type,
>> then one would need a wrapper class that makes a Flink Histogram look like
>> a dropwizard histogram.
>>
>> ----------
>>
>> As a bit of background for the discussion, here are some thoughts behind
>> the way that Metrics are currently implemented in Flink.
>>
>>   - The metric types in Flink are independent from libraries like
>> "dropwizard" to reduce dependencies and retain freedom to swap
>> implementations.
>>
>>   - Metric reporting allows to reuse reporters from dropwizard
>>
>>   - Some Flink metric implementations are also more lightweight than for
>> example in dropwizard. Counters for example are not thread safe, but do not
>> impose memory barriers. That is important for metrics deep in the streaming
>> runtime.
>>
>>
>>
>

-- 
-Steve

Sent from Gmail Mobile

Reply via email to