Skip to content

Commit 7ad8d68

Browse files
committed
remove closure
1 parent 7016510 commit 7ad8d68

4 files changed

Lines changed: 16 additions & 14 deletions

File tree

core/src/telemetry/metrics.rs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -593,17 +593,13 @@ pub(super) const TASK_SLOTS_AVAILABLE_NAME: &str = "worker_task_slots_available"
593593
pub(super) const TASK_SLOTS_USED_NAME: &str = "worker_task_slots_used";
594594
pub(super) const STICKY_CACHE_SIZE_NAME: &str = "sticky_cache_size";
595595

596-
/// Calls the provided metric function only if the failure is not a benign application failure.
597-
pub(crate) fn record_failure_metric(
596+
/// Track a failure metric if the failure is not a benign application failure.
597+
pub(crate) fn should_record_failure_metric(
598598
failure: &Option<Failure>,
599-
metric_fn: impl FnOnce(),
600-
) {
601-
let is_benign = failure
599+
) -> bool {
600+
!failure
602601
.as_ref()
603-
.map_or(false, |f| f.is_benign_application_failure());
604-
if !is_benign {
605-
metric_fn();
606-
}
602+
.map_or(false, |f| f.is_benign_application_failure())
607603
}
608604

609605
/// Helps define buckets once in terms of millis, but also generates a seconds version

core/src/worker/activities.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use crate::{
1313
UsedMeteredSemPermit,
1414
},
1515
pollers::{BoxedActPoller, PermittedTqResp, TrackedPermittedTqResp, new_activity_task_poller},
16-
telemetry::metrics::{MetricsContext, activity_type, eager, workflow_type, record_failure_metric},
16+
telemetry::metrics::{MetricsContext, activity_type, eager, workflow_type, should_record_failure_metric},
1717
worker::{
1818
activities::activity_heartbeat_manager::ActivityHeartbeatError, client::WorkerClient,
1919
},
@@ -349,7 +349,9 @@ impl WorkerActivityTasks {
349349
.err()
350350
}
351351
aer::Status::Failed(ar::Failure { failure }) => {
352-
record_failure_metric(&failure, || act_metrics.act_execution_failed());
352+
if should_record_failure_metric(&failure) {
353+
act_metrics.act_execution_failed();
354+
}
353355
client
354356
.fail_activity_task(task_token.clone(), failure)
355357
.await

core/src/worker/activities/local_activities.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use crate::{
33
abstractions::{MeteredPermitDealer, OwnedMeteredSemPermit, UsedMeteredSemPermit, dbg_panic},
44
protosext::ValidScheduleLA,
55
retry_logic::RetryPolicyExt,
6-
telemetry::metrics::{activity_type, workflow_type, record_failure_metric},
6+
telemetry::metrics::{activity_type, workflow_type, should_record_failure_metric},
77
worker::workflow::HeartbeatTimeoutMsg,
88
};
99
use futures_util::{
@@ -583,7 +583,9 @@ impl LocalActivityManager {
583583
la_metrics.la_exec_latency(runtime);
584584
let outcome = match &status {
585585
LocalActivityExecutionResult::Failed(fail) => {
586-
record_failure_metric(&fail.failure, || la_metrics.la_execution_failed());
586+
if should_record_failure_metric(&fail.failure) {
587+
la_metrics.la_execution_failed()
588+
}
587589
Outcome::FailurePath {
588590
backoff: calc_backoff!(fail),
589591
}

core/src/worker/workflow/managed_run.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1126,7 +1126,9 @@ impl ManagedRun {
11261126
self.metrics.wf_completed();
11271127
}
11281128
Some(CmdAttribs::FailWorkflowExecutionCommandAttributes(attrs)) => {
1129-
metrics::record_failure_metric(&attrs.failure, || self.metrics.wf_failed());
1129+
if metrics::should_record_failure_metric(&attrs.failure) {
1130+
self.metrics.wf_failed();
1131+
}
11301132
}
11311133
Some(CmdAttribs::ContinueAsNewWorkflowExecutionCommandAttributes(_)) => {
11321134
self.metrics.wf_continued_as_new();

0 commit comments

Comments
 (0)