use crate::common;
use crate::nodes;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Stats {
#[serde(rename = "ingest", default, skip_serializing_if = "Option::is_none")]
pub ingest: Option<nodes::stats::Ingest>,
#[serde(rename = "task_cancellation", default, skip_serializing_if = "Option::is_none")]
pub task_cancellation: Option<nodes::stats::ShardTaskCancellationStats>,
#[serde(rename = "name", default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "jvm", default, skip_serializing_if = "Option::is_none")]
pub jvm: Option<nodes::stats::Jvm>,
#[serde(rename = "caches", default, skip_serializing_if = "Option::is_none")]
pub caches: Option<nodes::stats::ShardCachesStats>,
#[serde(rename = "discovery", default, skip_serializing_if = "Option::is_none")]
pub discovery: Option<nodes::stats::Discovery>,
#[serde(rename = "weighted_routing", default, skip_serializing_if = "Option::is_none")]
pub weighted_routing: Option<nodes::stats::ShardWeightedRoutingStats>, #[serde(rename = "attributes", default, skip_serializing_if = "Option::is_none")]
pub attributes: Option<serde_json::Value>,
#[serde(rename = "admission_control", default, skip_serializing_if = "Option::is_none")]
pub admission_control: Option<nodes::stats::ShardAdmissionControlStats>,
#[serde(rename = "host", default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(rename = "transport_address", default, skip_serializing_if = "Option::is_none")]
pub transport_address: Option<String>,
#[serde(rename = "segment_replication_backpressure", default, skip_serializing_if = "Option::is_none")]
pub segment_replication_backpressure: Option<nodes::stats::ShardSegmentReplicationBackpressureStats>,
#[serde(rename = "http", default, skip_serializing_if = "Option::is_none")]
pub http: Option<nodes::stats::Http>, #[serde(rename = "breakers", default, skip_serializing_if = "Option::is_none")]
pub breakers: Option<serde_json::Value>,
#[serde(rename = "indices", default, skip_serializing_if = "Option::is_none")]
pub indices: Option<String>,
#[serde(rename = "search_backpressure", default, skip_serializing_if = "Option::is_none")]
pub search_backpressure: Option<nodes::stats::ShardSearchBackpressureStats>, #[serde(rename = "thread_pool", default, skip_serializing_if = "Option::is_none")]
pub thread_pool: Option<serde_json::Value>, #[serde(rename = "roles", default, skip_serializing_if = "Option::is_none")]
pub roles: Option<Vec<common::NodeRole>>,
#[serde(rename = "remote_store", default, skip_serializing_if = "Option::is_none")]
pub remote_store: Option<nodes::stats::RemoteStoreStats>,
#[serde(rename = "resource_usage_stats", default, skip_serializing_if = "Option::is_none")]
pub resource_usage_stats: Option<nodes::stats::ShardResourceUsageStats>,
#[serde(rename = "indexing_pressure", default, skip_serializing_if = "Option::is_none")]
pub indexing_pressure: Option<nodes::stats::IndexingPressure>,
#[serde(rename = "search_pipeline", default, skip_serializing_if = "Option::is_none")]
pub search_pipeline: Option<nodes::stats::ShardSearchPipelineStats>,
#[serde(rename = "process", default, skip_serializing_if = "Option::is_none")]
pub process: Option<nodes::stats::Process>,
#[serde(rename = "transport", default, skip_serializing_if = "Option::is_none")]
pub transport: Option<nodes::stats::Transport>,
#[serde(rename = "os", default, skip_serializing_if = "Option::is_none")]
pub os: Option<nodes::stats::OperatingSystem>,
#[serde(rename = "fs", default, skip_serializing_if = "Option::is_none")]
pub fs: Option<nodes::stats::FileSystem>,
#[serde(rename = "timestamp", default, skip_serializing_if = "Option::is_none")]
pub timestamp: Option<String>,
#[serde(rename = "cluster_manager_throttling", default, skip_serializing_if = "Option::is_none")]
pub cluster_manager_throttling: Option<nodes::stats::ShardClusterManagerThrottlingStats>,
#[serde(rename = "script_cache", default, skip_serializing_if = "Option::is_none")]
pub script_cache: Option<nodes::stats::ScriptCacheStats>,
#[serde(rename = "script", default, skip_serializing_if = "Option::is_none")]
pub script: Option<String>, #[serde(rename = "adaptive_selection", default, skip_serializing_if = "Option::is_none")]
pub adaptive_selection: Option<serde_json::Value>,
#[serde(rename = "shard_indexing_pressure", default, skip_serializing_if = "Option::is_none")]
pub shard_indexing_pressure: Option<nodes::stats::ShardIndexingPressureStats>,
}
impl Stats {
pub fn new() -> Stats {
Stats {
ingest: None,
task_cancellation: None,
name: None,
jvm: None,
caches: None,
discovery: None,
weighted_routing: None,
attributes: None,
admission_control: None,
host: None,
transport_address: None,
segment_replication_backpressure: None,
http: None,
breakers: None,
indices: None,
search_backpressure: None,
thread_pool: None,
roles: None,
remote_store: None,
resource_usage_stats: None,
indexing_pressure: None,
search_pipeline: None,
process: None,
transport: None,
os: None,
fs: None,
timestamp: None,
cluster_manager_throttling: None,
script_cache: None,
script: None,
adaptive_selection: None,
shard_indexing_pressure: None,
}
}
}