use serde::{Deserialize, Serialize}; /*
* Service Control API
*
* Provides admission control and telemetry reporting for services integrated with Service Infrastructure.
*
* The version of the OpenAPI document: v1
*
* Generated by: https://openapi-generator.tech
*/
use crate::google_rest_apis::servicecontrol_v1::models;
/// Exemplar : Exemplars are example points that may be used to annotate aggregated distribution values. They are metadata that gives information about a particular value added to a Distribution bucket, such as a trace ID that was active when a value was added. They may contain further information, such as a example values and timestamps, origin, etc.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Exemplar {
/// Contextual information about the example value. Examples are: Trace: type.googleapis.com/google.monitoring.v3.SpanContext Literal string: type.googleapis.com/google.protobuf.StringValue Labels dropped during aggregation: type.googleapis.com/google.monitoring.v3.DroppedLabels There may be only a single attachment of any given message type in a single exemplar, and this is enforced by the system.
#[serde(rename = "attachments", skip_serializing_if = "Option::is_none")]
pub attachments: Option<Vec<std::collections::HashMap<String, serde_json::Value>>>,
/// The observation (sampling) time of the above value.
#[serde(rename = "timestamp", skip_serializing_if = "Option::is_none")]
pub timestamp: Option<String>,
/// Value of the exemplar point. This value determines to which bucket the exemplar belongs.
#[serde(rename = "value", skip_serializing_if = "Option::is_none")]
pub value: Option<f64>,
}
impl Exemplar {
/// Exemplars are example points that may be used to annotate aggregated distribution values. They are metadata that gives information about a particular value added to a Distribution bucket, such as a trace ID that was active when a value was added. They may contain further information, such as a example values and timestamps, origin, etc.
pub fn new() -> Exemplar {
Exemplar {
attachments: None,
timestamp: None,
value: None,
}
}
}