Re: [Dev] [GSoC-2015] Showing health statistics in GUI
Great work Ashan. On Thu, Jul 9, 2015 at 2:39 PM, Ashan Dhananjaya wrote: > Hi All, > > I was able to take the timestamp from the cartridge agent > (WSO2CEPHealthStatisticsPublisher and WSO2CEPInFlightRequestPublisher) to > CEP PayLoad definition.Git Hub commits can be found here[1], [2]. Currently > working on sending the timestamp to the RDBMS without conflicting execution > plans. > > I have included the read-me [2] file to the cep extensions how to > configure should happen for the Health Stat publishing to the RDBMS. > > [1]= > https://github.com/apache/stratos/commit/4c65e705be822fd420b4e48ebafef789c8686b76 > [2]= > https://github.com/apache/stratos/commit/e09334cd98f245a4633c992f02db2878ac24d3d0 > [3]= > https://github.com/apache/stratos/commit/5ca895ef030f6aaeba56183d982aa5ae95db9337 > > Thank You! > Best Regards, > Ashan > > On Tue, Jul 7, 2015 at 1:13 PM, Lasantha Fernando > wrote: > >> Hi Ashan, >> >> Currently, you would not be able to get the timestamp out of the event >> unless you use a databridge agent callback. In that case, you can use >> Java code to simply get by calling event.getTimestamp(). >> >> However, if you want to use the timestamp as an attribute while doing >> processing within CEP, you would have to pass the timestamp as an >> attribute of the stream. i.e. add it as an attribute of either meta, >> correlation or payload data. Then you can use that timestamp and >> format the output event as necessary. >> >> Thanks, >> Lasantha >> >> On Tue, Jul 7, 2015 at 1:04 PM, Ashan Dhananjaya >> wrote: >> > Hi All, >> > >> > I applied the above patch and get the timestamp in the Input Adapter. >> The >> > formatter i used was "member_average_memory_consumption_stats:1.0.0". I >> > tried several time to get the timeStamp attribute but failed. Is there >> any >> > way to get a data which is outside in the payload? The Input stream is >> as >> > below, >> > >> > 10:40:27,757 [-] [DataBridge-Core-pool-2-thread-1] INFO TenantId=-1234 >> : >> > Input Event Adaptor : DefaultWSO2EventInputAdaptor, received >> > >> > Event{ >> > streamId='cartridge_agent_health_stats:1.0.0', >> > timeStamp=1436245827731, >> > metaData=null, >> > correlationData=null, >> > payloadData=[single-cartridge-app.my-php.php.domain, >> > single-cartridge-app-1, network-partition-1, >> > >> single-cartridge-app.my-php.php.domaina5598e2b-995f-4620-b652-e66341e24c99, >> > partition-1, memory_consumption, 20.0], >> > arbitraryDataMap={}, >> > } >> > >> > Any help will be really appreciated. >> > >> > Thank You! >> > Best Regards, >> > Ashan >> > >> > On Tue, Jul 7, 2015 at 9:32 AM, Chamila De Alwis >> wrote: >> >> >> >> Hi Ashan, >> >> >> >> As I've seen from the PCA testing recently, the timestamp is added to >> >> every ThriftEvent before publishing. Are you working on PCA or the Mock >> >> IaaS? I took a look at the Mock IaaS and the >> WSO2CEPStatisticsPublisher as >> >> well, and found out that the latter indeed doesn't add the timestamp >> to the >> >> ThriftEvents. This means that the JCA also publishes Thrift Events with >> >> empty timestamp fields. >> >> >> >> Following is the simple fix for that. I've attached the patch herewith. >> >> Could you quickly verify with the patch applied build also? >> >> >> >> chamilad@chamilad-ThinkPad-T530:~/dev/stratos[master *]$ git diff >> >> diff --git >> >> >> a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/wso2/cep/WSO2CEPStatisticsPublisher.java >> >> b/c >> >> index 653288d..f1fe426 100644 >> >> --- >> >> >> a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/wso2/cep/WSO2CEPStatisticsPublisher.java >> >> +++ >> >> >> b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/wso2/cep/WSO2CEPStatisticsPublisher.java >> >> @@ -29,6 +29,7 @@ import >> >> org.wso2.carbon.databridge.agent.thrift.exception.AgentException; >> >> import org.wso2.carbon.databridge.commons.Event; >> >> import org.wso2.carbon.databridge.commons.StreamDefinition; >> >> >> >> +import java.util.Date; >> >> import java.util.HashMap; >> >> >> >> /** >> >> @@ -98,6 +99,7 @@ public class WSO2CEPStatisticsPublisher implements >> >> StatisticsPublisher { >> >> >> >> Event event = new Event(); >> >> event.setPayloadData(payload); >> >> +event.setTimeStamp(new Date().getTime()); >> >> event.setArbitraryDataMap(new HashMap()); >> >> >> >> try { >> >> >> >> >> >> >> >> >> >> >> >> Regards, >> >> Chamila de Alwis >> >> Committer and PMC Member - Apache Stratos >> >> Software Engineer | WSO2 | +94772207163 >> >> Blog: code.chamiladealwis.com >> >> >> >> >> > >> > > -- -- Lahiru Sandaruwan Committer and PMC member, Apache Stratos, Senior Software Engineer, WSO2 Inc., http://wso2.com lean.enterprise.middleware phone: +94773325954 email: lahi...@wso2.com blog: http://lahiruwrites.blogspot.com/ linked-in: http://
Re: [Dev] [GSoC-2015] Showing health statistics in GUI
Hi All, I was able to take the timestamp from the cartridge agent (WSO2CEPHealthStatisticsPublisher and WSO2CEPInFlightRequestPublisher) to CEP PayLoad definition.Git Hub commits can be found here[1], [2]. Currently working on sending the timestamp to the RDBMS without conflicting execution plans. I have included the read-me [2] file to the cep extensions how to configure should happen for the Health Stat publishing to the RDBMS. [1]= https://github.com/apache/stratos/commit/4c65e705be822fd420b4e48ebafef789c8686b76 [2]= https://github.com/apache/stratos/commit/e09334cd98f245a4633c992f02db2878ac24d3d0 [3]= https://github.com/apache/stratos/commit/5ca895ef030f6aaeba56183d982aa5ae95db9337 Thank You! Best Regards, Ashan On Tue, Jul 7, 2015 at 1:13 PM, Lasantha Fernando wrote: > Hi Ashan, > > Currently, you would not be able to get the timestamp out of the event > unless you use a databridge agent callback. In that case, you can use > Java code to simply get by calling event.getTimestamp(). > > However, if you want to use the timestamp as an attribute while doing > processing within CEP, you would have to pass the timestamp as an > attribute of the stream. i.e. add it as an attribute of either meta, > correlation or payload data. Then you can use that timestamp and > format the output event as necessary. > > Thanks, > Lasantha > > On Tue, Jul 7, 2015 at 1:04 PM, Ashan Dhananjaya > wrote: > > Hi All, > > > > I applied the above patch and get the timestamp in the Input Adapter. The > > formatter i used was "member_average_memory_consumption_stats:1.0.0". I > > tried several time to get the timeStamp attribute but failed. Is there > any > > way to get a data which is outside in the payload? The Input stream is as > > below, > > > > 10:40:27,757 [-] [DataBridge-Core-pool-2-thread-1] INFO TenantId=-1234 : > > Input Event Adaptor : DefaultWSO2EventInputAdaptor, received > > > > Event{ > > streamId='cartridge_agent_health_stats:1.0.0', > > timeStamp=1436245827731, > > metaData=null, > > correlationData=null, > > payloadData=[single-cartridge-app.my-php.php.domain, > > single-cartridge-app-1, network-partition-1, > > > single-cartridge-app.my-php.php.domaina5598e2b-995f-4620-b652-e66341e24c99, > > partition-1, memory_consumption, 20.0], > > arbitraryDataMap={}, > > } > > > > Any help will be really appreciated. > > > > Thank You! > > Best Regards, > > Ashan > > > > On Tue, Jul 7, 2015 at 9:32 AM, Chamila De Alwis > wrote: > >> > >> Hi Ashan, > >> > >> As I've seen from the PCA testing recently, the timestamp is added to > >> every ThriftEvent before publishing. Are you working on PCA or the Mock > >> IaaS? I took a look at the Mock IaaS and the WSO2CEPStatisticsPublisher > as > >> well, and found out that the latter indeed doesn't add the timestamp to > the > >> ThriftEvents. This means that the JCA also publishes Thrift Events with > >> empty timestamp fields. > >> > >> Following is the simple fix for that. I've attached the patch herewith. > >> Could you quickly verify with the patch applied build also? > >> > >> chamilad@chamilad-ThinkPad-T530:~/dev/stratos[master *]$ git diff > >> diff --git > >> > a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/wso2/cep/WSO2CEPStatisticsPublisher.java > >> b/c > >> index 653288d..f1fe426 100644 > >> --- > >> > a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/wso2/cep/WSO2CEPStatisticsPublisher.java > >> +++ > >> > b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/wso2/cep/WSO2CEPStatisticsPublisher.java > >> @@ -29,6 +29,7 @@ import > >> org.wso2.carbon.databridge.agent.thrift.exception.AgentException; > >> import org.wso2.carbon.databridge.commons.Event; > >> import org.wso2.carbon.databridge.commons.StreamDefinition; > >> > >> +import java.util.Date; > >> import java.util.HashMap; > >> > >> /** > >> @@ -98,6 +99,7 @@ public class WSO2CEPStatisticsPublisher implements > >> StatisticsPublisher { > >> > >> Event event = new Event(); > >> event.setPayloadData(payload); > >> +event.setTimeStamp(new Date().getTime()); > >> event.setArbitraryDataMap(new HashMap()); > >> > >> try { > >> > >> > >> > >> > >> > >> Regards, > >> Chamila de Alwis > >> Committer and PMC Member - Apache Stratos > >> Software Engineer | WSO2 | +94772207163 > >> Blog: code.chamiladealwis.com > >> > >> > > > ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev
Re: [Dev] [GSoC-2015] Showing health statistics in GUI
Hi All, I applied the above patch and get the timestamp in the Input Adapter. The formatter i used was "member_average_memory_consumption_stats:1.0.0". I tried several time to get the timeStamp attribute but failed. Is there any way to get a data which is outside in the payload? The Input stream is as below, 10:40:27,757 [-] [DataBridge-Core-pool-2-thread-1] INFO TenantId=-1234 : Input Event Adaptor : DefaultWSO2EventInputAdaptor, received Event{ streamId='cartridge_agent_health_stats:1.0.0', timeStamp=1436245827731, metaData=null, correlationData=null, payloadData=[single-cartridge-app.my-php.php.domain, single-cartridge-app-1, network-partition-1, single-cartridge-app.my-php.php.domaina5598e2b-995f-4620-b652-e66341e24c99, partition-1, memory_consumption, 20.0], arbitraryDataMap={}, } Any help will be really appreciated. Thank You! Best Regards, Ashan On Tue, Jul 7, 2015 at 9:32 AM, Chamila De Alwis wrote: > Hi Ashan, > > As I've seen from the PCA testing recently, the timestamp is added to > every ThriftEvent before publishing. Are you working on PCA or the Mock > IaaS? I took a look at the Mock IaaS and the WSO2CEPStatisticsPublisher as > well, and found out that the latter indeed doesn't add the timestamp to the > ThriftEvents. This means that the JCA also publishes Thrift Events with > empty timestamp fields. > > Following is the simple fix for that. I've attached the patch herewith. > Could you quickly verify with the patch applied build also? > > chamilad@chamilad-ThinkPad-T530:~/dev/stratos[master *]$ git diff > diff --git > a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/wso2/cep/WSO2CEPStatisticsPublisher.java > b/c > index 653288d..f1fe426 100644 > --- > a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/wso2/cep/WSO2CEPStatisticsPublisher.java > +++ > b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/statistics/publisher/wso2/cep/WSO2CEPStatisticsPublisher.java > @@ -29,6 +29,7 @@ import > org.wso2.carbon.databridge.agent.thrift.exception.AgentException; > import org.wso2.carbon.databridge.commons.Event; > import org.wso2.carbon.databridge.commons.StreamDefinition; > > +import java.util.Date; > import java.util.HashMap; > > /** > @@ -98,6 +99,7 @@ public class WSO2CEPStatisticsPublisher implements > StatisticsPublisher { > > Event event = new Event(); > event.setPayloadData(payload); > *+event.setTimeStamp(new Date().getTime());* > event.setArbitraryDataMap(new HashMap()); > > try { > > > > > > Regards, > Chamila de Alwis > Committer and PMC Member - Apache Stratos > Software Engineer | WSO2 | +94772207163 > Blog: code.chamiladealwis.com > > > ___ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev