#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct RealtimeMeasurements {
#[serde(rename = "requests", skip_serializing_if = "Option::is_none")]
pub requests: Option<i32>,
#[serde(rename = "logging", skip_serializing_if = "Option::is_none")]
pub logging: Option<i32>,
#[serde(rename = "log", skip_serializing_if = "Option::is_none")]
pub log: Option<i32>,
#[serde(rename = "resp_header_bytes", skip_serializing_if = "Option::is_none")]
pub resp_header_bytes: Option<i32>,
#[serde(rename = "header_size", skip_serializing_if = "Option::is_none")]
pub header_size: Option<i32>,
#[serde(rename = "resp_body_bytes", skip_serializing_if = "Option::is_none")]
pub resp_body_bytes: Option<i32>,
#[serde(rename = "body_size", skip_serializing_if = "Option::is_none")]
pub body_size: Option<i32>,
#[serde(rename = "hits", skip_serializing_if = "Option::is_none")]
pub hits: Option<i32>,
#[serde(rename = "miss", skip_serializing_if = "Option::is_none")]
pub miss: Option<i32>,
#[serde(rename = "pass", skip_serializing_if = "Option::is_none")]
pub pass: Option<i32>,
#[serde(rename = "synth", skip_serializing_if = "Option::is_none")]
pub synth: Option<i32>,
#[serde(rename = "errors", skip_serializing_if = "Option::is_none")]
pub errors: Option<i32>,
#[serde(rename = "hits_time", skip_serializing_if = "Option::is_none")]
pub hits_time: Option<f32>,
#[serde(rename = "miss_time", skip_serializing_if = "Option::is_none")]
pub miss_time: Option<f32>,
#[serde(rename = "miss_histogram", skip_serializing_if = "Option::is_none")]
pub miss_histogram: Option<::std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "compute_requests", skip_serializing_if = "Option::is_none")]
pub compute_requests: Option<i32>,
#[serde(rename = "compute_execution_time_ms", skip_serializing_if = "Option::is_none")]
pub compute_execution_time_ms: Option<f32>,
#[serde(rename = "compute_ram_used", skip_serializing_if = "Option::is_none")]
pub compute_ram_used: Option<i32>,
#[serde(rename = "compute_request_time_ms", skip_serializing_if = "Option::is_none")]
pub compute_request_time_ms: Option<f32>,
#[serde(rename = "compute_request_time_billed_ms", skip_serializing_if = "Option::is_none")]
pub compute_request_time_billed_ms: Option<f32>,
#[serde(rename = "shield", skip_serializing_if = "Option::is_none")]
pub shield: Option<i32>,
#[serde(rename = "ipv6", skip_serializing_if = "Option::is_none")]
pub ipv6: Option<i32>,
#[serde(rename = "imgopto", skip_serializing_if = "Option::is_none")]
pub imgopto: Option<i32>,
#[serde(rename = "imgopto_shield", skip_serializing_if = "Option::is_none")]
pub imgopto_shield: Option<i32>,
#[serde(rename = "imgopto_transforms", skip_serializing_if = "Option::is_none")]
pub imgopto_transforms: Option<i32>,
#[serde(rename = "otfp", skip_serializing_if = "Option::is_none")]
pub otfp: Option<i32>,
#[serde(rename = "otfp_shield", skip_serializing_if = "Option::is_none")]
pub otfp_shield: Option<i32>,
#[serde(rename = "otfp_manifests", skip_serializing_if = "Option::is_none")]
pub otfp_manifests: Option<i32>,
#[serde(rename = "video", skip_serializing_if = "Option::is_none")]
pub video: Option<i32>,
#[serde(rename = "pci", skip_serializing_if = "Option::is_none")]
pub pci: Option<i32>,
#[serde(rename = "http2", skip_serializing_if = "Option::is_none")]
pub http2: Option<i32>,
#[serde(rename = "http3", skip_serializing_if = "Option::is_none")]
pub http3: Option<i32>,
#[serde(rename = "restarts", skip_serializing_if = "Option::is_none")]
pub restarts: Option<i32>,
#[serde(rename = "req_header_bytes", skip_serializing_if = "Option::is_none")]
pub req_header_bytes: Option<i32>,
#[serde(rename = "req_body_bytes", skip_serializing_if = "Option::is_none")]
pub req_body_bytes: Option<i32>,
#[serde(rename = "bereq_header_bytes", skip_serializing_if = "Option::is_none")]
pub bereq_header_bytes: Option<i32>,
#[serde(rename = "bereq_body_bytes", skip_serializing_if = "Option::is_none")]
pub bereq_body_bytes: Option<i32>,
#[serde(rename = "waf_blocked", skip_serializing_if = "Option::is_none")]
pub waf_blocked: Option<i32>,
#[serde(rename = "waf_logged", skip_serializing_if = "Option::is_none")]
pub waf_logged: Option<i32>,
#[serde(rename = "waf_passed", skip_serializing_if = "Option::is_none")]
pub waf_passed: Option<i32>,
#[serde(rename = "attack_req_header_bytes", skip_serializing_if = "Option::is_none")]
pub attack_req_header_bytes: Option<i32>,
#[serde(rename = "attack_req_body_bytes", skip_serializing_if = "Option::is_none")]
pub attack_req_body_bytes: Option<i32>,
#[serde(rename = "attack_resp_synth_bytes", skip_serializing_if = "Option::is_none")]
pub attack_resp_synth_bytes: Option<i32>,
#[serde(rename = "attack_logged_req_header_bytes", skip_serializing_if = "Option::is_none")]
pub attack_logged_req_header_bytes: Option<i32>,
#[serde(rename = "attack_logged_req_body_bytes", skip_serializing_if = "Option::is_none")]
pub attack_logged_req_body_bytes: Option<i32>,
#[serde(rename = "attack_blocked_req_header_bytes", skip_serializing_if = "Option::is_none")]
pub attack_blocked_req_header_bytes: Option<i32>,
#[serde(rename = "attack_blocked_req_body_bytes", skip_serializing_if = "Option::is_none")]
pub attack_blocked_req_body_bytes: Option<i32>,
#[serde(rename = "attack_passed_req_header_bytes", skip_serializing_if = "Option::is_none")]
pub attack_passed_req_header_bytes: Option<i32>,
#[serde(rename = "attack_passed_req_body_bytes", skip_serializing_if = "Option::is_none")]
pub attack_passed_req_body_bytes: Option<i32>,
#[serde(rename = "shield_resp_header_bytes", skip_serializing_if = "Option::is_none")]
pub shield_resp_header_bytes: Option<i32>,
#[serde(rename = "shield_resp_body_bytes", skip_serializing_if = "Option::is_none")]
pub shield_resp_body_bytes: Option<i32>,
#[serde(rename = "otfp_resp_header_bytes", skip_serializing_if = "Option::is_none")]
pub otfp_resp_header_bytes: Option<i32>,
#[serde(rename = "otfp_resp_body_bytes", skip_serializing_if = "Option::is_none")]
pub otfp_resp_body_bytes: Option<i32>,
#[serde(rename = "otfp_shield_resp_header_bytes", skip_serializing_if = "Option::is_none")]
pub otfp_shield_resp_header_bytes: Option<i32>,
#[serde(rename = "otfp_shield_resp_body_bytes", skip_serializing_if = "Option::is_none")]
pub otfp_shield_resp_body_bytes: Option<i32>,
#[serde(rename = "otfp_shield_time", skip_serializing_if = "Option::is_none")]
pub otfp_shield_time: Option<f32>,
#[serde(rename = "otfp_deliver_time", skip_serializing_if = "Option::is_none")]
pub otfp_deliver_time: Option<f32>,
#[serde(rename = "imgopto_resp_header_bytes", skip_serializing_if = "Option::is_none")]
pub imgopto_resp_header_bytes: Option<i32>,
#[serde(rename = "imgopto_resp_body_bytes", skip_serializing_if = "Option::is_none")]
pub imgopto_resp_body_bytes: Option<i32>,
#[serde(rename = "imgopto_shield_resp_header_bytes", skip_serializing_if = "Option::is_none")]
pub imgopto_shield_resp_header_bytes: Option<i32>,
#[serde(rename = "imgopto_shield_resp_body_bytes", skip_serializing_if = "Option::is_none")]
pub imgopto_shield_resp_body_bytes: Option<i32>,
#[serde(rename = "status_1xx", skip_serializing_if = "Option::is_none")]
pub status_1xx: Option<i32>,
#[serde(rename = "status_2xx", skip_serializing_if = "Option::is_none")]
pub status_2xx: Option<i32>,
#[serde(rename = "status_3xx", skip_serializing_if = "Option::is_none")]
pub status_3xx: Option<i32>,
#[serde(rename = "status_4xx", skip_serializing_if = "Option::is_none")]
pub status_4xx: Option<i32>,
#[serde(rename = "status_5xx", skip_serializing_if = "Option::is_none")]
pub status_5xx: Option<i32>,
#[serde(rename = "status_200", skip_serializing_if = "Option::is_none")]
pub status_200: Option<i32>,
#[serde(rename = "status_204", skip_serializing_if = "Option::is_none")]
pub status_204: Option<i32>,
#[serde(rename = "status_206", skip_serializing_if = "Option::is_none")]
pub status_206: Option<i32>,
#[serde(rename = "status_301", skip_serializing_if = "Option::is_none")]
pub status_301: Option<i32>,
#[serde(rename = "status_302", skip_serializing_if = "Option::is_none")]
pub status_302: Option<i32>,
#[serde(rename = "status_304", skip_serializing_if = "Option::is_none")]
pub status_304: Option<i32>,
#[serde(rename = "status_400", skip_serializing_if = "Option::is_none")]
pub status_400: Option<i32>,
#[serde(rename = "status_401", skip_serializing_if = "Option::is_none")]
pub status_401: Option<i32>,
#[serde(rename = "status_403", skip_serializing_if = "Option::is_none")]
pub status_403: Option<i32>,
#[serde(rename = "status_404", skip_serializing_if = "Option::is_none")]
pub status_404: Option<i32>,
#[serde(rename = "status_406", skip_serializing_if = "Option::is_none")]
pub status_406: Option<i32>,
#[serde(rename = "status_416", skip_serializing_if = "Option::is_none")]
pub status_416: Option<i32>,
#[serde(rename = "status_429", skip_serializing_if = "Option::is_none")]
pub status_429: Option<i32>,
#[serde(rename = "status_500", skip_serializing_if = "Option::is_none")]
pub status_500: Option<i32>,
#[serde(rename = "status_501", skip_serializing_if = "Option::is_none")]
pub status_501: Option<i32>,
#[serde(rename = "status_502", skip_serializing_if = "Option::is_none")]
pub status_502: Option<i32>,
#[serde(rename = "status_503", skip_serializing_if = "Option::is_none")]
pub status_503: Option<i32>,
#[serde(rename = "status_504", skip_serializing_if = "Option::is_none")]
pub status_504: Option<i32>,
#[serde(rename = "status_505", skip_serializing_if = "Option::is_none")]
pub status_505: Option<i32>,
#[serde(rename = "uncacheable", skip_serializing_if = "Option::is_none")]
pub uncacheable: Option<i32>,
#[serde(rename = "pass_time", skip_serializing_if = "Option::is_none")]
pub pass_time: Option<f32>,
#[serde(rename = "tls", skip_serializing_if = "Option::is_none")]
pub tls: Option<i32>,
#[serde(rename = "tls_v10", skip_serializing_if = "Option::is_none")]
pub tls_v10: Option<i32>,
#[serde(rename = "tls_v11", skip_serializing_if = "Option::is_none")]
pub tls_v11: Option<i32>,
#[serde(rename = "tls_v12", skip_serializing_if = "Option::is_none")]
pub tls_v12: Option<i32>,
#[serde(rename = "tls_v13", skip_serializing_if = "Option::is_none")]
pub tls_v13: Option<i32>,
#[serde(rename = "object_size_1k", skip_serializing_if = "Option::is_none")]
pub object_size_1k: Option<i32>,
#[serde(rename = "object_size_10k", skip_serializing_if = "Option::is_none")]
pub object_size_10k: Option<i32>,
#[serde(rename = "object_size_100k", skip_serializing_if = "Option::is_none")]
pub object_size_100k: Option<i32>,
#[serde(rename = "object_size_1m", skip_serializing_if = "Option::is_none")]
pub object_size_1m: Option<i32>,
#[serde(rename = "object_size_10m", skip_serializing_if = "Option::is_none")]
pub object_size_10m: Option<i32>,
#[serde(rename = "object_size_100m", skip_serializing_if = "Option::is_none")]
pub object_size_100m: Option<i32>,
#[serde(rename = "object_size_1g", skip_serializing_if = "Option::is_none")]
pub object_size_1g: Option<i32>,
#[serde(rename = "object_size_other", skip_serializing_if = "Option::is_none")]
pub object_size_other: Option<i32>,
#[serde(rename = "recv_sub_time", skip_serializing_if = "Option::is_none")]
pub recv_sub_time: Option<f32>,
#[serde(rename = "recv_sub_count", skip_serializing_if = "Option::is_none")]
pub recv_sub_count: Option<i32>,
#[serde(rename = "hash_sub_time", skip_serializing_if = "Option::is_none")]
pub hash_sub_time: Option<f32>,
#[serde(rename = "hash_sub_count", skip_serializing_if = "Option::is_none")]
pub hash_sub_count: Option<i32>,
#[serde(rename = "miss_sub_time", skip_serializing_if = "Option::is_none")]
pub miss_sub_time: Option<f32>,
#[serde(rename = "miss_sub_count", skip_serializing_if = "Option::is_none")]
pub miss_sub_count: Option<i32>,
#[serde(rename = "fetch_sub_time", skip_serializing_if = "Option::is_none")]
pub fetch_sub_time: Option<f32>,
#[serde(rename = "fetch_sub_count", skip_serializing_if = "Option::is_none")]
pub fetch_sub_count: Option<i32>,
#[serde(rename = "pass_sub_time", skip_serializing_if = "Option::is_none")]
pub pass_sub_time: Option<f32>,
#[serde(rename = "pass_sub_count", skip_serializing_if = "Option::is_none")]
pub pass_sub_count: Option<i32>,
#[serde(rename = "pipe_sub_time", skip_serializing_if = "Option::is_none")]
pub pipe_sub_time: Option<f32>,
#[serde(rename = "pipe_sub_count", skip_serializing_if = "Option::is_none")]
pub pipe_sub_count: Option<i32>,
#[serde(rename = "deliver_sub_time", skip_serializing_if = "Option::is_none")]
pub deliver_sub_time: Option<f32>,
#[serde(rename = "deliver_sub_count", skip_serializing_if = "Option::is_none")]
pub deliver_sub_count: Option<i32>,
#[serde(rename = "error_sub_time", skip_serializing_if = "Option::is_none")]
pub error_sub_time: Option<f32>,
#[serde(rename = "error_sub_count", skip_serializing_if = "Option::is_none")]
pub error_sub_count: Option<i32>,
#[serde(rename = "hit_sub_time", skip_serializing_if = "Option::is_none")]
pub hit_sub_time: Option<f32>,
#[serde(rename = "hit_sub_count", skip_serializing_if = "Option::is_none")]
pub hit_sub_count: Option<i32>,
#[serde(rename = "prehash_sub_time", skip_serializing_if = "Option::is_none")]
pub prehash_sub_time: Option<f32>,
#[serde(rename = "prehash_sub_count", skip_serializing_if = "Option::is_none")]
pub prehash_sub_count: Option<i32>,
#[serde(rename = "predeliver_sub_time", skip_serializing_if = "Option::is_none")]
pub predeliver_sub_time: Option<f32>,
#[serde(rename = "predeliver_sub_count", skip_serializing_if = "Option::is_none")]
pub predeliver_sub_count: Option<i32>,
#[serde(rename = "hit_resp_body_bytes", skip_serializing_if = "Option::is_none")]
pub hit_resp_body_bytes: Option<i32>,
#[serde(rename = "miss_resp_body_bytes", skip_serializing_if = "Option::is_none")]
pub miss_resp_body_bytes: Option<i32>,
#[serde(rename = "pass_resp_body_bytes", skip_serializing_if = "Option::is_none")]
pub pass_resp_body_bytes: Option<i32>,
#[serde(rename = "compute_req_header_bytes", skip_serializing_if = "Option::is_none")]
pub compute_req_header_bytes: Option<i32>,
#[serde(rename = "compute_req_body_bytes", skip_serializing_if = "Option::is_none")]
pub compute_req_body_bytes: Option<i32>,
#[serde(rename = "compute_resp_header_bytes", skip_serializing_if = "Option::is_none")]
pub compute_resp_header_bytes: Option<i32>,
#[serde(rename = "compute_resp_body_bytes", skip_serializing_if = "Option::is_none")]
pub compute_resp_body_bytes: Option<i32>,
#[serde(rename = "imgvideo", skip_serializing_if = "Option::is_none")]
pub imgvideo: Option<i32>,
#[serde(rename = "imgvideo_frames", skip_serializing_if = "Option::is_none")]
pub imgvideo_frames: Option<i32>,
#[serde(rename = "imgvideo_resp_header_bytes", skip_serializing_if = "Option::is_none")]
pub imgvideo_resp_header_bytes: Option<i32>,
#[serde(rename = "imgvideo_resp_body_bytes", skip_serializing_if = "Option::is_none")]
pub imgvideo_resp_body_bytes: Option<i32>,
#[serde(rename = "imgvideo_shield", skip_serializing_if = "Option::is_none")]
pub imgvideo_shield: Option<i32>,
#[serde(rename = "imgvideo_shield_frames", skip_serializing_if = "Option::is_none")]
pub imgvideo_shield_frames: Option<i32>,
#[serde(rename = "imgvideo_shield_resp_header_bytes", skip_serializing_if = "Option::is_none")]
pub imgvideo_shield_resp_header_bytes: Option<i32>,
#[serde(rename = "imgvideo_shield_resp_body_bytes", skip_serializing_if = "Option::is_none")]
pub imgvideo_shield_resp_body_bytes: Option<i32>,
#[serde(rename = "log_bytes", skip_serializing_if = "Option::is_none")]
pub log_bytes: Option<i32>,
#[serde(rename = "edge_requests", skip_serializing_if = "Option::is_none")]
pub edge_requests: Option<i32>,
#[serde(rename = "edge_resp_header_bytes", skip_serializing_if = "Option::is_none")]
pub edge_resp_header_bytes: Option<i32>,
#[serde(rename = "edge_resp_body_bytes", skip_serializing_if = "Option::is_none")]
pub edge_resp_body_bytes: Option<i32>,
#[serde(rename = "origin_revalidations", skip_serializing_if = "Option::is_none")]
pub origin_revalidations: Option<i32>,
#[serde(rename = "origin_fetches", skip_serializing_if = "Option::is_none")]
pub origin_fetches: Option<i32>,
#[serde(rename = "origin_fetch_header_bytes", skip_serializing_if = "Option::is_none")]
pub origin_fetch_header_bytes: Option<i32>,
#[serde(rename = "origin_fetch_body_bytes", skip_serializing_if = "Option::is_none")]
pub origin_fetch_body_bytes: Option<i32>,
#[serde(rename = "origin_fetch_resp_header_bytes", skip_serializing_if = "Option::is_none")]
pub origin_fetch_resp_header_bytes: Option<i32>,
#[serde(rename = "origin_fetch_resp_body_bytes", skip_serializing_if = "Option::is_none")]
pub origin_fetch_resp_body_bytes: Option<i32>,
#[serde(rename = "shield_revalidations", skip_serializing_if = "Option::is_none")]
pub shield_revalidations: Option<i32>,
#[serde(rename = "shield_fetches", skip_serializing_if = "Option::is_none")]
pub shield_fetches: Option<i32>,
#[serde(rename = "shield_fetch_header_bytes", skip_serializing_if = "Option::is_none")]
pub shield_fetch_header_bytes: Option<i32>,
#[serde(rename = "shield_fetch_body_bytes", skip_serializing_if = "Option::is_none")]
pub shield_fetch_body_bytes: Option<i32>,
#[serde(rename = "shield_fetch_resp_header_bytes", skip_serializing_if = "Option::is_none")]
pub shield_fetch_resp_header_bytes: Option<i32>,
#[serde(rename = "shield_fetch_resp_body_bytes", skip_serializing_if = "Option::is_none")]
pub shield_fetch_resp_body_bytes: Option<i32>,
#[serde(rename = "segblock_origin_fetches", skip_serializing_if = "Option::is_none")]
pub segblock_origin_fetches: Option<i32>,
#[serde(rename = "segblock_shield_fetches", skip_serializing_if = "Option::is_none")]
pub segblock_shield_fetches: Option<i32>,
#[serde(rename = "compute_resp_status_1xx", skip_serializing_if = "Option::is_none")]
pub compute_resp_status_1xx: Option<i32>,
#[serde(rename = "compute_resp_status_2xx", skip_serializing_if = "Option::is_none")]
pub compute_resp_status_2xx: Option<i32>,
#[serde(rename = "compute_resp_status_3xx", skip_serializing_if = "Option::is_none")]
pub compute_resp_status_3xx: Option<i32>,
#[serde(rename = "compute_resp_status_4xx", skip_serializing_if = "Option::is_none")]
pub compute_resp_status_4xx: Option<i32>,
#[serde(rename = "compute_resp_status_5xx", skip_serializing_if = "Option::is_none")]
pub compute_resp_status_5xx: Option<i32>,
#[serde(rename = "edge_hit_requests", skip_serializing_if = "Option::is_none")]
pub edge_hit_requests: Option<i32>,
#[serde(rename = "edge_miss_requests", skip_serializing_if = "Option::is_none")]
pub edge_miss_requests: Option<i32>,
#[serde(rename = "compute_bereq_header_bytes", skip_serializing_if = "Option::is_none")]
pub compute_bereq_header_bytes: Option<i32>,
#[serde(rename = "compute_bereq_body_bytes", skip_serializing_if = "Option::is_none")]
pub compute_bereq_body_bytes: Option<i32>,
#[serde(rename = "compute_beresp_header_bytes", skip_serializing_if = "Option::is_none")]
pub compute_beresp_header_bytes: Option<i32>,
#[serde(rename = "compute_beresp_body_bytes", skip_serializing_if = "Option::is_none")]
pub compute_beresp_body_bytes: Option<i32>,
#[serde(rename = "origin_cache_fetches", skip_serializing_if = "Option::is_none")]
pub origin_cache_fetches: Option<i32>,
#[serde(rename = "shield_cache_fetches", skip_serializing_if = "Option::is_none")]
pub shield_cache_fetches: Option<i32>,
#[serde(rename = "compute_bereqs", skip_serializing_if = "Option::is_none")]
pub compute_bereqs: Option<i32>,
#[serde(rename = "compute_bereq_errors", skip_serializing_if = "Option::is_none")]
pub compute_bereq_errors: Option<i32>,
#[serde(rename = "compute_resource_limit_exceeded", skip_serializing_if = "Option::is_none")]
pub compute_resource_limit_exceeded: Option<i32>,
#[serde(rename = "compute_heap_limit_exceeded", skip_serializing_if = "Option::is_none")]
pub compute_heap_limit_exceeded: Option<i32>,
#[serde(rename = "compute_stack_limit_exceeded", skip_serializing_if = "Option::is_none")]
pub compute_stack_limit_exceeded: Option<i32>,
#[serde(rename = "compute_globals_limit_exceeded", skip_serializing_if = "Option::is_none")]
pub compute_globals_limit_exceeded: Option<i32>,
#[serde(rename = "compute_guest_errors", skip_serializing_if = "Option::is_none")]
pub compute_guest_errors: Option<i32>,
#[serde(rename = "compute_runtime_errors", skip_serializing_if = "Option::is_none")]
pub compute_runtime_errors: Option<i32>,
#[serde(rename = "edge_hit_resp_body_bytes", skip_serializing_if = "Option::is_none")]
pub edge_hit_resp_body_bytes: Option<i32>,
#[serde(rename = "edge_hit_resp_header_bytes", skip_serializing_if = "Option::is_none")]
pub edge_hit_resp_header_bytes: Option<i32>,
#[serde(rename = "edge_miss_resp_body_bytes", skip_serializing_if = "Option::is_none")]
pub edge_miss_resp_body_bytes: Option<i32>,
#[serde(rename = "edge_miss_resp_header_bytes", skip_serializing_if = "Option::is_none")]
pub edge_miss_resp_header_bytes: Option<i32>,
#[serde(rename = "origin_cache_fetch_resp_body_bytes", skip_serializing_if = "Option::is_none")]
pub origin_cache_fetch_resp_body_bytes: Option<i32>,
#[serde(rename = "origin_cache_fetch_resp_header_bytes", skip_serializing_if = "Option::is_none")]
pub origin_cache_fetch_resp_header_bytes: Option<i32>,
#[serde(rename = "shield_hit_requests", skip_serializing_if = "Option::is_none")]
pub shield_hit_requests: Option<i32>,
#[serde(rename = "shield_miss_requests", skip_serializing_if = "Option::is_none")]
pub shield_miss_requests: Option<i32>,
#[serde(rename = "shield_hit_resp_header_bytes", skip_serializing_if = "Option::is_none")]
pub shield_hit_resp_header_bytes: Option<i32>,
#[serde(rename = "shield_hit_resp_body_bytes", skip_serializing_if = "Option::is_none")]
pub shield_hit_resp_body_bytes: Option<i32>,
#[serde(rename = "shield_miss_resp_header_bytes", skip_serializing_if = "Option::is_none")]
pub shield_miss_resp_header_bytes: Option<i32>,
#[serde(rename = "shield_miss_resp_body_bytes", skip_serializing_if = "Option::is_none")]
pub shield_miss_resp_body_bytes: Option<i32>,
#[serde(rename = "websocket_req_header_bytes", skip_serializing_if = "Option::is_none")]
pub websocket_req_header_bytes: Option<i32>,
#[serde(rename = "websocket_req_body_bytes", skip_serializing_if = "Option::is_none")]
pub websocket_req_body_bytes: Option<i32>,
#[serde(rename = "websocket_resp_header_bytes", skip_serializing_if = "Option::is_none")]
pub websocket_resp_header_bytes: Option<i32>,
#[serde(rename = "websocket_bereq_header_bytes", skip_serializing_if = "Option::is_none")]
pub websocket_bereq_header_bytes: Option<i32>,
#[serde(rename = "websocket_bereq_body_bytes", skip_serializing_if = "Option::is_none")]
pub websocket_bereq_body_bytes: Option<i32>,
#[serde(rename = "websocket_beresp_header_bytes", skip_serializing_if = "Option::is_none")]
pub websocket_beresp_header_bytes: Option<i32>,
#[serde(rename = "websocket_beresp_body_bytes", skip_serializing_if = "Option::is_none")]
pub websocket_beresp_body_bytes: Option<i32>,
#[serde(rename = "websocket_conn_time_ms", skip_serializing_if = "Option::is_none")]
pub websocket_conn_time_ms: Option<i32>,
#[serde(rename = "websocket_resp_body_bytes", skip_serializing_if = "Option::is_none")]
pub websocket_resp_body_bytes: Option<i32>,
#[serde(rename = "fanout_recv_publishes", skip_serializing_if = "Option::is_none")]
pub fanout_recv_publishes: Option<i32>,
#[serde(rename = "fanout_send_publishes", skip_serializing_if = "Option::is_none")]
pub fanout_send_publishes: Option<i32>,
#[serde(rename = "kv_store_class_a_operations", skip_serializing_if = "Option::is_none")]
pub kv_store_class_a_operations: Option<i32>,
#[serde(rename = "kv_store_class_b_operations", skip_serializing_if = "Option::is_none")]
pub kv_store_class_b_operations: Option<i32>,
#[serde(rename = "object_store_class_a_operations", skip_serializing_if = "Option::is_none")]
pub object_store_class_a_operations: Option<i32>,
#[serde(rename = "object_store_class_b_operations", skip_serializing_if = "Option::is_none")]
pub object_store_class_b_operations: Option<i32>,
#[serde(rename = "fanout_req_header_bytes", skip_serializing_if = "Option::is_none")]
pub fanout_req_header_bytes: Option<i32>,
#[serde(rename = "fanout_req_body_bytes", skip_serializing_if = "Option::is_none")]
pub fanout_req_body_bytes: Option<i32>,
#[serde(rename = "fanout_resp_header_bytes", skip_serializing_if = "Option::is_none")]
pub fanout_resp_header_bytes: Option<i32>,
#[serde(rename = "fanout_resp_body_bytes", skip_serializing_if = "Option::is_none")]
pub fanout_resp_body_bytes: Option<i32>,
#[serde(rename = "fanout_bereq_header_bytes", skip_serializing_if = "Option::is_none")]
pub fanout_bereq_header_bytes: Option<i32>,
#[serde(rename = "fanout_bereq_body_bytes", skip_serializing_if = "Option::is_none")]
pub fanout_bereq_body_bytes: Option<i32>,
#[serde(rename = "fanout_beresp_header_bytes", skip_serializing_if = "Option::is_none")]
pub fanout_beresp_header_bytes: Option<i32>,
#[serde(rename = "fanout_beresp_body_bytes", skip_serializing_if = "Option::is_none")]
pub fanout_beresp_body_bytes: Option<i32>,
#[serde(rename = "fanout_conn_time_ms", skip_serializing_if = "Option::is_none")]
pub fanout_conn_time_ms: Option<i32>,
#[serde(rename = "ddos_action_limit_streams_connections", skip_serializing_if = "Option::is_none")]
pub ddos_action_limit_streams_connections: Option<i32>,
#[serde(rename = "ddos_action_limit_streams_requests", skip_serializing_if = "Option::is_none")]
pub ddos_action_limit_streams_requests: Option<i32>,
#[serde(rename = "ddos_action_tarpit_accept", skip_serializing_if = "Option::is_none")]
pub ddos_action_tarpit_accept: Option<i32>,
#[serde(rename = "ddos_action_tarpit", skip_serializing_if = "Option::is_none")]
pub ddos_action_tarpit: Option<i32>,
#[serde(rename = "ddos_action_close", skip_serializing_if = "Option::is_none")]
pub ddos_action_close: Option<i32>,
#[serde(rename = "ddos_action_blackhole", skip_serializing_if = "Option::is_none")]
pub ddos_action_blackhole: Option<i32>,
}
impl RealtimeMeasurements {
pub fn new() -> RealtimeMeasurements {
RealtimeMeasurements {
requests: None,
logging: None,
log: None,
resp_header_bytes: None,
header_size: None,
resp_body_bytes: None,
body_size: None,
hits: None,
miss: None,
pass: None,
synth: None,
errors: None,
hits_time: None,
miss_time: None,
miss_histogram: None,
compute_requests: None,
compute_execution_time_ms: None,
compute_ram_used: None,
compute_request_time_ms: None,
compute_request_time_billed_ms: None,
shield: None,
ipv6: None,
imgopto: None,
imgopto_shield: None,
imgopto_transforms: None,
otfp: None,
otfp_shield: None,
otfp_manifests: None,
video: None,
pci: None,
http2: None,
http3: None,
restarts: None,
req_header_bytes: None,
req_body_bytes: None,
bereq_header_bytes: None,
bereq_body_bytes: None,
waf_blocked: None,
waf_logged: None,
waf_passed: None,
attack_req_header_bytes: None,
attack_req_body_bytes: None,
attack_resp_synth_bytes: None,
attack_logged_req_header_bytes: None,
attack_logged_req_body_bytes: None,
attack_blocked_req_header_bytes: None,
attack_blocked_req_body_bytes: None,
attack_passed_req_header_bytes: None,
attack_passed_req_body_bytes: None,
shield_resp_header_bytes: None,
shield_resp_body_bytes: None,
otfp_resp_header_bytes: None,
otfp_resp_body_bytes: None,
otfp_shield_resp_header_bytes: None,
otfp_shield_resp_body_bytes: None,
otfp_shield_time: None,
otfp_deliver_time: None,
imgopto_resp_header_bytes: None,
imgopto_resp_body_bytes: None,
imgopto_shield_resp_header_bytes: None,
imgopto_shield_resp_body_bytes: None,
status_1xx: None,
status_2xx: None,
status_3xx: None,
status_4xx: None,
status_5xx: None,
status_200: None,
status_204: None,
status_206: None,
status_301: None,
status_302: None,
status_304: None,
status_400: None,
status_401: None,
status_403: None,
status_404: None,
status_406: None,
status_416: None,
status_429: None,
status_500: None,
status_501: None,
status_502: None,
status_503: None,
status_504: None,
status_505: None,
uncacheable: None,
pass_time: None,
tls: None,
tls_v10: None,
tls_v11: None,
tls_v12: None,
tls_v13: None,
object_size_1k: None,
object_size_10k: None,
object_size_100k: None,
object_size_1m: None,
object_size_10m: None,
object_size_100m: None,
object_size_1g: None,
object_size_other: None,
recv_sub_time: None,
recv_sub_count: None,
hash_sub_time: None,
hash_sub_count: None,
miss_sub_time: None,
miss_sub_count: None,
fetch_sub_time: None,
fetch_sub_count: None,
pass_sub_time: None,
pass_sub_count: None,
pipe_sub_time: None,
pipe_sub_count: None,
deliver_sub_time: None,
deliver_sub_count: None,
error_sub_time: None,
error_sub_count: None,
hit_sub_time: None,
hit_sub_count: None,
prehash_sub_time: None,
prehash_sub_count: None,
predeliver_sub_time: None,
predeliver_sub_count: None,
hit_resp_body_bytes: None,
miss_resp_body_bytes: None,
pass_resp_body_bytes: None,
compute_req_header_bytes: None,
compute_req_body_bytes: None,
compute_resp_header_bytes: None,
compute_resp_body_bytes: None,
imgvideo: None,
imgvideo_frames: None,
imgvideo_resp_header_bytes: None,
imgvideo_resp_body_bytes: None,
imgvideo_shield: None,
imgvideo_shield_frames: None,
imgvideo_shield_resp_header_bytes: None,
imgvideo_shield_resp_body_bytes: None,
log_bytes: None,
edge_requests: None,
edge_resp_header_bytes: None,
edge_resp_body_bytes: None,
origin_revalidations: None,
origin_fetches: None,
origin_fetch_header_bytes: None,
origin_fetch_body_bytes: None,
origin_fetch_resp_header_bytes: None,
origin_fetch_resp_body_bytes: None,
shield_revalidations: None,
shield_fetches: None,
shield_fetch_header_bytes: None,
shield_fetch_body_bytes: None,
shield_fetch_resp_header_bytes: None,
shield_fetch_resp_body_bytes: None,
segblock_origin_fetches: None,
segblock_shield_fetches: None,
compute_resp_status_1xx: None,
compute_resp_status_2xx: None,
compute_resp_status_3xx: None,
compute_resp_status_4xx: None,
compute_resp_status_5xx: None,
edge_hit_requests: None,
edge_miss_requests: None,
compute_bereq_header_bytes: None,
compute_bereq_body_bytes: None,
compute_beresp_header_bytes: None,
compute_beresp_body_bytes: None,
origin_cache_fetches: None,
shield_cache_fetches: None,
compute_bereqs: None,
compute_bereq_errors: None,
compute_resource_limit_exceeded: None,
compute_heap_limit_exceeded: None,
compute_stack_limit_exceeded: None,
compute_globals_limit_exceeded: None,
compute_guest_errors: None,
compute_runtime_errors: None,
edge_hit_resp_body_bytes: None,
edge_hit_resp_header_bytes: None,
edge_miss_resp_body_bytes: None,
edge_miss_resp_header_bytes: None,
origin_cache_fetch_resp_body_bytes: None,
origin_cache_fetch_resp_header_bytes: None,
shield_hit_requests: None,
shield_miss_requests: None,
shield_hit_resp_header_bytes: None,
shield_hit_resp_body_bytes: None,
shield_miss_resp_header_bytes: None,
shield_miss_resp_body_bytes: None,
websocket_req_header_bytes: None,
websocket_req_body_bytes: None,
websocket_resp_header_bytes: None,
websocket_bereq_header_bytes: None,
websocket_bereq_body_bytes: None,
websocket_beresp_header_bytes: None,
websocket_beresp_body_bytes: None,
websocket_conn_time_ms: None,
websocket_resp_body_bytes: None,
fanout_recv_publishes: None,
fanout_send_publishes: None,
kv_store_class_a_operations: None,
kv_store_class_b_operations: None,
object_store_class_a_operations: None,
object_store_class_b_operations: None,
fanout_req_header_bytes: None,
fanout_req_body_bytes: None,
fanout_resp_header_bytes: None,
fanout_resp_body_bytes: None,
fanout_bereq_header_bytes: None,
fanout_bereq_body_bytes: None,
fanout_beresp_header_bytes: None,
fanout_beresp_body_bytes: None,
fanout_conn_time_ms: None,
ddos_action_limit_streams_connections: None,
ddos_action_limit_streams_requests: None,
ddos_action_tarpit_accept: None,
ddos_action_tarpit: None,
ddos_action_close: None,
ddos_action_blackhole: None,
}
}
}