diff --git a/apm-network/pom.xml b/apm-network/pom.xml
new file mode 100644
index 000000000..c4a2b581a
--- /dev/null
+++ b/apm-network/pom.xml
@@ -0,0 +1,83 @@
+
+
+
+ apm
+ org.skywalking
+ 3.2-2017
+
+ 4.0.0
+
+ apm-network
+
+
+ UTF-8
+ 1.4.0
+
+ 1.6
+
+
+
+
+ io.grpc
+ grpc-netty
+ ${grpc.version}
+
+
+ io.grpc
+ grpc-protobuf
+ ${grpc.version}
+
+
+ io.grpc
+ grpc-stub
+ ${grpc.version}
+
+
+
+
+
+
+ kr.motd.maven
+ os-maven-plugin
+ 1.4.1.Final
+
+
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+ 2.4.3
+
+ ${project.build.sourceEncoding}
+
+
+
+ org.xolstice.maven.plugins
+ protobuf-maven-plugin
+ 0.5.0
+
+
+ com.google.protobuf:protoc:3.3.0:exe:${os.detected.classifier}
+
+ grpc-java
+ io.grpc:protoc-gen-grpc-java:1.4.0:exe:${os.detected.classifier}
+
+
+
+
+
+ compile
+ compile-custom
+
+
+
+
+
+
+
diff --git a/apm-network/src/main/proto/TraceSegment.proto b/apm-network/src/main/proto/TraceSegment.proto
new file mode 100644
index 000000000..e66b29946
--- /dev/null
+++ b/apm-network/src/main/proto/TraceSegment.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_multiple_files = true;
+option java_package = "org.skywalking.apm";
+
+service TraceSegmentService {
+ rpc collect (TraceSegmentObject) returns (CollectResult) {
+ }
+}
+
+message TraceSegmentObject {
+ string traceId = 1;
+}
+
+message CollectResult {
+ bytes resultCode = 1;
+}
diff --git a/apm-sniffer/apm-agent-core/pom.xml b/apm-sniffer/apm-agent-core/pom.xml
index 4457a84f2..ce72486b1 100644
--- a/apm-sniffer/apm-agent-core/pom.xml
+++ b/apm-sniffer/apm-agent-core/pom.xml
@@ -17,6 +17,7 @@
UTF-8
9.4.2.v20170220
+ 1.4.0
org.skywalking.apm.dependencies
com.lmax.disruptor
@@ -69,6 +70,13 @@
+
+
+ kr.motd.maven
+ os-maven-plugin
+ 1.4.1.Final
+
+
org.apache.maven.plugins
diff --git a/pom.xml b/pom.xml
index 64678d96b..e41a82435 100644
--- a/pom.xml
+++ b/pom.xml
@@ -46,6 +46,7 @@
apm-sniffer
apm-application-toolkit
apm-collector
+ apm-network
pom