diff --git a/hystrix-examples-webapp/build.gradle b/hystrix-examples-webapp/build.gradle
new file mode 100644
index 000000000..f2996bc70
--- /dev/null
+++ b/hystrix-examples-webapp/build.gradle
@@ -0,0 +1,10 @@
+apply plugin: 'java'
+apply plugin: 'war'
+apply plugin: 'eclipse-wtp'
+
+ dependencies {
+ compile project(':hystrix-core')
+ compile project(':hystrix-examples')
+ compile project(':hystrix-contrib:hystrix-request-servlet')
+ compile project(':hystrix-contrib:hystrix-metrics-event-stream')
+ }
diff --git a/hystrix-examples-webapp/src/main/webapp/WEB-INF/classes/log4j.properties b/hystrix-examples-webapp/src/main/webapp/WEB-INF/classes/log4j.properties
new file mode 100644
index 000000000..91374f670
--- /dev/null
+++ b/hystrix-examples-webapp/src/main/webapp/WEB-INF/classes/log4j.properties
@@ -0,0 +1,6 @@
+log4j.rootLogger=INFO, FILE
+log4j.appender.FILE=org.apache.log4j.ConsoleAppender
+log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
+log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p %C:%L [%C{1}] [%M]: %m%n
+
+log4j.appender.FILE.httpclient=ERROR
diff --git a/hystrix-examples-webapp/src/main/webapp/WEB-INF/web.xml b/hystrix-examples-webapp/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 000000000..42a1c74e0
--- /dev/null
+++ b/hystrix-examples-webapp/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,39 @@
+
+
+ The following is the output of HystrixRequestLog.getCurrentRequest().getExecutedCommandsAsString() after simulating the execution of several commands. +
++ The simulation code is in com.netflix.hystrix.examples.demo.HystrixCommandDemo. +
+ <%@ page import="com.netflix.hystrix.examples.demo.HystrixCommandDemo, com.netflix.hystrix.HystrixRequestLog" %> + <% + new HystrixCommandDemo().executeSimulatedUserRequestForOrderConfirmationAndCreditCardPayment(); + %> ++ This request log is also part of the HTTP response header with key name "X-HystrixLog". +
++ You can view the realtime stream at ./hystrix.stream. +
++ To see the realtime stream change over time execute the following (with correct hostname, port etc) to keep accessing the webapp while watching the stream and you will see the metrics change: +
++ while true ; do curl "http://localhost:8080/hystrix-examples-webapp"; done ++
+ The configuration of Hystrix for this functionality is done in web.xml as follows: +
++ <filter> + <display-name>HystrixRequestContextServletFilter</display-name> + <filter-name>HystrixRequestContextServletFilter</filter-name> + <filter-class>com.netflix.hystrix.contrib.requestservlet.HystrixRequestContextServletFilter</filter-class> + </filter> + <filter-mapping> + <filter-name>HystrixRequestContextServletFilter</filter-name> + <url-pattern>/*</url-pattern> + </filter-mapping> + + <filter> + <display-name>HystrixRequestLogViaResponseHeaderServletFilter</display-name> + <filter-name>HystrixRequestLogViaResponseHeaderServletFilter</filter-name> + <filter-class>com.netflix.hystrix.contrib.requestservlet.HystrixRequestLogViaResponseHeaderServletFilter</filter-class> + </filter> + <filter-mapping> + <filter-name>HystrixRequestLogViaResponseHeaderServletFilter</filter-name> + <url-pattern>/*</url-pattern> + </filter-mapping> + + <servlet> + <description></description> + <display-name>HystrixMetricsStreamServlet</display-name> + <servlet-name>HystrixMetricsStreamServlet</servlet-name> + <servlet-class>com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet</servlet-class> + </servlet> + + <servlet-mapping> + <servlet-name>HystrixMetricsStreamServlet</servlet-name> + <url-pattern>/hystrix.stream</url-pattern> + </servlet-mapping> ++ +