gateway cloud
This commit is contained in:
parent
0b0d6f4b49
commit
863339f4fd
@ -15,11 +15,11 @@ import java.util.List;
|
|||||||
* @author fangzhipeng
|
* @author fangzhipeng
|
||||||
* create 2018-11-16
|
* create 2018-11-16
|
||||||
**/
|
**/
|
||||||
public class ElapsedGatewayFilterFactory extends AbstractGatewayFilterFactory<ElapsedGatewayFilterFactory.Config> {
|
public class RequestTimeGatewayFilterFactory extends AbstractGatewayFilterFactory<RequestTimeGatewayFilterFactory.Config> {
|
||||||
|
|
||||||
|
|
||||||
private static final Log log = LogFactory.getLog(GatewayFilter.class);
|
private static final Log log = LogFactory.getLog(GatewayFilter.class);
|
||||||
private static final String ELAPSED_TIME_BEGIN = "elapsedTimeBegin";
|
private static final String REQUEST_TIME_BEGIN = "requestTimeBegin";
|
||||||
private static final String KEY = "withParams";
|
private static final String KEY = "withParams";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -27,17 +27,17 @@ public class ElapsedGatewayFilterFactory extends AbstractGatewayFilterFactory<El
|
|||||||
return Arrays.asList(KEY);
|
return Arrays.asList(KEY);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ElapsedGatewayFilterFactory() {
|
public RequestTimeGatewayFilterFactory() {
|
||||||
super(Config.class);
|
super(Config.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public GatewayFilter apply(Config config) {
|
public GatewayFilter apply(Config config) {
|
||||||
return (exchange, chain) -> {
|
return (exchange, chain) -> {
|
||||||
exchange.getAttributes().put(ELAPSED_TIME_BEGIN, System.currentTimeMillis());
|
exchange.getAttributes().put(REQUEST_TIME_BEGIN, System.currentTimeMillis());
|
||||||
return chain.filter(exchange).then(
|
return chain.filter(exchange).then(
|
||||||
Mono.fromRunnable(() -> {
|
Mono.fromRunnable(() -> {
|
||||||
Long startTime = exchange.getAttribute(ELAPSED_TIME_BEGIN);
|
Long startTime = exchange.getAttribute(REQUEST_TIME_BEGIN);
|
||||||
if (startTime != null) {
|
if (startTime != null) {
|
||||||
StringBuilder sb = new StringBuilder(exchange.getRequest().getURI().getRawPath())
|
StringBuilder sb = new StringBuilder(exchange.getRequest().getURI().getRawPath())
|
||||||
.append(": ")
|
.append(": ")
|
@ -14,7 +14,7 @@ public class ServiceGatewayApplication {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public ElapsedGatewayFilterFactory elapsedGatewayFilterFactory() {
|
public RequestTimeGatewayFilterFactory requestTimeGatewayFilterFactory() {
|
||||||
return new ElapsedGatewayFilterFactory();
|
return new RequestTimeGatewayFilterFactory();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@ spring:
|
|||||||
gateway:
|
gateway:
|
||||||
discovery:
|
discovery:
|
||||||
locator:
|
locator:
|
||||||
enabled: true
|
enabled: false
|
||||||
lowerCaseServiceId: true
|
lowerCaseServiceId: true
|
||||||
routes:
|
routes:
|
||||||
- id: service-hi
|
- id: service-hi
|
||||||
@ -17,7 +17,7 @@ spring:
|
|||||||
- Path=/demo/**
|
- Path=/demo/**
|
||||||
filters:
|
filters:
|
||||||
- StripPrefix=1
|
- StripPrefix=1
|
||||||
- Elapsed=false
|
- RequestTime=true
|
||||||
|
|
||||||
eureka:
|
eureka:
|
||||||
client:
|
client:
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
<file leaf-file-name="application.yml" pinned="false" current-in-tab="false">
|
<file leaf-file-name="application.yml" pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/src/main/resources/application.yml">
|
<entry file="file://$PROJECT_DIR$/src/main/resources/application.yml">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="1160">
|
<state relative-caret-position="1425">
|
||||||
<caret line="57" column="30" selection-start-line="57" selection-start-column="30" selection-end-line="57" selection-end-column="30" />
|
<caret line="57" column="30" selection-start-line="57" selection-start-column="30" selection-end-line="57" selection-end-column="30" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
@ -33,7 +33,7 @@
|
|||||||
<file leaf-file-name="RequestTimeFilter.java" pinned="false" current-in-tab="false">
|
<file leaf-file-name="RequestTimeFilter.java" pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/src/main/java/gateway/RequestTimeFilter.java">
|
<entry file="file://$PROJECT_DIR$/src/main/java/gateway/RequestTimeFilter.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="236">
|
<state relative-caret-position="250">
|
||||||
<caret line="16" selection-start-line="16" selection-end-line="42" />
|
<caret line="16" selection-start-line="16" selection-end-line="42" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="imports" expanded="true" />
|
<element signature="imports" expanded="true" />
|
||||||
@ -46,7 +46,7 @@
|
|||||||
<entry file="file://$PROJECT_DIR$/src/main/java/gateway/Application.java">
|
<entry file="file://$PROJECT_DIR$/src/main/java/gateway/Application.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="535">
|
<state relative-caret-position="535">
|
||||||
<caret line="33" column="39" lean-forward="true" selection-start-line="33" selection-start-column="39" selection-end-line="33" selection-end-column="39" />
|
<caret line="33" column="39" selection-start-line="33" selection-start-column="39" selection-end-line="33" selection-end-column="39" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="imports" expanded="true" />
|
<element signature="imports" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
@ -57,8 +57,8 @@
|
|||||||
<file leaf-file-name="RequestTimeGatewayFilterFactory.java" pinned="false" current-in-tab="false">
|
<file leaf-file-name="RequestTimeGatewayFilterFactory.java" pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/src/main/java/gateway/RequestTimeGatewayFilterFactory.java">
|
<entry file="file://$PROJECT_DIR$/src/main/java/gateway/RequestTimeGatewayFilterFactory.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="910">
|
<state relative-caret-position="1475">
|
||||||
<caret line="74" lean-forward="true" selection-start-line="17" selection-end-line="74" />
|
<caret line="74" selection-start-line="17" selection-end-line="74" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="imports" expanded="true" />
|
<element signature="imports" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
@ -69,8 +69,8 @@
|
|||||||
<file leaf-file-name="TokenFilter.java" pinned="false" current-in-tab="false">
|
<file leaf-file-name="TokenFilter.java" pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/src/main/java/gateway/TokenFilter.java">
|
<entry file="file://$PROJECT_DIR$/src/main/java/gateway/TokenFilter.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="836">
|
<state relative-caret-position="750">
|
||||||
<caret line="39" lean-forward="true" selection-start-line="39" selection-end-line="39" />
|
<caret line="39" selection-start-line="39" selection-end-line="39" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="imports" expanded="true" />
|
<element signature="imports" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
@ -338,15 +338,15 @@
|
|||||||
<workItem from="1542336268089" duration="14707000" />
|
<workItem from="1542336268089" duration="14707000" />
|
||||||
<workItem from="1542590814451" duration="1435000" />
|
<workItem from="1542590814451" duration="1435000" />
|
||||||
<workItem from="1542614548057" duration="1106000" />
|
<workItem from="1542614548057" duration="1106000" />
|
||||||
|
<workItem from="1542703235158" duration="178000" />
|
||||||
</task>
|
</task>
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
<component name="TimeTrackingManager">
|
<component name="TimeTrackingManager">
|
||||||
<option name="totallyTimeSpent" value="48478000" />
|
<option name="totallyTimeSpent" value="48656000" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ToolWindowManager">
|
<component name="ToolWindowManager">
|
||||||
<frame x="-8" y="-8" width="1936" height="1176" extended-state="6" />
|
<frame x="-8" y="-8" width="1936" height="1176" extended-state="6" />
|
||||||
<editor active="true" />
|
|
||||||
<layout>
|
<layout>
|
||||||
<window_info anchor="right" id="Palette" order="3" />
|
<window_info anchor="right" id="Palette" order="3" />
|
||||||
<window_info anchor="bottom" id="TODO" order="6" />
|
<window_info anchor="bottom" id="TODO" order="6" />
|
||||||
@ -356,8 +356,8 @@
|
|||||||
<window_info anchor="bottom" id="Event Log" order="7" side_tool="true" />
|
<window_info anchor="bottom" id="Event Log" order="7" side_tool="true" />
|
||||||
<window_info anchor="right" id="Maven Projects" order="3" weight="0.3299356" />
|
<window_info anchor="right" id="Maven Projects" order="3" weight="0.3299356" />
|
||||||
<window_info anchor="bottom" id="Database Changes" order="7" show_stripe_button="false" />
|
<window_info anchor="bottom" id="Database Changes" order="7" show_stripe_button="false" />
|
||||||
<window_info anchor="bottom" id="Version Control" order="7" show_stripe_button="false" />
|
|
||||||
<window_info anchor="bottom" id="Run" order="2" weight="0.50986195" />
|
<window_info anchor="bottom" id="Run" order="2" weight="0.50986195" />
|
||||||
|
<window_info anchor="bottom" id="Version Control" order="7" show_stripe_button="false" />
|
||||||
<window_info anchor="bottom" id="Spring" order="7" />
|
<window_info anchor="bottom" id="Spring" order="7" />
|
||||||
<window_info anchor="bottom" id="Terminal" order="7" />
|
<window_info anchor="bottom" id="Terminal" order="7" />
|
||||||
<window_info id="Capture Tool" order="2" />
|
<window_info id="Capture Tool" order="2" />
|
||||||
@ -370,8 +370,8 @@
|
|||||||
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
|
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
|
||||||
<window_info id="UI Designer" order="2" />
|
<window_info id="UI Designer" order="2" />
|
||||||
<window_info anchor="right" id="Theme Preview" order="3" />
|
<window_info anchor="right" id="Theme Preview" order="3" />
|
||||||
<window_info id="Favorites" order="2" side_tool="true" />
|
|
||||||
<window_info anchor="bottom" id="Debug" order="3" weight="0.39940828" />
|
<window_info anchor="bottom" id="Debug" order="3" weight="0.39940828" />
|
||||||
|
<window_info id="Favorites" order="2" side_tool="true" />
|
||||||
<window_info anchor="bottom" id="Messages" order="8" weight="0.32938856" />
|
<window_info anchor="bottom" id="Messages" order="8" weight="0.32938856" />
|
||||||
<window_info anchor="right" id="Gradle" order="3" />
|
<window_info anchor="right" id="Gradle" order="3" />
|
||||||
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
|
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
|
||||||
@ -723,15 +723,15 @@
|
|||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/src/main/resources/application.yml">
|
<entry file="file://$PROJECT_DIR$/src/main/resources/application.yml">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="1160">
|
<state relative-caret-position="1425">
|
||||||
<caret line="57" column="30" selection-start-line="57" selection-start-column="30" selection-end-line="57" selection-end-column="30" />
|
<caret line="57" column="30" selection-start-line="57" selection-start-column="30" selection-end-line="57" selection-end-column="30" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/src/main/java/gateway/TokenFilter.java">
|
<entry file="file://$PROJECT_DIR$/src/main/java/gateway/TokenFilter.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="836">
|
<state relative-caret-position="750">
|
||||||
<caret line="39" lean-forward="true" selection-start-line="39" selection-end-line="39" />
|
<caret line="39" selection-start-line="39" selection-end-line="39" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="imports" expanded="true" />
|
<element signature="imports" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
@ -740,7 +740,7 @@
|
|||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/src/main/java/gateway/RequestTimeFilter.java">
|
<entry file="file://$PROJECT_DIR$/src/main/java/gateway/RequestTimeFilter.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="236">
|
<state relative-caret-position="250">
|
||||||
<caret line="16" selection-start-line="16" selection-end-line="42" />
|
<caret line="16" selection-start-line="16" selection-end-line="42" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="imports" expanded="true" />
|
<element signature="imports" expanded="true" />
|
||||||
@ -750,8 +750,8 @@
|
|||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/src/main/java/gateway/RequestTimeGatewayFilterFactory.java">
|
<entry file="file://$PROJECT_DIR$/src/main/java/gateway/RequestTimeGatewayFilterFactory.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="910">
|
<state relative-caret-position="1475">
|
||||||
<caret line="74" lean-forward="true" selection-start-line="17" selection-end-line="74" />
|
<caret line="74" selection-start-line="17" selection-end-line="74" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="imports" expanded="true" />
|
<element signature="imports" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
@ -761,7 +761,7 @@
|
|||||||
<entry file="file://$PROJECT_DIR$/src/main/java/gateway/Application.java">
|
<entry file="file://$PROJECT_DIR$/src/main/java/gateway/Application.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="535">
|
<state relative-caret-position="535">
|
||||||
<caret line="33" column="39" lean-forward="true" selection-start-line="33" selection-start-column="39" selection-end-line="33" selection-end-column="39" />
|
<caret line="33" column="39" selection-start-line="33" selection-start-column="39" selection-end-line="33" selection-end-column="39" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="imports" expanded="true" />
|
<element signature="imports" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
|
Loading…
Reference in New Issue
Block a user