Skip to content

Commit e11f17c

Browse files
GitHKAndrei Neagu
authored andcommitted
🐛 do not send bps metrics where they are less than 1 (#6634)
Co-authored-by: Andrei Neagu <[email protected]>
1 parent d8f1720 commit e11f17c

File tree

5 files changed

+32
-21
lines changed

5 files changed

+32
-21
lines changed

services/director-v2/src/simcore_service_director_v2/modules/dynamic_sidecar/scheduler/_core/_events_utils.py

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -173,9 +173,10 @@ async def service_save_state(
173173
size = await sidecars_client.save_service_state(
174174
scheduler_data.endpoint, progress_callback=progress_callback
175175
)
176-
get_instrumentation(app).dynamic_sidecar_metrics.push_service_state_rate.labels(
177-
**get_metrics_labels(scheduler_data)
178-
).observe(get_rate(size, duration.to_flaot()))
176+
if size and size > 0:
177+
get_instrumentation(app).dynamic_sidecar_metrics.push_service_state_rate.labels(
178+
**get_metrics_labels(scheduler_data)
179+
).observe(get_rate(size, duration.to_float()))
179180

180181
await sidecars_client.update_volume_state(
181182
scheduler_data.endpoint,
@@ -479,10 +480,14 @@ async def _pull_output_ports_with_metrics() -> None:
479480
size: int = await sidecars_client.pull_service_output_ports(
480481
dynamic_sidecar_endpoint
481482
)
482-
483-
get_instrumentation(app).dynamic_sidecar_metrics.output_ports_pull_rate.labels(
484-
**get_metrics_labels(scheduler_data)
485-
).observe(get_rate(size, duration.to_flaot()))
483+
if size and size > 0:
484+
get_instrumentation(
485+
app
486+
).dynamic_sidecar_metrics.output_ports_pull_rate.labels(
487+
**get_metrics_labels(scheduler_data)
488+
).observe(
489+
get_rate(size, duration.to_float())
490+
)
486491

487492
async def _pull_user_services_images_with_metrics() -> None:
488493
with track_duration() as duration:
@@ -493,16 +498,21 @@ async def _pull_user_services_images_with_metrics() -> None:
493498
).dynamic_sidecar_metrics.pull_user_services_images_duration.labels(
494499
**get_metrics_labels(scheduler_data)
495500
).observe(
496-
duration.to_flaot()
501+
duration.to_float()
497502
)
498503

499504
async def _restore_service_state_with_metrics() -> None:
500505
with track_duration() as duration:
501506
size = await sidecars_client.restore_service_state(dynamic_sidecar_endpoint)
502507

503-
get_instrumentation(app).dynamic_sidecar_metrics.pull_service_state_rate.labels(
504-
**get_metrics_labels(scheduler_data)
505-
).observe(get_rate(size, duration.to_flaot()))
508+
if size and size > 0:
509+
get_instrumentation(
510+
app
511+
).dynamic_sidecar_metrics.pull_service_state_rate.labels(
512+
**get_metrics_labels(scheduler_data)
513+
).observe(
514+
get_rate(size, duration.to_float())
515+
)
506516

507517
tasks = [
508518
_pull_user_services_images_with_metrics(),

services/director-v2/src/simcore_service_director_v2/modules/dynamic_sidecar/scheduler/_core/_scheduler.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -464,13 +464,14 @@ async def retrieve_service_inputs(
464464
)
465465
duration = time.time() - started
466466

467-
get_instrumentation(
468-
self.app
469-
).dynamic_sidecar_metrics.input_ports_pull_rate.labels(
470-
**get_metrics_labels(scheduler_data)
471-
).observe(
472-
get_rate(transferred_bytes, duration)
473-
)
467+
if transferred_bytes and transferred_bytes > 0:
468+
get_instrumentation(
469+
self.app
470+
).dynamic_sidecar_metrics.input_ports_pull_rate.labels(
471+
**get_metrics_labels(scheduler_data)
472+
).observe(
473+
get_rate(transferred_bytes, duration)
474+
)
474475

475476
if scheduler_data.restart_policy == RestartPolicy.ON_INPUTS_DOWNLOADED:
476477
logger.info("Will restart containers")

services/director-v2/src/simcore_service_director_v2/modules/instrumentation/_models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ def __post_init__(self) -> None:
8888
"time to pull docker images",
8989
labelnames=_INSTRUMENTATION_LABELS,
9090
namespace=_METRICS_NAMESPACE,
91-
buckets=_RATE_BPS_BUCKETS,
91+
buckets=_BUCKETS_TIME_S,
9292
subsystem=self.subsystem,
9393
registry=self.registry,
9494
)

services/director-v2/src/simcore_service_director_v2/modules/instrumentation/_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ def set_value(self, value):
4242

4343
self._value = float(value)
4444

45-
def to_flaot(self) -> float:
45+
def to_float(self) -> float:
4646
if not isinstance(self._value, float):
4747
msg = "Value must be a float or an int."
4848
raise TypeError(msg)

services/director-v2/tests/unit/test_modules_instrumentation__utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ def test_track_duration():
77
with track_duration() as duration:
88
time.sleep(0.1)
99

10-
assert duration.to_flaot() > 0.1
10+
assert duration.to_float() > 0.1

0 commit comments

Comments
 (0)