Hi Aneela, At glace, there's some issues with your query. Is there a particular reason for you to use `group by milliseconds`? otherwise you shouldn't be group by such rapidly changing variable. And also, the count aggregate function does not require any parameters and it does not have to be casted in to int. Try the following query and see whether it works, if it doesn't can you provide us with sample data and stream definitions?, then we can test the query.
from FTPInStream[command == 'USER'] > select time:timestampInMilliseconds(time:dateAdd(str:replaceAll(ts,'T',' > '), 5, 'hour',"yyyy-MM-dd HH:mm:ss"),'yyyy-MM-dd HH:mm*:ss*') as > milliseconds , uid, id_orig_h, id_orig_p, id_resp_h, id_resp_p > insert into intermediateStream; > > from intermediateStream#window.externalTimeBatch( milliseconds ,1 min, > milliseconds, 1 min) > select time:dateFormat(milliseconds, 'yyyy-MM-dd HH:mm' ) as ts , count() as > ftp_requests > insert into FTPOutStream; Regards, Grainier On Tue, Aug 23, 2016 at 2:16 PM, Aneela Safdar <ansaf_...@yahoo.com> wrote: > Hi, > > I have been using following siddhi query to get the events count per > minute; ts as timestamp (string) and ftp_requests as count (int) > > from FTPInStream[command == 'USER'] > select time:timestampInMilliseconds(time:dateAdd(str:replaceAll(ts,'T',' > '), 5, 'hour',"yyyy-MM-dd HH:mm:ss"),'yyyy-MM-dd HH:mm') as milliseconds , > uid, id_orig_h, id_orig_p, id_resp_h, id_resp_p > insert into intermediateStream; > > from intermediateStream#window.externalTimeBatch( milliseconds ,1 min, > milliseconds, 1 min) > select time:dateFormat(milliseconds, 'yyyy-MM-dd HH:mm' ) as ts , > cast(count(milliseconds), 'int') as ftp_requests > group by milliseconds > insert into FTPOutStream; > > There is a need to populate ftp_requests parameter of FTPOutStream as > accumulative i.e. (each new no of requests is addition of itself and > previously added to stream). To achieve this I changed the query as below: > > from FTPInStream[command == 'USER'] > select time:timestampInMilliseconds(time:dateAdd(str:replaceAll(ts,'T',' > '), 5, 'hour',"yyyy-MM-dd HH:mm:ss"),'yyyy-MM-dd HH:mm') as milliseconds , > uid, id_orig_h, id_orig_p, id_resp_h, id_resp_p > insert into intermediateStream; > > from intermediateStream > select milliseconds, cast(count(milliseconds), 'int') as ftp_request > group by milliseconds > insert into intermediateStream111; > > from intermediateStream111#window.externalTimeBatch( milliseconds ,1 min, > milliseconds, 1 min) > select time:dateFormat(milliseconds, 'yyyy-MM-dd HH:mm' ) as ts , > cast(sum(ftp_request), 'int') as ftp_requests > insert into FTPOutStream; > > But I am getting nothing in ftp_requests parameter. > > Any suggestions? > > Regards, > Aneela Safdar > > _______________________________________________ > Dev mailing list > Dev@wso2.org > http://wso2.org/cgi-bin/mailman/listinfo/dev > > -- Grainier Perera Software Engineer Mobile : +94716122384 WSO2 Inc. | http://wso2.com lean.enterprise.middleware
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev