Skip to content

Commit 980abe6

Browse files
committed
misc: add function to emit business metrics with attributes as receiver
1 parent f32de91 commit 980abe6

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

runtime/runtime-core/api/runtime-core.api

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ public abstract interface class aws/smithy/kotlin/runtime/businessmetrics/Busine
8383

8484
public final class aws/smithy/kotlin/runtime/businessmetrics/BusinessMetricsUtilsKt {
8585
public static final fun containsBusinessMetric (Laws/smithy/kotlin/runtime/operation/ExecutionContext;Laws/smithy/kotlin/runtime/businessmetrics/BusinessMetric;)Z
86+
public static final fun emitBusinessMetric (Laws/smithy/kotlin/runtime/collections/Attributes;Laws/smithy/kotlin/runtime/businessmetrics/BusinessMetric;)V
8687
public static final fun emitBusinessMetric (Laws/smithy/kotlin/runtime/operation/ExecutionContext;Laws/smithy/kotlin/runtime/businessmetrics/BusinessMetric;)V
8788
public static final fun getAccountIdBasedEndpointAccountId ()Laws/smithy/kotlin/runtime/collections/AttributeKey;
8889
public static final fun getBusinessMetrics ()Laws/smithy/kotlin/runtime/collections/AttributeKey;

runtime/runtime-core/common/src/aws/smithy/kotlin/runtime/businessmetrics/BusinessMetricsUtils.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,3 +77,10 @@ public enum class SmithyBusinessMetric(public override val identifier: String) :
7777
ACCOUNT_ID_BASED_ENDPOINT("O"),
7878
SIGV4A_SIGNING("S"),
7979
}
80+
81+
/**
82+
* Emits a business metric if the current [Attributes] instance is of type [ExecutionContext].
83+
*/
84+
public fun Attributes.emitBusinessMetric(metric: BusinessMetric) {
85+
if (this is ExecutionContext) this.emitBusinessMetric(metric)
86+
}

0 commit comments

Comments
 (0)