All Downloads are FREE. Search and download functionalities are using the official Maven repository.

envoy.extensions.request_id.uuid.v3.uuid.proto Maven / Gradle / Ivy

There is a newer version: 1.23.0-dev-f04150-1
Show newest version
syntax = "proto3";

package envoy.extensions.request_id.uuid.v3;

import "google/protobuf/wrappers.proto";

import "udpa/annotations/status.proto";

option java_package = "io.envoyproxy.envoy.extensions.request_id.uuid.v3";
option java_outer_classname = "UuidProto";
option java_multiple_files = true;
option go_package = "github.com/envoyproxy/go-control-plane/envoy/extensions/request_id/uuid/v3;uuidv3";
option (udpa.annotations.file_status).package_version_status = ACTIVE;

// [#protodoc-title: UUID]
// [#extension: envoy.request_id.uuid]

// Configuration for the default UUID request ID extension which has the following behavior:
//
// 1. Request ID is propagated using the :ref:`x-request-id
//    ` header.
//
// 2. Request ID is a universally unique identifier `(UUID4)
//    `_.
//
// 3. Tracing decision (sampled, forced, etc) is set in 14th nibble of the UUID. By default this will
//    overwrite existing UUIDs received in the *x-request-id* header if the trace sampling decision
//    is changed. The 14th nibble of the UUID4 has been chosen because it is fixed to '4' by the
//    standard. Thus, '4' indicates a default UUID and no trace status. This nibble is swapped to:
//
//      a. '9': Sampled.
//      b. 'a': Force traced due to server-side override.
//      c. 'b': Force traced due to client-side request ID joining.
//
//    See the :ref:`x-request-id ` documentation for
//    more information.
message UuidRequestIdConfig {
  // Whether the implementation alters the UUID to contain the trace sampling decision as per the
  // `UuidRequestIdConfig` message documentation. This defaults to true. If disabled no
  // modification to the UUID will be performed. It is important to note that if disabled,
  // stable sampling of traces, access logs, etc. will no longer work and only random sampling will
  // be possible.
  google.protobuf.BoolValue pack_trace_reason = 1;

  // Set whether to use :ref:`x-request-id` for sampling or not.
  // This defaults to true. See the :ref:`context propagation `
  // overview for more information.
  google.protobuf.BoolValue use_request_id_for_trace_sampling = 2;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy