Operation

Struct Operation 

Source
#[non_exhaustive]
pub struct Operation { pub operation_id: String, pub operation_name: String, pub consumer_id: String, pub start_time: Option<Timestamp>, pub end_time: Option<Timestamp>, pub labels: HashMap<String, String>, pub metric_value_sets: Vec<MetricValueSet>, pub log_entries: Vec<LogEntry>, pub importance: Importance, pub extensions: Vec<Any>, /* private fields */ }
Expand description

Represents information regarding an operation.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§operation_id: String

Identity of the operation. This must be unique within the scope of the service that generated the operation. If the service calls Check() and Report() on the same operation, the two calls should carry the same id.

UUID version 4 is recommended, though not required. In scenarios where an operation is computed from existing information and an idempotent id is desirable for deduplication purpose, UUID version 5 is recommended. See RFC 4122 for details.

§operation_name: String

Fully qualified name of the operation. Reserved for future use.

§consumer_id: String

Identity of the consumer who is using the service. This field should be filled in for the operations initiated by a consumer, but not for service-initiated operations that are not related to a specific consumer.

  • This can be in one of the following formats:
    • project:PROJECT_ID,
    • project_number:PROJECT_NUMBER,
    • projects/PROJECT_ID or PROJECT_NUMBER,
    • folders/FOLDER_NUMBER,
    • organizations/ORGANIZATION_NUMBER,
    • api_key:API_KEY.
§start_time: Option<Timestamp>

Required. Start time of the operation.

§end_time: Option<Timestamp>

End time of the operation. Required when the operation is used in ServiceController.Report, but optional when the operation is used in ServiceController.Check.

§labels: HashMap<String, String>

Labels describing the operation. Only the following labels are allowed:

  • Labels describing monitored resources as defined in the service configuration.
  • Default labels of metric values. When specified, labels defined in the metric value override these default.
  • The following labels defined by Google Cloud Platform:
    • cloud.googleapis.com/location describing the location where the operation happened,
    • servicecontrol.googleapis.com/user_agent describing the user agent of the API request,
    • servicecontrol.googleapis.com/service_agent describing the service used to handle the API request (e.g. ESP),
    • servicecontrol.googleapis.com/platform describing the platform where the API is served, such as App Engine, Compute Engine, or Kubernetes Engine.
§metric_value_sets: Vec<MetricValueSet>

Represents information about this operation. Each MetricValueSet corresponds to a metric defined in the service configuration. The data type used in the MetricValueSet must agree with the data type specified in the metric definition.

Within a single operation, it is not allowed to have more than one MetricValue instances that have the same metric names and identical label value combinations. If a request has such duplicated MetricValue instances, the entire request is rejected with an invalid argument error.

§log_entries: Vec<LogEntry>

Represents information to be logged.

§importance: Importance

DO NOT USE. This is an experimental field.

§extensions: Vec<Any>

Unimplemented.

Implementations§

Source§

impl Operation

Source

pub fn new() -> Self

Source

pub fn set_operation_id<T: Into<String>>(self, v: T) -> Self

Sets the value of operation_id.

Source

pub fn set_operation_name<T: Into<String>>(self, v: T) -> Self

Sets the value of operation_name.

Source

pub fn set_consumer_id<T: Into<String>>(self, v: T) -> Self

Sets the value of consumer_id.

Source

pub fn set_start_time<T>(self, v: T) -> Self
where T: Into<Timestamp>,

Sets the value of start_time.

Source

pub fn set_or_clear_start_time<T>(self, v: Option<T>) -> Self
where T: Into<Timestamp>,

Sets or clears the value of start_time.

Source

pub fn set_end_time<T>(self, v: T) -> Self
where T: Into<Timestamp>,

Sets the value of end_time.

Source

pub fn set_or_clear_end_time<T>(self, v: Option<T>) -> Self
where T: Into<Timestamp>,

Sets or clears the value of end_time.

Source

pub fn set_labels<T, K, V>(self, v: T) -> Self
where T: IntoIterator<Item = (K, V)>, K: Into<String>, V: Into<String>,

Sets the value of labels.

Source

pub fn set_metric_value_sets<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<MetricValueSet>,

Sets the value of metric_value_sets.

Source

pub fn set_log_entries<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<LogEntry>,

Sets the value of log_entries.

Source

pub fn set_importance<T: Into<Importance>>(self, v: T) -> Self

Sets the value of importance.

Source

pub fn set_extensions<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<Any>,

Sets the value of extensions.

Trait Implementations§

Source§

impl Clone for Operation

Source§

fn clone(&self) -> Operation

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Operation

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Operation

Source§

fn default() -> Operation

Returns the “default value” for a type. Read more
Source§

impl Message for Operation

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for Operation

Source§

fn eq(&self, other: &Operation) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Operation

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,