blockquote, div.yahoo_quoted { margin-left: 0 !important; border-left:1px 
#715FFA solid !important; padding-left:1ex !important; background-color:white 
!important; } Yeap that's a requirement from our perspective (working through 
this list).
Sure I think as usual we can start with master with an eye for what would need 
to be back ported.
Sent from Yahoo Mail for iPhone


On Tuesday, October 11, 2016, 8:50 PM, P. Taylor Goetz <ptgo...@gmail.com> 
wrote:

I hope I didn't come across as overly critical. You did the best with what you 
had to work with. Which isn't pretty.

We could potentially do a parallel metrics API in 1.1, 1.2, or master and still 
stay close to semantic versioning...?

-Taylor

> On Oct 11, 2016, at 9:28 PM, Jungtaek Lim <kabh...@gmail.com> wrote:
> 
> Yeah I admit that configuration flag was bad for me also, but I have no
> alternatives. Only way to avoid struggling with design limitation is revamp
> / redesign.
> Thanks S G for exposing willingness of volunteer and great news Alessandro
> for that project.
> Alessandro, could you forward the upcoming news for the project to dev@
> list?
> 
> - Jungtaek Lim (HeartSaVioR)
> 
> 2016년 10월 12일 (수) 오전 10:22, P. Taylor Goetz <ptgo...@gmail.com>님이 작성:
> 
>> I was thinking on a smaller scale in terms of effort, but the more I think
>> about it, the more supportive I would be of a full revamp (new API) for
>> metrics based on Coda Hale's metrics library. It's proven and stable. I've
>> used it many times. I think either approach would be roughly the same
>> amount of work.
>> 
>> Some of the metrics API improvements in the 1.1.x branch are nice, but
>> IMHO are lipstick on a pig.
>> 
>> With apologies to Jungtaek, who has done amazing work all across the
>> codebase, I'm a little squeamish about the proposed change to metrics that
>> changes the consumer API based on a configuration flag (don't know the PR
>> number offhand).
>> 
>> I'm +1 for moving in this direction (revamped metrics). Let's end the
>> metrics pain.
>> 
>> -Taylor
>> 
>>> On Oct 11, 2016, at 10:15 AM, Bobby Evans <ev...@yahoo-inc.com.INVALID>
>> wrote:
>>> 
>>> I agree that IMetricsConsumer is not good, but the reality is that all
>> of the metrics system needs to be redone.  The problem is that we ship an
>> object as a metric.  If I get an object I have no idea what it is hand
>> hence no idea how to report it or what to do with it.  What is more the
>> common types we use in the metrics we provide are really not enough.  For
>> example CountMetric sends a Long.  Well when I get it in the metrics
>> consumer I have no idea if I should report it like a counter or if I should
>> report it like a gauge (something that every metrics system I have used
>> wants to know).  But then we support pre-aggregation of the metrics with
>> IReducer so the number I get might be an average instead of either a gauge
>> or a counter, which no good metrics system will want to collect because I
>> cannot aggregate it with anything else, the math just does not work.
>>> The proposal I have said before and I still believe is that we need to
>> put in place a parallel metrics API/system.  We will deprecate all of
>> https://git.corp.yahoo.com/storm/storm/tree/master-security/storm-core/src/jvm/backtype/storm/metric/api
>> and create a new parallel one that provides an API similar to
>> http://metrics.dropwizard.io/3.1.0/.  I would even be fine in just using
>> their API and exposing that to end users.  Dropwizard has solved all of
>> these problems already and I don't see a reason to reinvent the wheel.  I
>> don't personally see a lot of value in trying to send all of the metrics
>> through storm itslef.  I am fine if we are able to support that, but it is
>> far from a requirement. - Bobby
>>> 
>>>  On Monday, October 10, 2016 10:47 PM, S G <sg.online.em...@gmail.com>
>> wrote:
>>> 
>>> 
>>> +1
>>> We can probably start by opening a JIRA for this and adding a design
>>> approach for the same?
>>> I would like to help in the coding-effort for this.
>>> 
>>> -SG
>>> 
>>>> On Mon, Oct 10, 2016 at 1:51 PM, P. Taylor Goetz <ptgo...@gmail.com>
>> wrote:
>>>> 
>>>> I’ve been thinking about metrics lately, specifically the fact that
>> people
>>>> tend to struggle with implementing a metrics consumer. (Like this one
>> [1]).
>>>> 
>>>> The IMetricsConsumer interface is pretty low level, and common
>>>> aggregations, calculations, etc. are left up to each individual
>>>> implementation. That seems like an area where further abstraction would
>>>> make it easier to support different back ends (Graphite, JMX, Splunk,
>> etc.).
>>>> 
>>>> My thought is to create an abstract IMetricsConsumer implementation that
>>>> does common aggregations and calculations, and then delegates to a
>> plugable
>>>> “metrics sink” implementation (e.g. “IMetricsSink”, etc.). That would
>>>> greatly simplify the effort required to integrate with various external
>>>> metrics systems. I know of at least a few users that would be
>> interested,
>>>> one is currently scraping the logs from LoggingMetricsConsumer and
>> polling
>>>> the Storm REST API for their metrics.
>>>> 
>>>> -Taylor
>>>> 
>>>> [1] http://twocentsonsoftware.blogspot.co.il/2014/12/
>>>> sending-out-storm-metrics.html
>>>> 
>>>> 
>>>>> On Oct 10, 2016, at 12:14 PM, Bobby Evans <ev...@yahoo-inc.com.INVALID
>>> 
>>>> wrote:
>>>>> 
>>>>> First of all the server exposes essentially the same interface that the
>>>> IMetricsConsumer exposes.  It mostly just adds a bunch of overhead in
>> the
>>>> middle to serialize out the objects send them over http to another
>> process
>>>> which then has to deserialize them and process them.  If you really
>> don't
>>>> need the metrics to show up on a special known box you can have that
>> exact
>>>> same code running inside the metrics consumer without all of the
>> overhead.
>>>>> The server/client are insecure, have to deal with thread issues that a
>>>> normal IMetricsConsumer does not, and are not written to be robust (If
>> the
>>>> HTTP server is down the consumer crashes and continues to crash until
>> the
>>>> server is brought back up).  It was written very quickly for a test
>>>> situation and it honestly never crossed my mind that anyone would want
>> to
>>>> use it in production.
>>>>> 
>>>>> - Bobby
>>>>> 
>>>>>    On Monday, October 10, 2016 10:59 AM, S G <
>> sg.online.em...@gmail.com>
>>>> wrote:
>>>>> 
>>>>> 
>>>>> Thanks Bobby.
>>>>> 
>>>>> If we write our own metrics consumer, how do we ensure that it is
>> better
>>>>> than HttpForwardingMetricsServer? In other words, what aspects of the
>>>>> HttpForwardingMetricsServer
>>>>> should we avoid to make our own metrics consumer better and ready for
>>>>> production?
>>>>> 
>>>>> Is versign/storm-graphite <https://github.com/verisign/storm-graphite>
>>>>> production
>>>>> ready?
>>>>> 
>>>>> Also, we should add a line about production-readiness of
>>>>> HttpForwardingMetricsServer
>>>>> in the documentation at http://storm.apache.org/
>>>> releases/1.0.2/Metrics.html
>>>>> (We were just about to think seriously on using this for production as
>> we
>>>>> thought this to be the standard solution for metrics' consumption in
>> 1.0+
>>>>> version).
>>>>> 
>>>>> -SG
>>>>> 
>>>>> On Mon, Oct 10, 2016 at 6:37 AM, Bobby Evans <ev...@yahoo-inc.com>
>>>> wrote:
>>>>> 
>>>>>> First of all there really are two different sets of metrics.  One set
>> is
>>>>>> the topology metrics and the other set is the daemon metrics (metrics
>>>> for
>>>>>> things like the ui and nimbus).  The JmxPreparableReporter plugin only
>>>>>> exposes daemon metrics not the topology metrics through JMX.  Exposing
>>>>>> topology metrics through JMX is a non trivial task.  The current
>> metrics
>>>>>> feature was not designed for this.  We are in the process of trying to
>>>>>> redesign the metrics system to allow for features like this, but it is
>>>>>> still a ways off.
>>>>>> 
>>>>>> - Bobby
>>>>>> 
>>>>>> 
>>>>>> On Saturday, October 8, 2016 11:39 AM, S G <sg.online.em...@gmail.com
>>> 
>>>>>> wrote:
>>>>>> 
>>>>>> 
>>>>>> Thanks Bobby,
>>>>>> 
>>>>>> We will need some kind of IMetricsConsumer to talk to telegraf.
>>>>>> Many other softwares like Solr, Elastic-Search, Cassandra etc. provide
>>>>>> metrics through a URL making it very easy to consume by tools like
>>>> telegraf.
>>>>>> How about a IMetricsConsumer that will run on storm-ui and provide the
>>>>>> metrics through a URL such as <storm-ui-host>/metrics ?
>>>>>> 
>>>>>> Also, I see the following option in defaults.yaml:
>>>>>> #default storm daemon metrics reporter plugins
>>>>>> storm.daemon.metrics.reporter.plugins:
>>>>>>      - "org.apache.storm.daemon.metrics.reporters.
>>>> JmxPreparableReporter"
>>>>>> 
>>>>>> Is this a good option to use for converting metrics into JMX ?
>>>>>> 
>>>>>> Thanks
>>>>>> SG
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> On Fri, Oct 7, 2016 at 8:11 AM, Bobby Evans
>> <ev...@yahoo-inc.com.invalid
>>>>> 
>>>>>> wrote:
>>>>>> 
>>>>>> HttpForwardingMetricsServer is a real hack intended really for
>> tests.  I
>>>>>> know I wrote it :).  Please don't use it in production.  You can write
>>>> your
>>>>>> own IMetricesConsumer to do whatever you want to with the metrics.
>>>>>> https://github.com/apache/ storm/blob/master/storm-core/
>>>>>> src/jvm/org/apache/storm/ metric/api/IMetricsConsumer. java
>>>>>> <https://github.com/apache/storm/blob/master/storm-core/
>>>> src/jvm/org/apache/storm/metric/api/IMetricsConsumer.java>
>>>>>> 
>>>>>> That is the correct way to get the data out.  If you want to write a
>>>>>> bridge to JMX for this that might work, but going directly to
>> telegraph
>>>>>> would probably be better. - Bobby
>>>>>> 
>>>>>>    On Thursday, October 6, 2016 1:43 PM, S G <
>>>> sg.online.em...@gmail.com>
>>>>>> wrote:
>>>>>> 
>>>>>> 
>>>>>>  Hi,
>>>>>> 
>>>>>> We want to use Telegraf (
>>>>>> https://github.com/influxdata/ telegraf/tree/master/plugins
>>>>>> <https://github.com/influxdata/telegraf/tree/master/plugins>) for
>>>> getting
>>>>>> storm's metrics.
>>>>>> 
>>>>>> But we do not want to add a HttpForwardingMetricsServer just to get
>> the
>>>>>> metrics and send them to telegraf.
>>>>>> 
>>>>>> Other option is to use Jolokia (https://jolokia.org/) that can read
>> JMX
>>>>>> and
>>>>>> write into telegraf.
>>>>>> 
>>>>>> Does storm report all its metrics (including those of custom
>>>> spouts/bolts)
>>>>>> into JMX?
>>>>>> Or spawning a HttpForwardingMetricsServer is the only option?
>>>>>> 
>>>>>> Thanks
>>>>>> SG
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>> 
>>>> 
>>> 
>> 
 

Reply via email to