@Cody - The design looks good. Does the design allow to aggregate metrics
at the task/executor level? Basically, number of distinct metrics is
proportional to the number of distinct tasks, did you ever run into such a
use case?


On Mon, Mar 21, 2016 at 8:46 PM, Cody Innowhere <e.neve...@gmail.com> wrote:

> Also, you can read the code from our latest release JStorm 2.1.1.
>
> On Mon, Mar 21, 2016 at 11:10 PM, Cody Innowhere <e.neve...@gmail.com>
> wrote:
>
> > @Jungtaek,
> > We did some tests on codahale metrics, compared to meters/histograms,
> > counters are quite fast. So we mainly focused on the optimization of
> meters
> > and histograms (they are indeed very slow) including double sampling,
> > changing the clock from ns (System.nanoTime) to ms, etc.
> > You can take a look at the
> > "com.alipay.dw.jstorm.example.sequence.bolt.TotalCount" class of our
> > sequence-split-merge example code, as the client code entry to metrics.
> > After that, you may dig to TopologyMaster class, which is still part of a
> > topology, and then to TopologyMetricsRunnable, which is a part of nimbus
> > server, finally to MetricUploader plugin, this is where the metrics
> > interfere with our "metrics server". Still, there're some nits in the
> code,
> > but I think that should be no big problem.
> >
> > I'd also like to point out that our "metrics server" is not strictly a
> > real metrics server, since most of the duty lies on nimbus server and
> > topology master, it's more appropriate to call it metrics storage. The
> main
> > reason for this is that we don't want to make a heavy-weight metrics
> server
> > out of JStorm, and this makes us very easy to maintain (we have teams
> that
> > specifically maintain HBase/OTS in Alibaba since they're so commonly used
> > in production).
> >
> > On Mon, Mar 21, 2016 at 10:54 PM, Jungtaek Lim <kabh...@gmail.com>
> wrote:
> >
> >> Thanks Cody and Bobby for the explanation.
> >>
> >> Cody,
> >> I took a look at design doc and looks promising, especially it doesn't
> do
> >> sampling when metric type is 'counter'. As far as I heard (I didn't try
> >> it)
> >> it becomes huge performance hit in Apache Storm when we change sample
> rate
> >> to 1.0.
> >> Could you guide the entry point of metric feature in JStorm to dig into?
> >>
> >> And just a curiosity, did you consider extracting metric feature (which
> is
> >> done with TopologyMasters and Nimbuses) into separate component?
> >> I understood your mention to 'metrics server' as separate component, but
> >> after seeing design doc, feature seems to be implemented on Nimbus.
> >>
> >> Thanks,
> >> Jungtaek Lim (HeartSaVioR)
> >>
> >> 2016년 3월 19일 (토) 오전 1:25, Cody Innowhere <e.neve...@gmail.com>님이 작성:
> >>
> >> > JStorm has provided a MetricUploader interface, which is similar to
> >> > IMetricsConsumer in storm, and the underlying implementation is
> >> pluggable,
> >> > you can use HBase, or any other KV store that supports timeline
> queries
> >> or
> >> > even a database(maybe for it's a small cluster). We provide model
> >> classes
> >> > in jstorm-core, as to what kinds of metrics data need to be stored,
> it's
> >> > totally up to the detailed implementation. Our internal implementation
> >> uses
> >> > OTS, which is a product of aliyun (
> https://www.aliyun.com/product/ots/
> >> ),
> >> > but it's easy to adapt to other implementations.
> >> >
> >> > On Fri, Mar 18, 2016 at 11:52 PM, Bobby Evans
> >> <ev...@yahoo-inc.com.invalid
> >> > >
> >> > wrote:
> >> >
> >> > > Yes we originally wanted to try and use the Hadoop Timeline Server
> for
> >> > > storm metrics feedback to nimbus + UI + history like server.  But it
> >> was
> >> > > not stable at the time, so we stopped.  For the sake of playing
> nicely
> >> > with
> >> > > the rest of the big data ecosystem I would like to see us support it
> >> as
> >> > an
> >> > > option for metrics collection/query, but until the timeline server
> v2
> >> is
> >> > > ready and released.  For me the important thing is that we have a
> >> decent
> >> > > time series DB that comes with storm by default and is pluggable so
> we
> >> > can
> >> > > replace it with something else that has similar capabilities in the
> >> > future.
> >> > >  - Bobby
> >> > >
> >> > >     On Friday, March 18, 2016 10:39 AM, Cody Innowhere <
> >> > > e.neve...@gmail.com> wrote:
> >> > >
> >> > >
> >> > >  It's actually in Phase 2 of porting JStorm, but I'm absolutely ok
> to
> >> > > discuss this in advance.
> >> > >
> >> > > On Fri, Mar 18, 2016 at 11:31 PM, Cody Innowhere <
> e.neve...@gmail.com
> >> >
> >> > > wrote:
> >> > >
> >> > > > Yes it's already in production.
> >> > > > The implementation basically follows the design document in
> >> > > > https://issues.apache.org/jira/browse/STORM-1329, you can take a
> >> look
> >> > > > first and feel free to ask questions.
> >> > > >
> >> > > > On Fri, Mar 18, 2016 at 10:19 PM, Jungtaek Lim <kabh...@gmail.com
> >
> >> > > wrote:
> >> > > >
> >> > > >> Hi,
> >> > > >>
> >> > > >> I got something to do with metrics so I'm seeking the pull
> requests
> >> > > which
> >> > > >> addresses metrics.
> >> > > >> And at #753 <https://github.com/apache/storm/pull/753> I found
> >> Cody
> >> > > said
> >> > > >> we
> >> > > >> (maybe it means Alibaba team) are currently working on Metrics
> >> Server.
> >> > > >> (I also found comment which said there was some talk while ago
> >> around
> >> > > >> integrating Hadoop timeline server. Seems like no one came up
> with
> >> the
> >> > > >> result, and I prefer to avoid big dependency so I'm in favor of
> >> > Metrics
> >> > > >> Server for now.)
> >> > > >>
> >> > > >> I think that would improve metrics feature of Storm much better,
> so
> >> > I'd
> >> > > >> like to see how the work is going. Sure it's only when there's no
> >> > issue
> >> > > >> for
> >> > > >> you to work transparently. I just would like to prevent
> >> duplication of
> >> > > >> work, and would like to help if needed and possible.
> >> > > >>
> >> > > >> Thanks,
> >> > > >> Jungtaek Lim (HeartSaVioR)
> >> > > >>
> >> > > >
> >> > > >
> >> > >
> >> > >
> >> > >
> >> > >
> >> >
> >>
> >
> >
>



-- 
Regards,
Abhishek Agarwal

Reply via email to