Adding dev list
On Sat, Mar 15, 2014 at 6:46 AM, Sumedha Rubasinghe <[email protected]>wrote: > Folks, > Move these into dev list.. :) .. > You get a far better visibility of the work being done. > > As a general rule of thumb, don't do private mails on technical stuff > unless you want to clarify something before discussing publicly (even this > can be done publicly. But sometime a simple clarification can save lot of > lengthy discussions on a public thread). > > > > > On Fri, Mar 14, 2014 at 12:34 PM, Uvindra Dias Jayasinha <[email protected] > > wrote: > >> Hi Asiri, >> >> As discussed here are the implementation details for you to get started >> >> *Intro:* >> >> Before you get started, note that you will encounter *DTO* classes in >> the APIM code base. DTO stands for *D*ata *T*ransport *O*bject. These >> classes are simply data structures used to pass data to and from functions. >> >> All the main changes will be done to the *APIUsageStatisticsClient*class. >> >> APIMGTSTATS_DB refers to the h2 stats DB in BAM. >> WSO2AM_DB refers to the API Manager DB. >> >> >> >> >> *Implementation details:Per App / Per API / Count* >> >> - As you already discovered we can use >> APIUsageStatisticsClient.getUsageByAPIs() function for this, but we will >> need to add the Application name to APIUsageDTO. >> - When we do this existing stat in the API publisher will not be >> affected, the new stat we are adding can access the Application name that >> was added to the APIUsageDTO. >> - The existing functionality of the >> APIUsageStatisticsClient.getUsageByAPIs() should not break in any way due >> to the changes that are done! The whole purpose is to reuse existing code >> without duplicating logic. >> >> >> *Per App / registered users* >> >> - DB: WSO2AM_DB, Tables: AM_APPLICATION, AM_SUBSCRIBER(Get the >> Application that the user has registered for from here) >> - Currently only the stats DB is being accessed in the >> APIUsageStatisticsClient via the dataSource member variable but this data >> is located in the AM_DB. Access the AM_DB connection by using the >> APIMgtDBUtil.getConnection() static function. >> >> *Per App / Per API / faulty count* >> >> - Reuse APIUsageStatisticsClient.getAPIResponseFaultCount(), but will >> need to add the Application name to APIResponseFaultCountDTO. >> - Again, make sure that existing functionality does not break. >> >> *Per App / Per API / call type* >> >> - DB: APIMGTSTATS_DB, Tables: API_RESOURCE_USAGE_SUMMARY(Get call >> types for an API from here) >> - DB: WSO2AM_DB, Tables: AM_SUBSCRIPTION(This has the relationship >> between Application and API) >> - Need to run two separate queries on each DB and combine the data >> >> *Per App / Top users* >> >> - DB: APIMGTSTATS, Tables: API_REQUEST_SUMMARY(Get the users who made >> the API calls from here) >> - DB: WSO2AM_DB, Tables: AM_APPLICATION, AM_SUBSCRIBER(Get the >> Application that the user has registered for from here) >> - Need to run two separate queries on each DB and combine the data >> and Filter by a parameterized top limit(in the same way that the >> getUsageByAPIs() does above, see how its done there) >> >> >> Add comments where appropriate to places that you make changes so that >> anyone can understand why(the reason) the change was done. We want reuse >> existing code as much as possible so keep that in mind as well. >> >> Please reply to this thread with any questions or clarifications that you >> need, don't assume anything, when in doubt ask. >> >> -- >> Regards, >> Uvindra >> >> Mobile: 777733962 >> > > > > -- > /sumedha > m: +94 773017743 > b : bit.ly/sumedha > -- Regards, Uvindra Mobile: 777733962
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
