Hi Nandika, We can add a Mbean that exposes similar functionality as explained by Nirmal. Would that help to achieve your requirement?
Regards, Gihan On Fri, Jun 10, 2016 at 10:08 AM, Nirmal Fernando <nir...@wso2.com> wrote: > Hi All, > > I actually used Carbon metrics and added few Mbeans to get the remaining > queue size etc. from the data publisher agent level and DAS level as part > of per tests we're doing for API-M Analytics. > > I think we could build upon these too. Please see the following diffs. > > Agent: > https://github.com/nirmal070125/carbon-analytics-common/commit/1375677fd2a39303e8cbaaea33c6a6a0cdd672dc > > DAS: > https://github.com/nirmal070125/carbon-analytics-common/commit/0d26ba4a6ac732b161584905ff3ecf7ae20fa53e > > On Fri, Jun 10, 2016 at 9:49 AM, Nandika Jayawardana <nand...@wso2.com> > wrote: > >> Hi Gihan, >> >> Do you guys have any plans to expose some MBeans for the DAS publisher. >> Consider a scenario where a user implements a stand-alone DAS publisher to >> publish a large data set ( Eg : archived log files ). In such a scenario, >> we need a way to monitor the progress and to know whether the client >> finished publishing the dataset to DAS. So having some MBeans would be >> really useful for publisher as well. >> >> Regards >> Nandika >> >> On Thu, Jun 9, 2016 at 7:10 PM, Isuru Perera <isu...@wso2.com> wrote: >> >>> Hi, >>> >>> On Thu, Jun 9, 2016 at 5:30 PM, Gihan Anuruddha <gi...@wso2.com> wrote: >>> >>>> Initially we thought about that. But then we decided to go with >>>> normal Mbean expose due following reasons. >>>> 1. To minimize depend on external repositories. >>>> >>> carbon-metrics is recommended for exposing these kind of values. DAS >>> already has carbon-metrics, so I don't think this is an issue. >>> >>>> 2. To list the analytics subdomain under org.wso2.carbon domain. >>>> >>> You can use a meaningful names metrics. You can use a common prefix >>> analytics metrics. >>> >>>> 3. I couldn't find a way to expose operations. >>>> >>> Instead of exposing operations, shall we try to use Gauges with some >>> formatted name with your parameters. For example, you can use following >>> names for getRemainingBufferCapacityInBytes(int tenantId) and >>> int getCurrentQueueSize(int tenantId). >>> >>> org.wso2.carbon.analytics.<tenant-id>.disruptor.remaining-buffer-size >>> org.wso2.carbon.analytics.<tenant-id>.disruptor.current-queue-size >>> >>> This will add more metrics, as there are gauges for every tenant. But I >>> think that should be fine. If you use Metrics, you can also get historical >>> data, which is very useful if you want to debug an issue happened in the >>> past (may be few mins ago). >>> >>> Even the metrics library is available these kinds of requirements. >>> Therefore I think we must use it and try to avoid implementing separate >>> MBeans for any requirements that can be done with Metrics. >>> >>> Thanks! >>> >>> >>> >>>> Regards, >>>> Gihan >>>> >>>> On Thu, Jun 9, 2016 at 5:09 PM, Isuru Perera <isu...@wso2.com> wrote: >>>> >>>>> Any reason for not using Carbon Metrics? >>>>> >>>>> On Thu, Jun 9, 2016 at 5:00 PM, Gihan Anuruddha <gi...@wso2.com> >>>>> 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). >>>>>> >>>>>> 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 >>>>>> Architecture@wso2.org >>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Isuru Perera >>>>> Associate Technical Lead | WSO2, Inc. | http://wso2.com/ >>>>> Lean . Enterprise . Middleware >>>>> >>>>> about.me/chrishantha >>>>> Contact: +IsuruPereraWSO2 >>>>> <https://www.google.com/+IsuruPereraWSO2/about> >>>>> >>>>> _______________________________________________ >>>>> Architecture mailing list >>>>> Architecture@wso2.org >>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>> >>>>> >>>> >>>> >>>> -- >>>> W.G. Gihan Anuruddha >>>> Senior Software Engineer | WSO2, Inc. >>>> M: +94772272595 >>>> >>>> _______________________________________________ >>>> Architecture mailing list >>>> Architecture@wso2.org >>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>> >>>> >>> >>> >>> -- >>> Isuru Perera >>> Associate Technical Lead | WSO2, Inc. | http://wso2.com/ >>> Lean . Enterprise . Middleware >>> >>> about.me/chrishantha >>> Contact: +IsuruPereraWSO2 >>> <https://www.google.com/+IsuruPereraWSO2/about> >>> >>> _______________________________________________ >>> Architecture mailing list >>> Architecture@wso2.org >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>> >>> >> >> >> -- >> Nandika Jayawardana >> WSO2 Inc ; http://wso2.com >> lean.enterprise.middleware >> >> _______________________________________________ >> Architecture mailing list >> Architecture@wso2.org >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > > Thanks & regards, > Nirmal > > Team Lead - WSO2 Machine Learner > Associate Technical Lead - Data Technologies Team, WSO2 Inc. > Mobile: +94715779733 > Blog: http://nirmalfdo.blogspot.com/ > > > -- W.G. Gihan Anuruddha Senior Software Engineer | WSO2, Inc. M: +94772272595
_______________________________________________ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture