You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2019/02/19 05:03:02 UTC
[incubator-skywalking] branch master updated: Correct trace id in
slow db statement (#2254)
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-skywalking.git
The following commit(s) were added to refs/heads/master by this push:
new 479ee33 Correct trace id in slow db statement (#2254)
479ee33 is described below
commit 479ee332440ae30e7dfa788232352d973f7c2b74
Author: 吴晟 Wu Sheng <wu...@foxmail.com>
AuthorDate: Tue Feb 19 13:02:54 2019 +0800
Correct trace id in slow db statement (#2254)
* Correct trace id.
* Fix match.
* Add cover token to retry.
* Retry new test plugin.
* Reset to jacoco.
* Update jacoco version.
---
.travis.yml | 6 ++--
apm-checkstyle/pom.xml | 36 +---------------------
.../listener/endpoint/MultiScopesSpanListener.java | 24 ++++++++++++---
pom.xml | 9 ++----
4 files changed, 27 insertions(+), 48 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index bd48465..8879582 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,6 +4,8 @@ language: java
install:
- jdk_switcher use oraclejdk8
- - ./mvnw clean install --quiet jacoco:report coveralls:report
- - ./mvnw clean javadoc:javadoc -Dmaven.test.skip=true --quiet
+ - ./mvnw clean install --quiet
+ - ./mvnw javadoc:javadoc -Dmaven.test.skip=true --quiet
+after_success:
+- ./mvnw clean test jacoco:report coveralls:report --quiet
diff --git a/apm-checkstyle/pom.xml b/apm-checkstyle/pom.xml
index bf6ef22..9015463 100644
--- a/apm-checkstyle/pom.xml
+++ b/apm-checkstyle/pom.xml
@@ -27,41 +27,7 @@
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-checkstyle</artifactId>
- <version>6.0.0-beta</version>
+ <version>6.1.0</version>
<description>Module to hold Checkstyle for SkyWalking.</description>
- <properties>
- <jacoco-maven-plugin.version>0.7.9</jacoco-maven-plugin.version>
- <coveralls-maven-plugin.version>4.1.0</coveralls-maven-plugin.version>
- </properties>
-
- <build>
- <plugins>
- <!-- 覆盖率 -->
- <plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <version>${jacoco-maven-plugin.version}</version>
- <executions>
- <execution>
- <id>prepare-agent</id>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.eluder.coveralls</groupId>
- <artifactId>coveralls-maven-plugin</artifactId>
- <version>${coveralls-maven-plugin.version}</version>
- <configuration>
- <repoToken>xFwR2GqmxcMxV7tGEpW2NfwIrbCD4cQCS</repoToken>
- <sourceDirectories>
- <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
- </sourceDirectories>
- </configuration>
- </plugin>
- </plugins>
- </build>
</project>
diff --git a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/endpoint/MultiScopesSpanListener.java b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/endpoint/MultiScopesSpanListener.java
index 0330e77..55f0959 100644
--- a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/endpoint/MultiScopesSpanListener.java
+++ b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/endpoint/MultiScopesSpanListener.java
@@ -20,7 +20,7 @@ package org.apache.skywalking.oap.server.receiver.trace.provider.parser.listener
import java.util.*;
import org.apache.skywalking.apm.network.common.KeyStringValuePair;
-import org.apache.skywalking.apm.network.language.agent.SpanLayer;
+import org.apache.skywalking.apm.network.language.agent.*;
import org.apache.skywalking.oap.server.core.*;
import org.apache.skywalking.oap.server.core.cache.*;
import org.apache.skywalking.oap.server.core.source.*;
@@ -43,7 +43,7 @@ import static java.util.Objects.nonNull;
*
* @author peng-yongsheng, wusheng
*/
-public class MultiScopesSpanListener implements EntrySpanListener, ExitSpanListener {
+public class MultiScopesSpanListener implements EntrySpanListener, ExitSpanListener, GlobalTraceIdsListener {
private static final Logger logger = LoggerFactory.getLogger(MultiScopesSpanListener.class);
@@ -58,6 +58,7 @@ public class MultiScopesSpanListener implements EntrySpanListener, ExitSpanListe
private final TraceServiceModuleConfig config;
private SpanDecorator entrySpanDecorator;
private long minuteTimeBucket;
+ private String traceId;
private MultiScopesSpanListener(ModuleManager moduleManager, TraceServiceModuleConfig config) {
this.sourceReceiver = moduleManager.find(CoreModule.NAME).provider().getService(SourceReceiver.class);
@@ -68,10 +69,11 @@ public class MultiScopesSpanListener implements EntrySpanListener, ExitSpanListe
this.serviceInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(ServiceInventoryCache.class);
this.endpointInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(EndpointInventoryCache.class);
this.config = config;
+ this.traceId = null;
}
@Override public boolean containsPoint(Point point) {
- return Point.Entry.equals(point) || Point.Exit.equals(point);
+ return Point.Entry.equals(point) || Point.Exit.equals(point) || Point.TraceIds.equals(point);
}
@Override
@@ -156,7 +158,7 @@ public class MultiScopesSpanListener implements EntrySpanListener, ExitSpanListe
statement.setDatabaseServiceId(sourceBuilder.getDestServiceId());
statement.setLatency(sourceBuilder.getLatency());
statement.setTimeBucket(TimeBucketUtils.INSTANCE.getSecondTimeBucket(segmentCoreInfo.getStartTime()));
- statement.setTraceId(segmentCoreInfo.getSegmentId());
+ statement.setTraceId(traceId);
for (KeyStringValuePair tag : spanDecorator.getAllTags()) {
if (SpanTags.DB_STATEMENT.equals(tag.getKey())) {
statement.setStatement(tag.getValue());
@@ -242,6 +244,20 @@ public class MultiScopesSpanListener implements EntrySpanListener, ExitSpanListe
slowDatabaseAccesses.forEach(sourceReceiver::receive);
}
+ @Override public void parseGlobalTraceId(UniqueId uniqueId, SegmentCoreInfo segmentCoreInfo) {
+ if (traceId == null) {
+ StringBuilder traceIdBuilder = new StringBuilder();
+ for (int i = 0; i < uniqueId.getIdPartsList().size(); i++) {
+ if (i == 0) {
+ traceIdBuilder.append(uniqueId.getIdPartsList().get(i));
+ } else {
+ traceIdBuilder.append(".").append(uniqueId.getIdPartsList().get(i));
+ }
+ }
+ traceId = traceIdBuilder.toString();
+ }
+ }
+
public static class Factory implements SpanListenerFactory {
@Override
diff --git a/pom.xml b/pom.xml
index 8f87c44..f9ff4fb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -133,8 +133,8 @@
<maven-source-plugin.version>3.0.1</maven-source-plugin.version>
<versions-maven-plugin.version>2.5</versions-maven-plugin.version>
<coveralls-maven-plugin.version>4.3.0</coveralls-maven-plugin.version>
- <jacoco-maven-plugin.version>0.8.1</jacoco-maven-plugin.version>
<maven-checkstyle-plugin.version>3.0.0</maven-checkstyle-plugin.version>
+ <jacoco-maven-plugin.version>0.8.3</jacoco-maven-plugin.version>
</properties>
<dependencies>
@@ -384,21 +384,16 @@
<artifactId>coveralls-maven-plugin</artifactId>
<version>${coveralls-maven-plugin.version}</version>
<configuration>
+ <repoToken>xFwR2GqmxcMxV7tGEpW2NfwIrbCD4cQCS</repoToken>
<sourceDirectories>
<sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
</sourceDirectories>
</configuration>
</plugin>
- <!-- 覆盖率 -->
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco-maven-plugin.version}</version>
- <configuration>
- <excludes>
- <exclude>*MethodAccess</exclude>
- </excludes>
- </configuration>
<executions>
<execution>
<id>prepare-agent</id>