zipkin.proto 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. syntax = "proto3";
  2. package envoy.config.trace.v3;
  3. import "google/protobuf/wrappers.proto";
  4. import "envoy/annotations/deprecation.proto";
  5. import "udpa/annotations/migrate.proto";
  6. import "udpa/annotations/status.proto";
  7. import "udpa/annotations/versioning.proto";
  8. import "validate/validate.proto";
  9. option java_package = "io.envoyproxy.envoy.config.trace.v3";
  10. option java_outer_classname = "ZipkinProto";
  11. option java_multiple_files = true;
  12. option go_package = "github.com/envoyproxy/go-control-plane/envoy/config/trace/v3;tracev3";
  13. option (udpa.annotations.file_migrate).move_to_package = "envoy.extensions.tracers.zipkin.v4alpha";
  14. option (udpa.annotations.file_status).package_version_status = ACTIVE;
  15. // [#protodoc-title: Zipkin tracer]
  16. // Configuration for the Zipkin tracer.
  17. // [#extension: envoy.tracers.zipkin]
  18. // [#next-free-field: 7]
  19. message ZipkinConfig {
  20. option (udpa.annotations.versioning).previous_message_type = "envoy.config.trace.v2.ZipkinConfig";
  21. // Available Zipkin collector endpoint versions.
  22. enum CollectorEndpointVersion {
  23. // Zipkin API v1, JSON over HTTP.
  24. // [#comment: The default implementation of Zipkin client before this field is added was only v1
  25. // and the way user configure this was by not explicitly specifying the version. Consequently,
  26. // before this is added, the corresponding Zipkin collector expected to receive v1 payload.
  27. // Hence the motivation of adding HTTP_JSON_V1 as the default is to avoid a breaking change when
  28. // user upgrading Envoy with this change. Furthermore, we also immediately deprecate this field,
  29. // since in Zipkin realm this v1 version is considered to be not preferable anymore.]
  30. DEPRECATED_AND_UNAVAILABLE_DO_NOT_USE = 0
  31. [deprecated = true, (envoy.annotations.disallowed_by_default_enum) = true];
  32. // Zipkin API v2, JSON over HTTP.
  33. HTTP_JSON = 1;
  34. // Zipkin API v2, protobuf over HTTP.
  35. HTTP_PROTO = 2;
  36. // [#not-implemented-hide:]
  37. GRPC = 3;
  38. }
  39. // The cluster manager cluster that hosts the Zipkin collectors.
  40. string collector_cluster = 1 [(validate.rules).string = {min_len: 1}];
  41. // The API endpoint of the Zipkin service where the spans will be sent. When
  42. // using a standard Zipkin installation.
  43. string collector_endpoint = 2 [(validate.rules).string = {min_len: 1}];
  44. // Determines whether a 128bit trace id will be used when creating a new
  45. // trace instance. The default value is false, which will result in a 64 bit trace id being used.
  46. bool trace_id_128bit = 3;
  47. // Determines whether client and server spans will share the same span context.
  48. // The default value is true.
  49. google.protobuf.BoolValue shared_span_context = 4;
  50. // Determines the selected collector endpoint version.
  51. CollectorEndpointVersion collector_endpoint_version = 5;
  52. // Optional hostname to use when sending spans to the collector_cluster. Useful for collectors
  53. // that require a specific hostname. Defaults to :ref:`collector_cluster <envoy_v3_api_field_config.trace.v3.ZipkinConfig.collector_cluster>` above.
  54. string collector_hostname = 6;
  55. }