Gihan and everyone

If you use metrics, you get other benefits such as some default charts,
ability to send it to DAS, log level control etc, configuration consistency
across platform etc.

If there is something missing in metrics, let's fix it. But we MUST not
create parallel things.

--Srinath


On Mon, Jun 13, 2016 at 5:32 PM, Gihan Anuruddha <[email protected]> wrote:

> ​IMO we can achieve high performance using AtomicLong. We will try to do a
> load test and see whether this cause a drastic performance degradation. If
> it's happening will try your suggestion.
>
> On Mon, Jun 13, 2016 at 12:34 PM, Maninda Edirisooriya <[email protected]>
> wrote:
>
>>
>> On Thu, Jun 9, 2016 at 5:00 PM, Gihan Anuruddha <[email protected]> wrote:
>>
>>> Hi All,
>>>
>>> We have added a couple of MBeans for DAS to expose some debug level
>>> information. These Mbeans will list under org.wso2.carbon.analytics
>>> subdomain.
>>>
>>> EVENT_COUNTER [int getCurrentCount()]- This will count all the events
>>> that received to DAS regardless of steam or tenant. We want to add this per
>>> tenant per stream. But in order to do that we need to add a Map to
>>> event persistence path and that might add extra delay to the event saving
>>> critical path. Because of that we thought of adding only a counter (
>>> AtomicLong).
>>>
>>
>> Will that atomic counter effect the concurrent performance of event
>> receiving, as all the threads has to wait to increment it in each event /
>> event chunk. May be we can maintain a thread local variable in each thread
>> and increment the atomic variable time to time which may anyway effect the
>> accuracy of the MBean.
>>
>>>
>>> RECEIVER_REMAINING_QUEUE_BUFFER_SIZE_IN_BYTES
>>> ​[
>>> long getRemainingBufferCapacityInBytes(int tenantId),
>>> int getCurrentQueueSize(int tenantId)]​
>>> ​ - ​You can use this Mbean to get remaining buffer size in disruptor and
>>> current queue size.
>>>
>>> LAST_PROCESSED_TIMESTAMP[long getLastProcessedTimestamp(int tenantId,
>>> String id, boolean primary)]
>>> ​ - This will return last saved incremental processed timestamp for
>>> given spark table.
>>>
>>> ANALYTICS_SCRIPT_LAST_EXECUTION_START_TIME[long
>>> getScriptLastExecutionStartTime(int tenantId, String scriptName)]
>>> ​ - This will return latest execution start time of the given Spark
>>> script.
>>>
>>> ​Please let me know any other information that you think better expose
>>> through Mbeans.
>>>
>>> Regards,
>>> Gihan
>>>
>>> --
>>> W.G. Gihan Anuruddha
>>> Senior Software Engineer | WSO2, Inc.
>>> M: +94772272595
>>>
>>> _______________________________________________
>>> Architecture mailing list
>>> [email protected]
>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>
>>>
>>
>
>
> --
> W.G. Gihan Anuruddha
> Senior Software Engineer | WSO2, Inc.
> M: +94772272595
>
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
============================
Srinath Perera, Ph.D.
   http://people.apache.org/~hemapani/
   http://srinathsview.blogspot.com/
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to