On Fri, Nov 20, 2015 at 5:20 PM, Isuru Perera <[email protected]> wrote:

> As I mentioned, in Tomcat Valve, we get some details from the User-Agent
> header.
>
> See following code from WebAppMonitoringPublisherValve.java
> <https://github.com/wso2/carbon-deployment/blob/master/components/monitoring/org.wso2.carbon.as.monitoring/src/main/java/org/wso2/carbon/as/monitoring/collector/http/WebAppMonitoringPublisherValve.java#L250-L256>
>
>
>
>
>
>
> *Client readableUserAgent =
> uaParser.parse(userAgent);webappMonitoringEvent.setUserAgentFamily(readableUserAgent.userAgent.family);webappMonitoringEvent.setUserAgentVersion(readableUserAgent.userAgent.major);webappMonitoringEvent.setOperatingSystem(readableUserAgent.os.family);webappMonitoringEvent.setOperatingSystemVersion(readableUserAgent.os.major);webappMonitoringEvent.setDeviceCategory(readableUserAgent.device.family);*
>
> We can access headers from Netty request, but the real question is whether
> the Microservices clients will send a User-Agent header similar to the
> header sent by a Browser.
>

Isuru,
If this is about client not setting header values, that problem has nothing
to do with MicroServices. right?
It can be the same for any JAX-RS hosted on AS.


>
> In the valve, other details are taken from the request object.
>
> With Netty, we should be able to get the remote address from the Netty
> Channel. However, I couldn't find a way to access the channel from our
> HTTPMonitoringInterceptor
> <https://github.com/wso2/product-mss/blob/v1.0.0-alpha/carbon-mss/components/org.wso2.carbon.mss/src/main/java/org/wso2/carbon/mss/httpmonitoring/HTTPMonitoringInterceptor.java>.
> In addition the Tomcat Value gets language and country from Locale
> <https://github.com/wso2/carbon-deployment/blob/master/components/monitoring/org.wso2.carbon.as.monitoring/src/main/java/org/wso2/carbon/as/monitoring/collector/http/WebAppMonitoringPublisherValve.java#L208-L209>.
>
>
> <https://github.com/wso2/product-mss/blob/v1.0.0-alpha/carbon-mss/components/org.wso2.carbon.mss/src/main/java/org/wso2/carbon/mss/httpmonitoring/HTTPMonitoringInterceptor.java>
>
> Even here, can we expect these details in Microservices context?
>
>
> On Fri, Nov 20, 2015 at 4:51 PM, Sagara Gunathunga <[email protected]>
> wrote:
>
>>
>> What we have in AS is not AS specific dashboard, it's a HTTP dashboard
>> and possible to use with anywhere related to HTTP monitoring. As we
>> discussed we need some sophisticated dashboards for MSS but
>> HTTP monitoring is something basic and essential for MSS as well,
>> HTTP monitoring is a very basic requirement for any service or app.
>>
>> As I understood current problem is,  it's not possible to extract some of
>> the HTTP request headers from Netty in order to render some parts of above
>> dashboard, IMHO we need to find a way to exact all HTTP headers from Netty.
>>
>> Can you list down list of required HTTP headers that we can't extract
>> from current API ?  May be Kasun can help out here.
>>
>> Thanks !
>>
>> On Fri, Nov 20, 2015 at 4:05 PM, Isuru Perera <[email protected]> wrote:
>>
>>> Hi all,
>>>
>>> For the MSS alpha release, we used the HTTP Monitoring Dashboard used in
>>> WSO2 AS product and we implemented an HTTP Monitoring Interceptor for MSS
>>> [1].
>>>
>>> However, with MSS we don't get all data required by the standard HTTP
>>> Monitoring Dashboard. For example, in the Tomcat Valve for AS [2], we have
>>> used the User-Agent header to get client details (Browser, OS & Device).
>>> The Tomcat Request object has all other necessary details (Remote IP,
>>> Locale etc)
>>>
>>> In our interceptor [3], we use the Netty HTTP Request object and the
>>> Java Reflection details to get details for the monitoring event.
>>>
>>> Since these details are not enough for the HTTP Monitoring Dashboard, we
>>> need to think of using an MSS specific dashboard.
>>>
>>> WDYT?
>>>
>>> With regarding to Metrics annotations, we have to create some gadgets in
>>> DAS. We need to have a discussion on this.
>>>
>>> Thanks!
>>>
>>> Best Regards,
>>>
>>> [1] https://github.com/wso2/product-mss/pull/31
>>> [2]
>>> https://github.com/wso2/carbon-deployment/blob/master/components/monitoring/org.wso2.carbon.as.monitoring/src/main/java/org/wso2/carbon/as/monitoring/collector/http/WebAppMonitoringPublisherValve.java
>>> [3]
>>> https://github.com/wso2/product-mss/blob/v1.0.0-alpha/carbon-mss/components/org.wso2.carbon.mss/src/main/java/org/wso2/carbon/mss/httpmonitoring/HTTPMonitoringInterceptor.java
>>>
>>> --
>>> Isuru Perera
>>> Associate Technical Lead | WSO2, Inc. | http://wso2.com/
>>> Lean . Enterprise . Middleware
>>>
>>> about.me/chrishantha
>>> Contact: +IsuruPereraWSO2
>>> <https://www.google.com/+IsuruPereraWSO2/about>
>>>
>>
>>
>>
>> --
>> Sagara Gunathunga
>>
>> Architect; WSO2, Inc.;  http://wso2.com
>> V.P Apache Web Services;    http://ws.apache.org/
>> Linkedin; http://www.linkedin.com/in/ssagara
>> Blog ;  http://ssagara.blogspot.com
>>
>>
>
>
> --
> Isuru Perera
> Associate Technical Lead | WSO2, Inc. | http://wso2.com/
> Lean . Enterprise . Middleware
>
> about.me/chrishantha
> Contact: +IsuruPereraWSO2 <https://www.google.com/+IsuruPereraWSO2/about>
>



-- 
/sumedha
m: +94 773017743
b :  bit.ly/sumedha
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to