+1 for this feature. The event priority is not statically defained by
its type, it also depends on on context in which event is generated.
for example STOP_CONTAINER event could be because of

- jvm issue/out of memory - This could be at much higher level
- All operators in containers have shutdown voluntary/or extra
container released - this could be at lower level.

- Tushar.



On Fri, Jan 20, 2017 at 12:32 AM, Sanjay Pujare <san...@datatorrent.com> wrote:
> Strong +1 for the reasons cited by Ajay and Hitesh.
>
> Do we really need to modify the EventInfo class? Wouldn’t the 
> BeanUtils.describe(event) automatically populate the EventLogLevel into 
> “data” (a Map<String, String>) as a property? All the downstream code 
> including the REST API will then just return the EventLogLevel as part of 
> JSONObject without making any changes, right?
>
> Another thing: these levels should ideally match the corresponding entries in 
> the dt.log file as some users might expect.
>
> On 1/19/17, 10:10 AM, "Hitesh Kapoor" <hit...@datatorrent.com> wrote:
>
>     +1 it will enhance the user experience and the approach suggested by Ajay
>     doesn't seems to add significant overhead. Also I feel that in future it
>     can be enhanced further and UI can also filter the event logs based on
>     these log levels.
>
>     On Jan 19, 2017 10:57 PM, "AJAY GUPTA" <ajaygit...@gmail.com> wrote:
>
>     > Current event log mechanism : The events recorded are currently 
> recorded in
>     > datatorrent/apps/{appid}/events/    folder in files named part{id}.txt .
>     > eg
>     > : datatorrent/apps/application_1483801541352_0003/events/part0.txt
>     >
>     > We can access these events via REST Api which returns the list of 
> events as
>     > List<EventInfo> objects.
>     >
>     >
>     > The below approach can be used for implementing this. Kindly let me know
>     > your viewpoints/suggestions on the approach.
>     >
>     > *Required Changes:*
>     >
>     > a) Add a enum field like EventLogLevel in StramEvent, assign the log 
> level
>     > in constructors of different Stram events like StartOperator,
>     > StartContainer, StopOperator, etc.
>     >
>     > b) Add eventLogLevel in EventInfo class. The events returned via REST 
> api
>     > from StramClient is a list of EventInfo objects.
>     >
>     > c) Changes in EventsAgent - processPartFile() method to parse the
>     > eventLogLevel logged into the part{id}.txt file
>     >
>     >
>     > On Thu, Jan 19, 2017 at 10:55 PM, AJAY GUPTA <ajaygit...@gmail.com> 
> wrote:
>     >
>     > > Hi Apex community,
>     > >
>     > >
>     > > Currently, events logged by stram such as StartContainer, 
> StartOperator,
>     > > StopContainer, StopOperator, etc dont have any associated priority 
> level.
>     > >
>     > > We can provide log levels for such Stram events. Log levels can be 
> INFO,
>     > > WARN, ERROR
>     > > Eg:
>     > > 1. Start Container, Start Operator are INFO level events
>     > > 2. OperatorError is ERROR level event
>     > > 3. Stop Container, Stop Operator are WARN level events
>     > >
>     > > Log level for events can help in user experience when showing the 
> event
>     > > list in a GUI. eg: In datatorrent gateway UI, we can provide 
> color-coded
>     > > log levels so that user can focus more on ERROR and WARN events.
>     > >
>     > >
>     > >
>     > >
>     > >
>     >
>
>
>

Reply via email to