trace_service.proto 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. syntax = "proto3";
  2. package envoy.service.trace.v2;
  3. import "envoy/api/v2/core/base.proto";
  4. import "opencensus/proto/trace/v1/trace.proto";
  5. import "udpa/annotations/status.proto";
  6. import "validate/validate.proto";
  7. option java_package = "io.envoyproxy.envoy.service.trace.v2";
  8. option java_outer_classname = "TraceServiceProto";
  9. option java_multiple_files = true;
  10. option go_package = "github.com/envoyproxy/go-control-plane/envoy/service/trace/v2;tracev2";
  11. option java_generic_services = true;
  12. option (udpa.annotations.file_status).package_version_status = FROZEN;
  13. // [#protodoc-title: Trace service]
  14. // Service for streaming traces to server that consumes the trace data. It
  15. // uses OpenCensus data model as a standard to represent trace information.
  16. service TraceService {
  17. // Envoy will connect and send StreamTracesMessage messages forever. It does
  18. // not expect any response to be sent as nothing would be done in the case
  19. // of failure.
  20. rpc StreamTraces(stream StreamTracesMessage) returns (StreamTracesResponse) {
  21. }
  22. }
  23. message StreamTracesResponse {
  24. }
  25. message StreamTracesMessage {
  26. message Identifier {
  27. // The node sending the access log messages over the stream.
  28. api.v2.core.Node node = 1 [(validate.rules).message = {required: true}];
  29. }
  30. // Identifier data effectively is a structured metadata.
  31. // As a performance optimization this will only be sent in the first message
  32. // on the stream.
  33. Identifier identifier = 1;
  34. // A list of Span entries
  35. repeated opencensus.proto.trace.v1.Span spans = 2;
  36. }