On Mon, Nov 23, 2015 at 10:59 AM, Sumedha Rubasinghe <[email protected]>
wrote:

>
>
> 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.
>

Yes, here nothing to do with Microservices, even in same dashboard under AS
context won't work in case client don't send those headers and we really
can't do anything further.

Thanks !

>
>
>>
>> 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
>



-- 
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
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to