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

Reply via email to