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 <[email protected]> wrote: > On Thu, Sep 7, 2017 at 7:30 PM, Denis Magda <[email protected]> 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? >
