ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Valentin Kulichenko <valentin.kuliche...@gmail.com>
Subject Re: Annoying extra steps for enabling metrics
Date Fri, 08 Sep 2017 04:02:28 GMT
First of all, these are events, not metrics, and to my knowledge Ignite
itself does not expose any metrics that depend on events. The fact that Web
Console (or any other tool) uses events to track and show something is a
different story.

Events API has two parts: listening (one simply registers a listener which
is invoked every time an event is fired) and querying (all events are
stored somewhere and one can query events that happened in the past).

All events are disabled by default for performance reasons, so to listen
for an event you need to enable it via includeEventTypes property. Event
storage is also disabled by default, because if you only listen but never
query, the storage would be a waste memory.

I believe the default behavior is correct. But on the other hand, usability
of Web Console obviously suffers. I think we should do the following to
solve this:
  - Add an ability to enable event storage dynamically. BTW, ability to
enable/disable events in runtime already exists.
  - Use the above in Web Console. I.e., it would dynamically enable
required events and event storage on first connect to the cluster.

This way Web Console will work seamlessly without requiring additional
explicit config changes.

-Val

On Thu, Sep 7, 2017 at 7:34 PM Dmitriy Setrakyan <dsetrakyan@apache.org>
wrote:

> On Thu, Sep 7, 2017 at 7:30 PM, Denis Magda <dmagda@apache.org> wrote:
>
> > My point is different. Before I had to do this only assuming that “Ignite
> > will spend 99%” sending events:
> >
> >
> >         <property name="includeEventTypes">
> >             <list>
> >                 <!--Task execution events-->
> >                 <util:constant static-field="org.apache.
> > ignite.events.EventType.EVT_TASK_STARTED"/>
> >                 <util:constant static-field="org.apache.
> > ignite.events.EventType.EVT_TASK_FINISHED"/>
> >                 <util:constant static-field="org.apache.
> > ignite.events.EventType.EVT_TASK_FAILED"/>
> >                 <util:constant static-field="org.apache.
> > ignite.events.EventType.EVT_TASK_TIMEDOUT"/>
> >             </list>
> >         </property>
> >
> > Now the platform forces me to do that (probably thinking that I’m crazy
> if
> > I want to waste resources for metrics and giving one more change to
> > contemplate the decision):
> >
> >         <property name="eventStorageSpi">
> >            <bean class="org.apache.ignite.spi.eventstorage.memory.
> > MemoryEventStorageSpi"/>
> >        </property>
> >
> > Does the issue make sense to you know?
> >
>
> I understand now. Why did we change this behavior? Can someone comment?
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message