service-capacity-modeling 0.3.49__tar.gz → 0.3.51__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of service-capacity-modeling might be problematic. Click here for more details.
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/PKG-INFO +1 -1
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/common.py +12 -3
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/org/netflix/evcache.py +0 -3
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling.egg-info/PKG-INFO +1 -1
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/tests/test_common.py +5 -5
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/LICENSE +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/README.md +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/__init__.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/capacity_planner.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/__init__.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/__init__.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/pricing/aws/3yr-reserved_ec2.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/pricing/aws/3yr-reserved_zz-overrides.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/profiles.txt +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_c5.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_c5a.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_c5d.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_c5n.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_c6a.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_c6i.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_c6id.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_c7a.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_c7i.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_m4.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_m5.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_m5n.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_m6a.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_m6i.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_m6id.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_m6idn.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_m6in.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_m7a.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_m7i.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_r4.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_r5.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_r5n.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_r6a.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_r6i.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_r6id.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_r6idn.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_r6in.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_r7a.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/auto_r7i.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/manual_drives.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/manual_instances.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/hardware/profiles/shapes/aws/manual_services.json +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/interface.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/__init__.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/headroom_strategy.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/org/__init__.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/org/netflix/__init__.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/org/netflix/aurora.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/org/netflix/cassandra.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/org/netflix/counter.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/org/netflix/crdb.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/org/netflix/ddb.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/org/netflix/elasticsearch.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/org/netflix/entity.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/org/netflix/graphkv.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/org/netflix/iso_date_math.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/org/netflix/kafka.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/org/netflix/key_value.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/org/netflix/postgres.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/org/netflix/rds.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/org/netflix/stateless_java.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/org/netflix/time_series.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/org/netflix/time_series_config.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/org/netflix/wal.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/org/netflix/zookeeper.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/models/utils.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/stats.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/tools/__init__.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/tools/auto_shape.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/tools/fetch_pricing.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/tools/generate_missing.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling/tools/instance_families.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling.egg-info/SOURCES.txt +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling.egg-info/dependency_links.txt +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling.egg-info/entry_points.txt +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling.egg-info/requires.txt +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/service_capacity_modeling.egg-info/top_level.txt +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/setup.cfg +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/setup.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/tests/test_arguments.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/tests/test_buffers.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/tests/test_desire_merge.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/tests/test_generate_scenarios.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/tests/test_hardware.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/tests/test_hardware_shapes.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/tests/test_headroom_strategy.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/tests/test_io2.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/tests/test_model_dump.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/tests/test_reproducible.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/tests/test_simulation.py +0 -0
- {service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/tests/test_working_set.py +0 -0
|
@@ -751,7 +751,10 @@ def get_memory_from_current_capacity(
|
|
|
751
751
|
current_capacity: CurrentClusterCapacity, buffers: Buffers
|
|
752
752
|
):
|
|
753
753
|
# compute memory required per zone
|
|
754
|
-
current_memory_utilization =
|
|
754
|
+
current_memory_utilization = (
|
|
755
|
+
current_capacity.memory_utilization_gib.mid
|
|
756
|
+
* current_capacity.cluster_instance_count.mid
|
|
757
|
+
)
|
|
755
758
|
|
|
756
759
|
if current_capacity.cluster_instance is None:
|
|
757
760
|
cluster_instance = shapes.instance(current_capacity.cluster_instance_name)
|
|
@@ -790,7 +793,10 @@ def get_network_from_current_capacity(
|
|
|
790
793
|
current_capacity: CurrentClusterCapacity, buffers: Buffers
|
|
791
794
|
):
|
|
792
795
|
# compute network required per zone
|
|
793
|
-
current_network_utilization =
|
|
796
|
+
current_network_utilization = (
|
|
797
|
+
current_capacity.network_utilization_mbps.mid
|
|
798
|
+
* current_capacity.cluster_instance_count.mid
|
|
799
|
+
)
|
|
794
800
|
|
|
795
801
|
if current_capacity.cluster_instance is None:
|
|
796
802
|
cluster_instance = shapes.instance(current_capacity.cluster_instance_name)
|
|
@@ -829,7 +835,10 @@ def get_disk_from_current_capacity(
|
|
|
829
835
|
current_capacity: CurrentClusterCapacity, buffers: Buffers
|
|
830
836
|
):
|
|
831
837
|
# compute disk required per zone
|
|
832
|
-
current_disk_utilization =
|
|
838
|
+
current_disk_utilization = (
|
|
839
|
+
current_capacity.disk_utilization_gib.mid
|
|
840
|
+
* current_capacity.cluster_instance_count.mid
|
|
841
|
+
)
|
|
833
842
|
|
|
834
843
|
if current_capacity.cluster_instance is None:
|
|
835
844
|
cluster_instance = shapes.instance(current_capacity.cluster_instance_name)
|
|
@@ -226,9 +226,6 @@ def _estimate_evcache_cluster_zonal( # noqa: C901,E501 pylint: disable=too-many
|
|
|
226
226
|
if instance.ram_gib < min_instance_memory_gib:
|
|
227
227
|
return None
|
|
228
228
|
|
|
229
|
-
if instance.drive is None:
|
|
230
|
-
return None
|
|
231
|
-
|
|
232
229
|
# Based on the disk latency and the read latency SLOs we adjust our
|
|
233
230
|
# working set to keep more or less data in RAM. Faster drives need
|
|
234
231
|
# less fronting RAM.
|
|
@@ -247,9 +247,9 @@ current_cluster = CurrentClusters(
|
|
|
247
247
|
cpu_utilization=Interval(
|
|
248
248
|
low=10.12, mid=13.2, high=14.194801291058118, confidence=1
|
|
249
249
|
),
|
|
250
|
-
memory_utilization_gib=certain_float(
|
|
251
|
-
network_utilization_mbps=certain_float(
|
|
252
|
-
disk_utilization_gib=certain_float(
|
|
250
|
+
memory_utilization_gib=certain_float(4.0),
|
|
251
|
+
network_utilization_mbps=certain_float(32.0),
|
|
252
|
+
disk_utilization_gib=certain_float(20),
|
|
253
253
|
)
|
|
254
254
|
]
|
|
255
255
|
)
|
|
@@ -309,12 +309,12 @@ def test_get_cores_with_buffer_preserve():
|
|
|
309
309
|
|
|
310
310
|
def test_get_disk_with_buffer_desired():
|
|
311
311
|
needed_disk = get_disk_from_current_capacity(current_cluster.zonal[0], buffers)
|
|
312
|
-
assert needed_disk ==
|
|
312
|
+
assert needed_disk == 640
|
|
313
313
|
|
|
314
314
|
|
|
315
315
|
def test_get_disk_with_buffer_scale():
|
|
316
316
|
current_cluster_copy = current_cluster.model_copy(deep=True)
|
|
317
|
-
current_cluster_copy.zonal[0].disk_utilization_gib = certain_float(
|
|
317
|
+
current_cluster_copy.zonal[0].disk_utilization_gib = certain_float(150)
|
|
318
318
|
buffers_copy = buffers.model_copy(deep=True)
|
|
319
319
|
buffers_copy.derived = {
|
|
320
320
|
"storage": Buffer(
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/tests/test_arguments.py
RENAMED
|
File without changes
|
|
File without changes
|
{service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/tests/test_desire_merge.py
RENAMED
|
File without changes
|
|
File without changes
|
{service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/tests/test_hardware.py
RENAMED
|
File without changes
|
{service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/tests/test_hardware_shapes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/tests/test_model_dump.py
RENAMED
|
File without changes
|
{service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/tests/test_reproducible.py
RENAMED
|
File without changes
|
{service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/tests/test_simulation.py
RENAMED
|
File without changes
|
{service_capacity_modeling-0.3.49 → service_capacity_modeling-0.3.51}/tests/test_working_set.py
RENAMED
|
File without changes
|