sc_crawler.table_fields
Enumerations, JSON nested data objects & other helper classes used in sc_crawler.tables.
Classes:
- HashableDict – A dict that can be hashed by its JSON representation.
- HashableJSON – Alternative JSON SQLAlchemy column representation, which can be hashed.
- Json – Custom base SQLModel class that supports dumping as JSON.
- Status – Last known status of a resource, e.g. active or inactive.
- ResourceType – Kind of resource a benchmark score refers to.
- Cpu – CPU details.
- Gpu – GPU accelerator details.
- StorageType – Type of a storage, e.g. HDD or SSD.
- DatabaseEngine – Managed database engine.
- DatabaseWireProtocol – Wire protocol for a managed database type.
- DatabaseHaLevel – High availability level for a managed database type.
- DatabaseHaStrategy – High availability replication strategy for a managed database type.
- DatabaseSecurityFeature – Security capabilities supported by DBaaS providers.
- DatabaseStorageScope – Scope of a managed database storage product.
- Disk – Disk definition based on size and storage type.
- TrafficDirection – Direction of the network traffic.
- CpuAllocation – CPU allocation methods at cloud vendors.
- CpuArchitecture – CPU architectures.
- DdrGeneration – Generation of the DDR SDRAM.
- Allocation – Server allocation options.
- PriceUnit – Supported units for the price tables.
- PriceTier – Price tier definition.
- Parallelism – Parallelism mode of a benchmark run.
- BenchmarkComponentAggregationMethod – How component benchmark scores are combined into one composite score.
- BenchmarkComponentNormalizationMethod – How each raw benchmark value is scaled to be comparable across benchmarks.
- BenchmarkComponentMissingPolicy – What to do when a component has no usable measurement for a server.
- ScoreComponent – One component's contribution to a composite workload profile score.
- WorkloadScoreBreakdown – Per-server realized calculation of a composite workload profile score.
- Category – Workload category for a cloud server type.
class HashableDict
Bases: dict
A dict that can be hashed by its JSON representation.
Useful for typehinting dict-type table columns that are primary
keys (which need to be hashable for SQLAlchemy ORM). See
sc_crawler.table_fields.HashableJSON class for the related sa_type.
class HashableJSON
Bases: TypeDecorator
Alternative JSON SQLAlchemy column representation, which can be hashed.
class Json
Bases: BaseModel
Custom base SQLModel class that supports dumping as JSON.
class Status
Last known status of a resource, e.g. active or inactive.
Functions:
- best – Return the best of the given statuses: ACTIVE, PLANNED_FOR_RETIREMENT, INACTIVE, then RETIRED.
Attributes:
- ACTIVE – Active and available resource.
- INACTIVE – Unavailable. For Server/Database: temporary or unknown cause.
- PLANNED_FOR_RETIREMENT – Planned for retirement; only valid for Server and Database.
- RETIRED – Not orderable anymore, but prices may still exist (e.g. active multi-year contracts). Only valid for Server and Database.
- is_orderable (
bool) – Whether a Server/Database with this status can still be ordered. - is_general (
bool) – Whether this status is valid for non-server/database models (ACTIVE or INACTIVE only).
attr Status.ACTIVE
Status.ACTIVEACTIVE = 'active'
Active and available resource.
attr Status.INACTIVE
Status.INACTIVEINACTIVE = 'inactive'
Unavailable. For Server/Database: temporary or unknown cause.
attr Status.PLANNED_FOR_RETIREMENT
Status.PLANNED_FOR_RETIREMENTPLANNED_FOR_RETIREMENT = 'planned-for-retirement'
Planned for retirement; only valid for Server and Database.
attr Status.RETIRED
Status.RETIREDRETIRED = 'retired'
Not orderable anymore, but prices may still exist (e.g. active multi-year contracts). Only valid for Server and Database.
meth Status.best
Status.bestbest(statuses)
Return the best of the given statuses: ACTIVE, PLANNED_FOR_RETIREMENT, INACTIVE, then RETIRED.
attr Status.is_orderable
Status.is_orderableis_orderable: bool
Whether a Server/Database with this status can still be ordered.
attr Status.is_general
Status.is_generalis_general: bool
Whether this status is valid for non-server/database models (ACTIVE or INACTIVE only).
class ResourceType
Kind of resource a benchmark score refers to.
Attributes:
attr ResourceType.SERVER
ResourceType.SERVERSERVER = 'server'
Compute server instance.
attr ResourceType.DATABASE
ResourceType.DATABASEDATABASE = 'database'
Managed database instance.
class Cpu
Bases: Json
CPU details.
Attributes:
- manufacturer (
Optional[str]) – The manufacturer of the processor, e.g. Intel or AMD. - family (
Optional[str]) – The product line/family of the processor, e.g. Xeon, Core i7, Ryzen 9. - model (
Optional[str]) – The model number of the processor, e.g. 9750H. - cores (
Optional[int]) – Number of CPU cores. - threads (
Optional[int]) – Number of CPU threads. - l1_cache_size (
Optional[int]) – L1 cache size in bytes. - l2_cache_size (
Optional[int]) – L2 cache size in bytes. - l3_cache_size (
Optional[int]) – L3 cache size in bytes. - microcode (
Optional[str]) – Microcode version. - capabilities (
List[str]) – List of CPU flag/features/capabilities, e.g. MMX, Intel SGX etc. - bugs (
List[str]) – List of known bugs, e.g. cpu_meltdown spectre_v1. - bogomips (
Optional[float]) – BogoMips value.
attr Cpu.manufacturer
Cpu.manufacturermanufacturer: Optional[str] = None
The manufacturer of the processor, e.g. Intel or AMD.
attr Cpu.family
Cpu.familyfamily: Optional[str] = None
The product line/family of the processor, e.g. Xeon, Core i7, Ryzen 9.
attr Cpu.model
Cpu.modelmodel: Optional[str] = None
The model number of the processor, e.g. 9750H.
attr Cpu.cores
Cpu.corescores: Optional[int] = None
Number of CPU cores.
attr Cpu.threads
Cpu.threadsthreads: Optional[int] = None
Number of CPU threads.
attr Cpu.l1_cache_size
Cpu.l1_cache_sizel1_cache_size: Optional[int] = None
L1 cache size in bytes.
attr Cpu.l2_cache_size
Cpu.l2_cache_sizel2_cache_size: Optional[int] = None
L2 cache size in bytes.
attr Cpu.l3_cache_size
Cpu.l3_cache_sizel3_cache_size: Optional[int] = None
L3 cache size in bytes.
attr Cpu.microcode
Cpu.microcodemicrocode: Optional[str] = None
Microcode version.
attr Cpu.capabilities
Cpu.capabilitiescapabilities: List[str] = []
List of CPU flag/features/capabilities, e.g. MMX, Intel SGX etc.
attr Cpu.bugs
Cpu.bugsbugs: List[str] = []
List of known bugs, e.g. cpu_meltdown spectre_v1.
attr Cpu.bogomips
Cpu.bogomipsbogomips: Optional[float] = None
BogoMips value.
class Gpu
Bases: Json
GPU accelerator details.
Attributes:
- manufacturer (
str) – The manufacturer/brand of the GPU accelerator, e.g. Nvidia or AMD. - family (
Optional[str]) – The model family/architecture of the GPU accelerator. - model (
Optional[str]) – The model number of the GPU accelerator. - memory (
int) – Memory (MiB) allocated to the GPU accelerator. - firmware_version (
Optional[str]) – Firmware version. - bios_version (
Optional[str]) – Video BIOS version. - graphics_clock (
Optional[int]) – GPU core clock speed (Mhz). - sm_clock (
Optional[int]) – Streaming Multiprocessor clock speed (Mhz). - mem_clock (
Optional[int]) – Memory clock speed (Mhz). - video_clock (
Optional[int]) – Video clock speed (Mhz).
attr Gpu.manufacturer
Gpu.manufacturermanufacturer: str
The manufacturer/brand of the GPU accelerator, e.g. Nvidia or AMD.
attr Gpu.family
Gpu.familyfamily: Optional[str] = None
The model family/architecture of the GPU accelerator.
attr Gpu.model
Gpu.modelmodel: Optional[str] = None
The model number of the GPU accelerator.
attr Gpu.memory
Gpu.memorymemory: int
Memory (MiB) allocated to the GPU accelerator.
attr Gpu.firmware_version
Gpu.firmware_versionfirmware_version: Optional[str] = None
Firmware version.
attr Gpu.bios_version
Gpu.bios_versionbios_version: Optional[str] = None
Video BIOS version.
attr Gpu.graphics_clock
Gpu.graphics_clockgraphics_clock: Optional[int] = None
GPU core clock speed (Mhz).
attr Gpu.sm_clock
Gpu.sm_clocksm_clock: Optional[int] = None
Streaming Multiprocessor clock speed (Mhz).
attr Gpu.mem_clock
Gpu.mem_clockmem_clock: Optional[int] = None
Memory clock speed (Mhz).
attr Gpu.video_clock
Gpu.video_clockvideo_clock: Optional[int] = None
Video clock speed (Mhz).
class StorageType
Type of a storage, e.g. HDD or SSD.
Attributes:
attr StorageType.HDD
StorageType.HDDHDD = 'hdd'
Magnetic hard disk drive.
attr StorageType.SSD
StorageType.SSDSSD = 'ssd'
Solid-state drive.
attr StorageType.NVME_SSD
StorageType.NVME_SSDNVME_SSD = 'nvme ssd'
NVMe based solid-state drive.
class DatabaseEngine
Managed database engine.
Attributes:
- POSTGRESQL – PostgreSQL.
attr DatabaseEngine.POSTGRESQL
DatabaseEngine.POSTGRESQLPOSTGRESQL = 'postgresql'
PostgreSQL.
class DatabaseWireProtocol
Wire protocol for a managed database type.
Attributes:
- POSTGRESQL – PostgreSQL.
attr DatabaseWireProtocol.POSTGRESQL
DatabaseWireProtocol.POSTGRESQLPOSTGRESQL = 'postgresql'
PostgreSQL.
class DatabaseHaLevel
High availability level for a managed database type.
Functions:
- ordered – Return supported HA levels in canonical order (most available first).
Attributes:
- NONE – No high availability.
- SINGLE_ZONE – Single-zone high availability, meaning multiple databases in the same zone with failover or multi-master.
- MULTI_ZONE – Multi-zone high availability, meaning multiple databases in multiple zones of the same region with failover or multi-master.
- MULTI_REGION – Multi-region high availability, meaning multiple databases in multiple regions with failover or multi-master.
attr DatabaseHaLevel.NONE
DatabaseHaLevel.NONENONE = 'none'
No high availability.
attr DatabaseHaLevel.SINGLE_ZONE
DatabaseHaLevel.SINGLE_ZONESINGLE_ZONE = 'single-zone'
Single-zone high availability, meaning multiple databases in the same zone with failover or multi-master.
attr DatabaseHaLevel.MULTI_ZONE
DatabaseHaLevel.MULTI_ZONEMULTI_ZONE = 'multi-zone'
Multi-zone high availability, meaning multiple databases in multiple zones of the same region with failover or multi-master.
attr DatabaseHaLevel.MULTI_REGION
DatabaseHaLevel.MULTI_REGIONMULTI_REGION = 'multi-region'
Multi-region high availability, meaning multiple databases in multiple regions with failover or multi-master.
meth DatabaseHaLevel.ordered
DatabaseHaLevel.orderedordered(levels)
Return supported HA levels in canonical order (most available first).
class DatabaseHaStrategy
High availability replication strategy for a managed database type.
Functions:
- ordered – Return supported HA strategies in canonical order (most capable first).
Attributes:
- NONE – No high availability strategy.
- PASSIVE_STANDBY – Passive standby for failover, e.g. standard RDS Multi-AZ with block storage replication.
- READABLE_CLUSTER – Readable cluster for read scaling and failover, e.g. RDS Multi-AZ Cluster / Aurora with engine replication.
- MULTI_MASTER – True multi-master, e.g. CockroachDB / Spanner / DynamoDB Global Tables.
attr DatabaseHaStrategy.NONE
DatabaseHaStrategy.NONENONE = 'none'
No high availability strategy.
attr DatabaseHaStrategy.PASSIVE_STANDBY
DatabaseHaStrategy.PASSIVE_STANDBYPASSIVE_STANDBY = 'passive-standby'
Passive standby for failover, e.g. standard RDS Multi-AZ with block storage replication.
attr DatabaseHaStrategy.READABLE_CLUSTER
DatabaseHaStrategy.READABLE_CLUSTERREADABLE_CLUSTER = 'readable-cluster'
Readable cluster for read scaling and failover, e.g. RDS Multi-AZ Cluster / Aurora with engine replication.
attr DatabaseHaStrategy.MULTI_MASTER
DatabaseHaStrategy.MULTI_MASTERMULTI_MASTER = 'multi-master'
True multi-master, e.g. CockroachDB / Spanner / DynamoDB Global Tables.
meth DatabaseHaStrategy.ordered
DatabaseHaStrategy.orderedordered(strategies)
Return supported HA strategies in canonical order (most capable first).
class DatabaseSecurityFeature
Security capabilities supported by DBaaS providers.
Attributes:
- IP_FILTERING – Access via public endpoint restricted to explicit IP/CIDR ranges.
- PRIVATE_NETWORK – Provisioned natively inside customer's own private network/subnets (e.g. VPC/VNet).
- NETWORK_PEERING – Private access via cross-network peering or private service endpoints (e.g. PrivateLink).
- IDENTITY_BASED_AUTH – Auth offloaded to cloud or enterprise identity providers (e.g. IAM, Entra ID, OIDC, SSO).
- CLIENT_CERT_AUTH – Mutual TLS (mTLS) authentication requiring client-side SSL/TLS certificates.
- ENFORCED_TLS – Enforceable requirement that all database connections use SSL/TLS (no plaintext fallback).
- CUSTOMER_MANAGED_KEYS – Bring Your Own Key (BYOK) support for storage encryption.
- AUDIT_LOGGING – Detailed database audit logs (e.g. pgaudit) exportable to external logging services or storage.
attr DatabaseSecurityFeature.IP_FILTERING
DatabaseSecurityFeature.IP_FILTERINGIP_FILTERING = 'ip-filtering'
Access via public endpoint restricted to explicit IP/CIDR ranges.
attr DatabaseSecurityFeature.PRIVATE_NETWORK
DatabaseSecurityFeature.PRIVATE_NETWORKPRIVATE_NETWORK = 'private-network'
Provisioned natively inside customer's own private network/subnets (e.g. VPC/VNet).
attr DatabaseSecurityFeature.NETWORK_PEERING
DatabaseSecurityFeature.NETWORK_PEERINGNETWORK_PEERING = 'network-peering'
Private access via cross-network peering or private service endpoints (e.g. PrivateLink).
attr DatabaseSecurityFeature.IDENTITY_BASED_AUTH
DatabaseSecurityFeature.IDENTITY_BASED_AUTHIDENTITY_BASED_AUTH = 'identity-based-auth'
Auth offloaded to cloud or enterprise identity providers (e.g. IAM, Entra ID, OIDC, SSO).
attr DatabaseSecurityFeature.CLIENT_CERT_AUTH
DatabaseSecurityFeature.CLIENT_CERT_AUTHCLIENT_CERT_AUTH = 'client-cert-auth'
Mutual TLS (mTLS) authentication requiring client-side SSL/TLS certificates.
attr DatabaseSecurityFeature.ENFORCED_TLS
DatabaseSecurityFeature.ENFORCED_TLSENFORCED_TLS = 'enforced-tls'
Enforceable requirement that all database connections use SSL/TLS (no plaintext fallback).
attr DatabaseSecurityFeature.CUSTOMER_MANAGED_KEYS
DatabaseSecurityFeature.CUSTOMER_MANAGED_KEYSCUSTOMER_MANAGED_KEYS = 'customer-managed-keys'
Bring Your Own Key (BYOK) support for storage encryption.
attr DatabaseSecurityFeature.AUDIT_LOGGING
DatabaseSecurityFeature.AUDIT_LOGGINGAUDIT_LOGGING = 'audit-logging'
Detailed database audit logs (e.g. pgaudit) exportable to external logging services or storage.
class DatabaseStorageScope
Scope of a managed database storage product.
Attributes:
attr DatabaseStorageScope.DATA
DatabaseStorageScope.DATADATA = 'data'
Primary database data storage.
attr DatabaseStorageScope.BACKUP
DatabaseStorageScope.BACKUPBACKUP = 'backup'
Backup or archive storage.
class Disk
Bases: Json
Disk definition based on size and storage type.
Attributes:
- size (
int) – Storage size in GB. - storage_type (
StorageType) – Type of the storage. - description (
Optional[str]) – Optional description of the storage, e.g. temp disk.
attr Disk.size
Disk.sizesize: int = 0
Storage size in GB.
attr Disk.storage_type
Disk.storage_typestorage_type: StorageType
Type of the storage.
attr Disk.description
Disk.descriptiondescription: Optional[str] = None
Optional description of the storage, e.g. temp disk.
class TrafficDirection
Direction of the network traffic.
Attributes:
attr TrafficDirection.IN
TrafficDirection.ININ = 'inbound'
Inbound traffic.
attr TrafficDirection.OUT
TrafficDirection.OUTOUT = 'outbound'
Outbound traffic.
class CpuAllocation
CPU allocation methods at cloud vendors.
Attributes:
- SHARED – Shared CPU with other virtual server tenants.
- BURSTABLE – CPU that can temporarily burst above its baseline performance.
- DEDICATED – Dedicated CPU with known performance.
attr CpuAllocation.SHARED
CpuAllocation.SHAREDSHARED = 'Shared'
Shared CPU with other virtual server tenants.
attr CpuAllocation.BURSTABLE
CpuAllocation.BURSTABLEBURSTABLE = 'Burstable'
CPU that can temporarily burst above its baseline performance.
attr CpuAllocation.DEDICATED
CpuAllocation.DEDICATEDDEDICATED = 'Dedicated'
Dedicated CPU with known performance.
class CpuArchitecture
CPU architectures.
Attributes:
- ARM64 – 64-bit ARM architecture.
- ARM64_MAC – Apple 64-bit ARM architecture.
- I386 – 32-bit x86 architecture.
- X86_64 – 64-bit x86 architecture.
- X86_64_MAC – Apple 64-bit x86 architecture.
attr CpuArchitecture.ARM64
CpuArchitecture.ARM64ARM64 = 'arm64'
64-bit ARM architecture.
attr CpuArchitecture.ARM64_MAC
CpuArchitecture.ARM64_MACARM64_MAC = 'arm64_mac'
Apple 64-bit ARM architecture.
attr CpuArchitecture.I386
CpuArchitecture.I386I386 = 'i386'
32-bit x86 architecture.
attr CpuArchitecture.X86_64
CpuArchitecture.X86_64X86_64 = 'x86_64'
64-bit x86 architecture.
attr CpuArchitecture.X86_64_MAC
CpuArchitecture.X86_64_MACX86_64_MAC = 'x86_64_mac'
Apple 64-bit x86 architecture.
class DdrGeneration
Generation of the DDR SDRAM.
Attributes:
attr DdrGeneration.DDR3
DdrGeneration.DDR3DDR3 = 'DDR3'
DDR3 SDRAM.
attr DdrGeneration.DDR4
DdrGeneration.DDR4DDR4 = 'DDR4'
DDR4 SDRAM.
attr DdrGeneration.DDR5
DdrGeneration.DDR5DDR5 = 'DDR5'
DDR5 SDRAM.
class Allocation
Server allocation options.
Attributes:
attr Allocation.ONDEMAND
Allocation.ONDEMANDONDEMAND = 'ondemand'
On-demand server.
attr Allocation.RESERVED
Allocation.RESERVEDRESERVED = 'reserved'
Reserved server.
attr Allocation.SPOT
Allocation.SPOTSPOT = 'spot'
Spot/preemptible server.
class PriceUnit
Supported units for the price tables.
Attributes:
- YEAR – Price per year.
- MONTH – Price per month.
- HOUR – Price per hour.
- GIB – Price per gibibyte (GiB).
- GB – Price per gigabyte (GB).
- GB_MONTH – Price per gigabyte (GB)/month.
attr PriceUnit.YEAR
PriceUnit.YEARYEAR = 'year'
Price per year.
attr PriceUnit.MONTH
PriceUnit.MONTHMONTH = 'month'
Price per month.
attr PriceUnit.HOUR
PriceUnit.HOURHOUR = 'hour'
Price per hour.
attr PriceUnit.GIB
PriceUnit.GIBGIB = 'GiB'
Price per gibibyte (GiB).
attr PriceUnit.GB
PriceUnit.GBGB = 'GB'
Price per gigabyte (GB).
attr PriceUnit.GB_MONTH
PriceUnit.GB_MONTHGB_MONTH = 'GB/month'
Price per gigabyte (GB)/month.
class PriceTier
Bases: Json
Price tier definition.
Infinite bounds (e.g. for an open-ended upper tier) are stored as
float("inf") in Python and automatically serialized to the
JSON-safe string "Infinity" on export. Both representations are
accepted as input: the model validator converts "Infinity" back
to float("inf") when loading from JSON.
Attributes:
- lower (
float) – Lower bound of pricing tier, e.g. 100 GB. Unit is defined in the parent object. - upper (
float) – Upper bound of pricing tier, e.g. 1 TB. Unit is defined in the parent object. - price (
float) – Price in the pricing tier. Currency is defined in the parent object.
attr PriceTier.lower
PriceTier.lowerlower: float
Lower bound of pricing tier, e.g. 100 GB. Unit is defined in the parent object.
attr PriceTier.upper
PriceTier.upperupper: float
Upper bound of pricing tier, e.g. 1 TB. Unit is defined in the parent object.
attr PriceTier.price
PriceTier.priceprice: float
Price in the pricing tier. Currency is defined in the parent object.
class Parallelism
Parallelism mode of a benchmark run.
Attributes:
attr Parallelism.SINGLE
Parallelism.SINGLESINGLE = 'single'
Benchmark run on a single core.
attr Parallelism.MULTI
Parallelism.MULTIMULTI = 'multi'
Benchmark run across multiple cores.
class BenchmarkComponentAggregationMethod
How component benchmark scores are combined into one composite score.
Attributes:
- WEIGHTED_GEOMETRIC_MEAN – Weighted geometric mean: 2 ** (Σ wᵢ·log2(normalizedᵢ) / Σ wᵢ). Preserves
attr BenchmarkComponentAggregationMethod.WEIGHTED_GEOMETRIC_MEAN
BenchmarkComponentAggregationMethod.WEIGHTED_GEOMETRIC_MEANWEIGHTED_GEOMETRIC_MEAN = 'weighted_geometric_mean'
Weighted geometric mean: 2 ** (Σ wᵢ·log2(normalizedᵢ) / Σ wᵢ). Preserves ratio/percentage linearity and is robust to outliers.
class BenchmarkComponentNormalizationMethod
How each raw benchmark value is scaled to be comparable across benchmarks.
Attributes:
- MEDIAN_RATIO – Oriented ratio to the fleet median for that benchmark: raw/median when
attr BenchmarkComponentNormalizationMethod.MEDIAN_RATIO
BenchmarkComponentNormalizationMethod.MEDIAN_RATIOMEDIAN_RATIO = 'median_ratio'
Oriented ratio to the fleet median for that benchmark: raw/median when higher-is-better, median/raw otherwise. 1.0 == the fleet median.
class BenchmarkComponentMissingPolicy
What to do when a component has no usable measurement for a server.
Attributes:
- IGNORE – Omit the component and renormalize weights over the rest (default).
- PENALIZE – Substitute the component's
penaltyfloor as the normalized value and keep - REQUIRE – Suppress the whole compound score for that server if the component is
attr BenchmarkComponentMissingPolicy.IGNORE
BenchmarkComponentMissingPolicy.IGNOREIGNORE = 'ignore'
Omit the component and renormalize weights over the rest (default). Use when the metric is genuinely optional
attr BenchmarkComponentMissingPolicy.PENALIZE
BenchmarkComponentMissingPolicy.PENALIZEPENALIZE = 'penalize'
Substitute the component's penalty floor as the normalized value and keep
its full weight, so the composite collapses toward zero. Use when missing means
failure (e.g. a benchmark that timed out / could not complete).
attr BenchmarkComponentMissingPolicy.REQUIRE
BenchmarkComponentMissingPolicy.REQUIREREQUIRE = 'require'
Suppress the whole compound score for that server if the component is missing. Use when the component is load-bearing for the profile's meaning.
class ScoreComponent
Bases: Json
One component's contribution to a composite workload profile score.
Attributes:
- label (
str) – Human-readable, concise description of what the component measures. - weight (
float) – Relative weight of this component. Weights within a workload sum to 1.0. - weight_share (
float) – The weight of this component as a share of the total weight (0.0 for ignored components). - raw (
int|float| None) – The raw benchmark value. - reference (
int|float| None) – The reference benchmark value, e.g. the fleet median. - normalized (
float| None) – The normalized benchmark value, e.g. the ratio of the raw value to the reference value. - higher_is_better (
bool) – Whether a higher value is better. - note (
str| None) – Optional note about this component. - impact (
float| None) – How much this benchmark component raised or lowered the overall workload score. Values are approximate percentages (positive helps, negative hurts the final score), do not add up to the total score, and actual formula depends on the workload's aggregation and normalization methods.
attr ScoreComponent.label
ScoreComponent.labellabel: str
Human-readable, concise description of what the component measures.
attr ScoreComponent.weight
ScoreComponent.weightweight: float
Relative weight of this component. Weights within a workload sum to 1.0.
attr ScoreComponent.weight_share
ScoreComponent.weight_shareweight_share: float
The weight of this component as a share of the total weight (0.0 for ignored components).
attr ScoreComponent.raw
ScoreComponent.rawraw: int | float | None = None
The raw benchmark value.
attr ScoreComponent.reference
ScoreComponent.referencereference: int | float | None = None
The reference benchmark value, e.g. the fleet median.
attr ScoreComponent.normalized
ScoreComponent.normalizednormalized: float | None = None
The normalized benchmark value, e.g. the ratio of the raw value to the reference value.
attr ScoreComponent.higher_is_better
ScoreComponent.higher_is_betterhigher_is_better: bool = True
Whether a higher value is better.
attr ScoreComponent.note
ScoreComponent.notenote: str | None = None
Optional note about this component.
attr ScoreComponent.impact
ScoreComponent.impactimpact: float | None = None
How much this benchmark component raised or lowered the overall workload score. Values are approximate percentages (positive helps, negative hurts the final score), do not add up to the total score, and actual formula depends on the workload's aggregation and normalization methods.
class WorkloadScoreBreakdown
Bases: Json
Per-server realized calculation of a composite workload profile score.
Attributes:
- aggregation (
BenchmarkComponentAggregationMethod) – How the component benchmark scores are combined into one composite score. - normalization (
BenchmarkComponentNormalizationMethod) – How each raw benchmark value is scaled to be comparable across benchmarks. - coverage (
float) – The total weight of the components. - components (
list[ScoreComponent]) – The components of the workload profile.
attr WorkloadScoreBreakdown.aggregation
WorkloadScoreBreakdown.aggregationaggregation: BenchmarkComponentAggregationMethod
How the component benchmark scores are combined into one composite score.
attr WorkloadScoreBreakdown.normalization
WorkloadScoreBreakdown.normalizationnormalization: BenchmarkComponentNormalizationMethod
How each raw benchmark value is scaled to be comparable across benchmarks.
attr WorkloadScoreBreakdown.coverage
WorkloadScoreBreakdown.coveragecoverage: float
The total weight of the components.
attr WorkloadScoreBreakdown.components
WorkloadScoreBreakdown.componentscomponents: list[ScoreComponent]
The components of the workload profile.
class Category
Workload category for a cloud server type.
Attributes:
- GENERAL_PURPOSE – General-purpose server.
- COMPUTE_OPTIMIZED – Compute-optimized server.
- MEMORY_OPTIMIZED – Memory-optimized server.
- STORAGE_AND_DATABASE – Storage- and database-optimized server.
- GPU_ACCELERATED – GPU-accelerated server.
- BURSTABLE_AND_BUDGET – Burstable and budget-friendly server.
attr Category.GENERAL_PURPOSE
Category.GENERAL_PURPOSEGENERAL_PURPOSE = 'General Purpose'
General-purpose server.
attr Category.COMPUTE_OPTIMIZED
Category.COMPUTE_OPTIMIZEDCOMPUTE_OPTIMIZED = 'Compute Optimized'
Compute-optimized server.
attr Category.MEMORY_OPTIMIZED
Category.MEMORY_OPTIMIZEDMEMORY_OPTIMIZED = 'Memory Optimized'
Memory-optimized server.
attr Category.STORAGE_AND_DATABASE
Category.STORAGE_AND_DATABASESTORAGE_AND_DATABASE = 'Storage & Database'
Storage- and database-optimized server.
attr Category.GPU_ACCELERATED
Category.GPU_ACCELERATEDGPU_ACCELERATED = 'GPU Accelerated'
GPU-accelerated server.
attr Category.BURSTABLE_AND_BUDGET
Category.BURSTABLE_AND_BUDGETBURSTABLE_AND_BUDGET = 'Burstable & Budget'
Burstable and budget-friendly server.