This is an automated email from the ASF dual-hosted git repository.
liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git
The following commit(s) were added to refs/heads/master by this push:
new 54ac28822 [SCB-2813]fix access log related problems (#4032)
54ac28822 is described below
commit 54ac28822aad42fe899f945adea02fe5fd885d69
Author: liubao68 <[email protected]>
AuthorDate: Mon Nov 13 18:01:19 2023 +0800
[SCB-2813]fix access log related problems (#4032)
---
.../servicecomb/common/accessLog/AccessLogConfiguration.java | 2 ++
.../common/accessLog/client/ClientDefaultInitializer.java | 5 ++---
.../common/accessLog/core/element/impl/UrlPathAccessItem.java | 3 +--
.../common/accessLog/server/ServerDefaultInitializer.java | 2 +-
...rg.springframework.boot.autoconfigure.AutoConfiguration.imports | 0
.../common/accessLog/core/element/impl/UrlPathItemTest.java | 7 +------
.../apache/servicecomb/config/ConfigEnvironmentPostProcessor.java | 2 ++
.../apache/servicecomb/config/FoundationConfigConfiguration.java | 6 ------
.../servicecomb/metrics/core/publish/SlowInvocationLogger.java | 6 +++---
.../servicecomb/metrics/core/publish/TestSlowInvocationLogger.java | 6 +++---
solutions/solution-basic/src/main/resources/microservice.yaml | 6 ++++--
11 files changed, 19 insertions(+), 26 deletions(-)
diff --git
a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/AccessLogConfiguration.java
b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/AccessLogConfiguration.java
index 8de504201..cb5e92a20 100644
---
a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/AccessLogConfiguration.java
+++
b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/AccessLogConfiguration.java
@@ -17,7 +17,9 @@
package org.apache.servicecomb.common.accessLog;
import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+@Configuration
public class AccessLogConfiguration {
@Bean
public AccessLogBootListener accessLogBootListener() {
diff --git
a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/client/ClientDefaultInitializer.java
b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/client/ClientDefaultInitializer.java
index 658cea9fa..43e5ad9b1 100644
---
a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/client/ClientDefaultInitializer.java
+++
b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/client/ClientDefaultInitializer.java
@@ -21,7 +21,6 @@ import
org.apache.servicecomb.common.accessLog.AccessLogConfig;
import org.apache.servicecomb.common.accessLog.AccessLogInitializer;
import org.apache.servicecomb.common.accessLog.core.AccessLogGenerator;
import org.apache.servicecomb.core.event.InvocationFinishEvent;
-
import org.apache.servicecomb.swagger.invocation.InvocationType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -31,7 +30,7 @@ import com.google.common.eventbus.EventBus;
import com.google.common.eventbus.Subscribe;
public class ClientDefaultInitializer implements AccessLogInitializer {
- private static final Logger LOGGER = LoggerFactory.getLogger("requestlog");
+ private static final Logger LOGGER = LoggerFactory.getLogger("scb-access");
private AccessLogGenerator accessLogGenerator;
@@ -48,7 +47,7 @@ public class ClientDefaultInitializer implements
AccessLogInitializer {
@AllowConcurrentEvents
public void onRequestOut(InvocationFinishEvent finishEvent) {
if
(InvocationType.CONSUMER.equals(finishEvent.getInvocation().getInvocationType()))
{
- LOGGER.info(accessLogGenerator.generateClientLog(finishEvent));
+ LOGGER.info(accessLogGenerator.generateClientLog(finishEvent));
}
}
}
diff --git
a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/element/impl/UrlPathAccessItem.java
b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/element/impl/UrlPathAccessItem.java
index 98b2eac74..5435a22cf 100644
---
a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/element/impl/UrlPathAccessItem.java
+++
b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/element/impl/UrlPathAccessItem.java
@@ -25,7 +25,6 @@ import org.apache.servicecomb.core.definition.OperationMeta;
import org.apache.servicecomb.core.definition.SchemaMeta;
import org.apache.servicecomb.core.event.InvocationFinishEvent;
import org.apache.servicecomb.core.event.ServerAccessLogEvent;
-import org.apache.servicecomb.swagger.SwaggerUtils;
import
org.apache.servicecomb.transport.rest.client.RestClientRequestParameters;
import io.vertx.core.http.HttpServerRequest;
@@ -50,7 +49,7 @@ public class UrlPathAccessItem implements
AccessLogItem<RoutingContext> {
OperationMeta operationMeta =
finishEvent.getInvocation().getOperationMeta();
SchemaMeta schemaMeta = finishEvent.getInvocation().getSchemaMeta();
if (operationMeta != null && schemaMeta != null && schemaMeta.getSwagger()
!= null) {
-
builder.append(SwaggerUtils.getBasePath(schemaMeta.getSwagger())).append(operationMeta.getOperationPath());
+ builder.append(operationMeta.getOperationPath());
return;
}
RestClientRequestParameters restRequestImpl =
(RestClientRequestParameters) finishEvent.getInvocation()
diff --git
a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/server/ServerDefaultInitializer.java
b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/server/ServerDefaultInitializer.java
index c528b67f9..7baf69dd8 100644
---
a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/server/ServerDefaultInitializer.java
+++
b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/server/ServerDefaultInitializer.java
@@ -31,7 +31,7 @@ import com.google.common.eventbus.Subscribe;
public class ServerDefaultInitializer implements AccessLogInitializer {
- private static final Logger LOGGER = LoggerFactory.getLogger("accesslog");
+ private static final Logger LOGGER = LoggerFactory.getLogger("scb-access");
private AccessLogGenerator accessLogGenerator;
diff --git
a/common/common-access-log/src/main/resources/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
b/common/common-access-log/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
similarity index 100%
rename from
common/common-access-log/src/main/resources/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
rename to
common/common-access-log/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
diff --git
a/common/common-access-log/src/test/java/org/apache/servicecomb/common/accessLog/core/element/impl/UrlPathItemTest.java
b/common/common-access-log/src/test/java/org/apache/servicecomb/common/accessLog/core/element/impl/UrlPathItemTest.java
index 2eff49b80..d1601609a 100644
---
a/common/common-access-log/src/test/java/org/apache/servicecomb/common/accessLog/core/element/impl/UrlPathItemTest.java
+++
b/common/common-access-log/src/test/java/org/apache/servicecomb/common/accessLog/core/element/impl/UrlPathItemTest.java
@@ -19,7 +19,6 @@ package
org.apache.servicecomb.common.accessLog.core.element.impl;
import static org.mockito.Mockito.when;
-import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
@@ -36,7 +35,6 @@ import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import io.swagger.v3.oas.models.OpenAPI;
-import io.swagger.v3.oas.models.servers.Server;
import io.vertx.core.http.HttpClientRequest;
import io.vertx.core.http.HttpServerRequest;
import io.vertx.ext.web.RoutingContext;
@@ -85,14 +83,11 @@ public class UrlPathItemTest {
@Test
public void clientFormattedElement() {
- String uri = "/base/test";
+ String uri = "/test";
when(finishEvent.getInvocation()).thenReturn(invocation);
when(invocation.getOperationMeta()).thenReturn(operationMeta);
when(invocation.getSchemaMeta()).thenReturn(schemaMeta);
when(schemaMeta.getSwagger()).thenReturn(swagger);
- Server server = Mockito.mock(Server.class);
- when(server.getUrl()).thenReturn("/base");
- when(swagger.getServers()).thenReturn(Arrays.asList(server));
when(operationMeta.getOperationPath()).thenReturn("/test");
ITEM.appendClientFormattedItem(finishEvent, strBuilder);
diff --git
a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigEnvironmentPostProcessor.java
b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigEnvironmentPostProcessor.java
index 0edb84541..295bb2e1d 100644
---
a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigEnvironmentPostProcessor.java
+++
b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/ConfigEnvironmentPostProcessor.java
@@ -23,6 +23,7 @@ import java.util.stream.Collectors;
import org.apache.servicecomb.config.file.MicroserviceConfigLoader;
import org.apache.servicecomb.foundation.bootstrap.BootStrapService;
+import org.apache.servicecomb.foundation.common.LegacyPropertyFactory;
import org.apache.servicecomb.foundation.common.utils.SPIServiceUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -47,6 +48,7 @@ public class ConfigEnvironmentPostProcessor implements
EnvironmentPostProcessor
@Override
public void postProcessEnvironment(ConfigurableEnvironment environment,
SpringApplication application) {
+ LegacyPropertyFactory.setEnvironment(environment);
addMicroserviceDefinitions(environment);
startupBootStrapService(environment);
addDynamicConfigurationToSpring(environment);
diff --git
a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/FoundationConfigConfiguration.java
b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/FoundationConfigConfiguration.java
index 9cb7c231a..152119f7d 100644
---
a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/FoundationConfigConfiguration.java
+++
b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/FoundationConfigConfiguration.java
@@ -20,7 +20,6 @@ import
org.apache.servicecomb.config.inject.InjectBeanPostProcessor;
import org.apache.servicecomb.config.priority.ConfigObjectFactory;
import org.apache.servicecomb.config.priority.PriorityPropertyFactory;
import org.apache.servicecomb.config.priority.PriorityPropertyManager;
-import org.apache.servicecomb.foundation.common.LegacyPropertyFactory;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -60,11 +59,6 @@ public class FoundationConfigConfiguration {
return new DataCenterProperties();
}
- @Bean
- public LegacyPropertyFactory legacyPropertyFactory(Environment environment) {
- return new LegacyPropertyFactory(environment);
- }
-
@Bean
public InMemoryDynamicPropertiesSource inMemoryDynamicPropertiesSource() {
return new InMemoryDynamicPropertiesSource();
diff --git
a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/SlowInvocationLogger.java
b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/SlowInvocationLogger.java
index 679e54457..b0417b239 100644
---
a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/SlowInvocationLogger.java
+++
b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/SlowInvocationLogger.java
@@ -104,7 +104,7 @@ public class SlowInvocationLogger {
.append(formatPair(" ", "http method",
restOperationMeta.getHttpMethod()))
.append(formatPair(" ", "url", restOperationMeta.getAbsolutePath()))
.append(formatPair(" ", "endpoint", collectClientAddress(invocation)))
- .append(formatPair(" ", "status code", response.getStatusCode()))
+ .append(formatPair(" ", "status code",
String.valueOf(response.getStatusCode())))
.append(formatPair(" ", STAGE_TOTAL, stageTrace.calcTotal()))
.append(formatPair(" ", STAGE_PREPARE, stageTrace.calcPrepare()))
@@ -141,7 +141,7 @@ public class SlowInvocationLogger {
.append(formatPair(" ", "http method",
restOperationMeta.getHttpMethod()))
.append(formatPair(" ", "url", restOperationMeta.getAbsolutePath()))
.append(formatPair(" ", "endpoint", collectTargetAddress(invocation)))
- .append(formatPair(" ", "status code", response.getStatusCode()))
+ .append(formatPair(" ", "status code",
String.valueOf(response.getStatusCode())))
.append(formatPair(" ", STAGE_TOTAL, stageTrace.calcTotal()))
.append(formatPair(" ", STAGE_PREPARE, stageTrace.calcPrepare()))
.append(formatPair(" ", STAGE_CONSUMER_CONNECTION,
stageTrace.calcConnection()))
@@ -169,7 +169,7 @@ public class SlowInvocationLogger {
.append(formatPair(" ", "http method",
restOperationMeta.getHttpMethod()))
.append(formatPair(" ", "url", restOperationMeta.getAbsolutePath()))
.append(formatPair(" ", "endpoint", collectTargetAddress(invocation)))
- .append(formatPair(" ", "status code", response.getStatusCode()))
+ .append(formatPair(" ", "status code",
String.valueOf(response.getStatusCode())))
.append(formatPair(" ", STAGE_TOTAL, stageTrace.calcTotal()))
.append(formatPair(" ", STAGE_PREPARE, stageTrace.calcPrepare()))
.append(formatPair(" ", STAGE_PROVIDER_DECODE_REQUEST,
stageTrace.calcProviderDecodeRequest()))
diff --git
a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/TestSlowInvocationLogger.java
b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/TestSlowInvocationLogger.java
index 6d172118d..34f8a8548 100644
---
a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/TestSlowInvocationLogger.java
+++
b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/TestSlowInvocationLogger.java
@@ -127,7 +127,7 @@ public class TestSlowInvocationLogger {
http method : null
url : null
endpoint : rest://1.1.1.1:1234
- status code : 0.0ms
+ status code : 0
total : 0.0ms
prepare : 0.0ms
connection : 0.0ms
@@ -168,7 +168,7 @@ public class TestSlowInvocationLogger {
http method : null
url : null
endpoint : rest://1.1.1.1:1234
- status code : 0.0ms
+ status code : 0
total : 0.0ms
prepare : 0.0ms
provider-decode : 0.0ms
@@ -212,7 +212,7 @@ public class TestSlowInvocationLogger {
http method : null
url : null
endpoint : 1.1.1.1:1234
- status code : 0.0ms
+ status code : 0
total : 0.0ms
prepare : 0.0ms
provider-decode : 0.0ms
diff --git a/solutions/solution-basic/src/main/resources/microservice.yaml
b/solutions/solution-basic/src/main/resources/microservice.yaml
index 5ad15287d..dbfa47b21 100644
--- a/solutions/solution-basic/src/main/resources/microservice.yaml
+++ b/solutions/solution-basic/src/main/resources/microservice.yaml
@@ -23,10 +23,12 @@ servicecomb:
# metrics and access log
accesslog:
enabled: true
+ pattern: "|%h|%r|%s|%D"
+
metrics:
- window_time: 60000
+ window_time: 300000
invocation:
- latencyDistribution: 0,1,10,100,1000
+ latencyDistribution: 0,10,50,100,1000
Consumer.invocation.slow:
enabled: true
msTime: 1000