summaryrefslogtreecommitdiffstats
path: root/src/jaegertracing/jaeger-client-cpp/idl/thrift/crossdock/tracetest.thrift
diff options
context:
space:
mode:
Diffstat (limited to 'src/jaegertracing/jaeger-client-cpp/idl/thrift/crossdock/tracetest.thrift')
-rw-r--r--src/jaegertracing/jaeger-client-cpp/idl/thrift/crossdock/tracetest.thrift64
1 files changed, 64 insertions, 0 deletions
diff --git a/src/jaegertracing/jaeger-client-cpp/idl/thrift/crossdock/tracetest.thrift b/src/jaegertracing/jaeger-client-cpp/idl/thrift/crossdock/tracetest.thrift
new file mode 100644
index 000000000..d923b1029
--- /dev/null
+++ b/src/jaegertracing/jaeger-client-cpp/idl/thrift/crossdock/tracetest.thrift
@@ -0,0 +1,64 @@
+# Copyright (c) 2016 Uber Technologies, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+namespace cpp jaegertracing.crossdock.thrift
+namespace java io.jaegertracing.crossdock.thrift
+namespace php Jaeger.Thrift.Crossdock
+namespace netcore Jaeger.Thrift.Crossdock
+
+enum Transport { HTTP, TCHANNEL, DUMMY }
+
+struct Downstream {
+ 1: required string serviceName
+ 2: required string serverRole
+ 3: required string host
+ 4: required string port
+ 5: required Transport transport
+ 6: optional Downstream downstream
+}
+
+struct StartTraceRequest {
+ 1: required string serverRole // role of the server (always S1)
+ 2: required bool sampled
+ 3: required string baggage
+ 4: required Downstream downstream
+}
+
+struct JoinTraceRequest {
+ 1: required string serverRole // role of the server, S2 or S3
+ 2: optional Downstream downstream
+}
+
+struct ObservedSpan {
+ 1: required string traceId
+ 2: required bool sampled
+ 3: required string baggage
+}
+
+/**
+ * Each server must include the information about the span it observed.
+ * It can only be omitted from the response if notImplementedError field is not empty.
+ * If the server was instructed to make a downstream call, it must embed the
+ * downstream response in its own response.
+ */
+struct TraceResponse {
+ 1: optional ObservedSpan span
+ 2: optional TraceResponse downstream
+ 3: required string notImplementedError
+}
+
+service TracedService {
+ TraceResponse startTrace(1: StartTraceRequest request)
+ TraceResponse joinTrace(1: JoinTraceRequest request)
+}