Source code for models.usage_and_performance_stats

# -*- coding: utf-8 -*-
# Copyright 2021 Cohesity Inc.

[docs]class UsageAndPerformanceStats(object): """Implementation of the 'UsageAndPerformanceStats' model. Provides usage and performance statistics for entities such as a disks, Nodes or Clusters. Attributes: data_in_bytes (long|int): Specifies the data read from the protected objects by the Cohesity Cluster before any data reduction using deduplication and compression. data_in_bytes_after_reduction (long|int): Morphed Usage before data is replicated to other nodes as per RF or Erasure Coding policy. min_usable_physical_capacity_bytes (long|int): Specifies the minimum usable capacity available after erasure coding or RF. This will only be populated for cluster. If a cluster has multiple Domains (View Boxes) with different RF or erasure coding, this metric will be computed using the scheme that will provide least saving. num_bytes_read (long|int): Provides the total number of bytes read in the last 30 seconds. num_bytes_written (long|int): Provides the total number of bytes written in the last 30 second. physical_capacity_bytes (long|int): Provides the total physical capacity in bytes of all the storage devices, after subtracting space reserved for cluster services read_ios (long|int): Provides the number of Read IOs that occurred in the last 30 seconds. read_latency_msecs (float): Provides the Read latency in milliseconds for the Read IOs that occurred during the last 30 seconds. system_capacity_bytes (long|int): Provides the total available capacity as computed by the Linux 'statfs' command. system_usage_bytes (long|int): Provides the usage of bytes, as computed by the Linux 'statfs' command, after the size of the data is reduced by change-block tracking, compression and deduplication. total_physical_raw_usage_bytes (long|int): Provides the usage of bytes, as computed by the Cohesity Cluster, before the size of the data is reduced by change-block tracking, compression and deduplication. total_physical_usage_bytes (long|int): Provides the data stored locally, after the data has been reduced by deduplication and compression, including the space required for honoring the resiliency settings (EC/RF). write_ios (long|int): Provides the number of Write IOs that occurred in the last 30 seconds. write_latency_msecs (float): Provides the Write latency in milliseconds for the Write IOs that occurred during the last 30 seconds. """ # Create a mapping from Model property names to API property names _names = { "data_in_bytes":'dataInBytes', "data_in_bytes_after_reduction":'dataInBytesAfterReduction', "min_usable_physical_capacity_bytes":'minUsablePhysicalCapacityBytes', "num_bytes_read":'numBytesRead', "num_bytes_written":'numBytesWritten', "physical_capacity_bytes":'physicalCapacityBytes', "read_ios":'readIos', "read_latency_msecs":'readLatencyMsecs', "system_capacity_bytes":'systemCapacityBytes', "system_usage_bytes":'systemUsageBytes', "total_physical_raw_usage_bytes":'totalPhysicalRawUsageBytes', "total_physical_usage_bytes":'totalPhysicalUsageBytes', "write_ios":'writeIos', "write_latency_msecs":'writeLatencyMsecs' } def __init__(self, data_in_bytes=None, data_in_bytes_after_reduction=None, min_usable_physical_capacity_bytes=None, num_bytes_read=None, num_bytes_written=None, physical_capacity_bytes=None, read_ios=None, read_latency_msecs=None, system_capacity_bytes=None, system_usage_bytes=None, total_physical_raw_usage_bytes=None, total_physical_usage_bytes=None, write_ios=None, write_latency_msecs=None): """Constructor for the UsageAndPerformanceStats class""" # Initialize members of the class self.data_in_bytes = data_in_bytes self.data_in_bytes_after_reduction = data_in_bytes_after_reduction self.min_usable_physical_capacity_bytes = min_usable_physical_capacity_bytes self.num_bytes_read = num_bytes_read self.num_bytes_written = num_bytes_written self.physical_capacity_bytes = physical_capacity_bytes self.read_ios = read_ios self.read_latency_msecs = read_latency_msecs self.system_capacity_bytes = system_capacity_bytes self.system_usage_bytes = system_usage_bytes self.total_physical_raw_usage_bytes = total_physical_raw_usage_bytes self.total_physical_usage_bytes = total_physical_usage_bytes self.write_ios = write_ios self.write_latency_msecs = write_latency_msecs
[docs] @classmethod def from_dictionary(cls, dictionary): """Creates an instance of this model from a dictionary Args: dictionary (dictionary): A dictionary representation of the object as obtained from the deserialization of the server's response. The keys MUST match property names in the API description. Returns: object: An instance of this structure class. """ if dictionary is None: return None # Extract variables from the dictionary data_in_bytes = dictionary.get('dataInBytes') data_in_bytes_after_reduction = dictionary.get('dataInBytesAfterReduction') min_usable_physical_capacity_bytes = dictionary.get('minUsablePhysicalCapacityBytes') num_bytes_read = dictionary.get('numBytesRead') num_bytes_written = dictionary.get('numBytesWritten') physical_capacity_bytes = dictionary.get('physicalCapacityBytes') read_ios = dictionary.get('readIos') read_latency_msecs = dictionary.get('readLatencyMsecs') system_capacity_bytes = dictionary.get('systemCapacityBytes') system_usage_bytes = dictionary.get('systemUsageBytes') total_physical_raw_usage_bytes = dictionary.get('totalPhysicalRawUsageBytes') total_physical_usage_bytes = dictionary.get('totalPhysicalUsageBytes') write_ios = dictionary.get('writeIos') write_latency_msecs = dictionary.get('writeLatencyMsecs') # Return an object of this model return cls(data_in_bytes, data_in_bytes_after_reduction, min_usable_physical_capacity_bytes, num_bytes_read, num_bytes_written, physical_capacity_bytes, read_ios, read_latency_msecs, system_capacity_bytes, system_usage_bytes, total_physical_raw_usage_bytes, total_physical_usage_bytes, write_ios, write_latency_msecs)