TraceSegmentService.proto 1.5 KB
Newer Older
wu-sheng's avatar
wu-sheng 已提交
1 2 3
syntax = "proto3";

option java_multiple_files = true;
wu-sheng's avatar
wu-sheng 已提交
4
option java_package = "org.skywalking.apm.network.trace.proto";
wu-sheng's avatar
wu-sheng 已提交
5

wu-sheng's avatar
wu-sheng 已提交
6 7
import "Downstream.proto";

wu-sheng's avatar
wu-sheng 已提交
8
service TraceSegmentService {
9
    rpc collect (stream TraceSegmentObject) returns (Downstream) {
wu-sheng's avatar
wu-sheng 已提交
10 11 12
    }
}

wu-sheng's avatar
wu-sheng 已提交
13 14 15 16 17
message UpstreamSegment {
    repeated string globalTraceIds = 1;
    bytes segment = 2; // the byte array of TraceSegmentObject
}

wu-sheng's avatar
wu-sheng 已提交
18
message TraceSegmentObject {
19 20 21 22
    string traceSegmentId = 1;
    repeated TraceSegmentReference refs = 2;
    repeated SpanObject spans = 3;
    int32 applicationId = 4;
wu-sheng's avatar
wu-sheng 已提交
23 24
    int32 applicationInstanceId = 5;
    repeated string globalTraceIds = 6;
25 26 27 28 29
}

message TraceSegmentReference {
    string parentTraceSegmentId = 1;
    int32 parentSpanId = 2;
wu-sheng's avatar
wu-sheng 已提交
30 31
    int32 parentApplicationId = 3;
    string networkAddress = 4;
32 33 34 35 36 37 38 39 40
    int32 networkAddressId = 5;
}

message SpanObject {
    int32 spanId = 1;
    int32 parentSpanId = 2;
    int64 startTime = 3;
    int64 endTime = 4;
    int32 operationNameId = 5;
41 42 43 44 45 46 47 48 49 50
    string operationName = 6;
    int32 peerId = 7;
    string peer = 8;
    SpanType spanType = 9;
    SpanLayer spanLayer = 10;
    int32 componentId = 11;
    string component = 12;
    bool isError = 13;
    repeated KeyValue tags = 14;
    repeated LogMessage logs = 15;
51 52 53 54 55 56 57 58 59 60 61 62
}

enum SpanType {
    Entry = 0;
    Exit = 1;
    Local = 2;
}

enum SpanLayer {
    Database = 0;
    RPCFramework = 1;
    Http = 2;
wu-sheng's avatar
wu-sheng 已提交
63
    MQ = 3;
64 65 66 67 68 69 70 71 72 73
}

message KeyValue {
    string key = 1;
    string value = 2;
}

message LogMessage {
    int64 time = 1;
    repeated KeyValue data = 2;
wu-sheng's avatar
wu-sheng 已提交
74
}