syntax = "proto3";

option java_multiple_files = true;
option java_package = "org.apache.skywalking.apm.network.proto";
option csharp_namespace = "SkyWalking.NetworkProtocol";

import "Common.proto";
import "Downstream.proto";
import "KeyWithStringValue.proto";

service TraceSegmentService {
    rpc collect (stream UpstreamSegment) returns (Downstream) {
    }
}

message UpstreamSegment {
    repeated UniqueId globalTraceIds = 1;
    bytes segment = 2; // the byte array of TraceSegmentObject
}

message UniqueId {
    repeated int64 idParts = 1;
}

message TraceSegmentObject {
    UniqueId traceSegmentId = 1;
    repeated SpanObject spans = 2;
    int32 applicationId = 3;
    int32 applicationInstanceId = 4;
    bool isSizeLimited = 5;
}

message TraceSegmentReference {
    RefType refType = 1;
    UniqueId parentTraceSegmentId = 2;
    int32 parentSpanId = 3;
    int32 parentApplicationInstanceId = 4;
    string networkAddress = 5;
    int32 networkAddressId = 6;
    int32 entryApplicationInstanceId = 7;
    string entryServiceName = 8;
    int32 entryServiceId = 9;
    string parentServiceName = 10;
    int32 parentServiceId = 11;
}

message SpanObject {
    int32 spanId = 1;
    int32 parentSpanId = 2;
    int64 startTime = 3;
    int64 endTime = 4;
    repeated TraceSegmentReference refs = 5;
    int32 operationNameId = 6;
    string operationName = 7;
    int32 peerId = 8;
    string peer = 9;
    SpanType spanType = 10;
    SpanLayer spanLayer = 11;
    int32 componentId = 12;
    string component = 13;
    bool isError = 14;
    repeated KeyWithStringValue tags = 15;
    repeated LogMessage logs = 16;
}

enum RefType {
    CrossProcess = 0;
    CrossThread = 1;
}

enum SpanLayer {
    Unknown = 0;
    Database = 1;
    RPCFramework = 2;
    Http = 3;
    MQ = 4;
    Cache = 5;
}

message LogMessage {
    int64 time = 1;
    repeated KeyWithStringValue data = 2;
}
