Skip to content

Commit a7d4950

Browse files
muhammad-othmandscpinheiro
authored andcommitted
Add telemetry data for Credentials retrieval
1 parent 978251f commit a7d4950

File tree

4 files changed

+31
-4
lines changed

4 files changed

+31
-4
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"core": {
3+
"changeLogMessages": [
4+
"Add telemetry data for Credentials retrieval"
5+
],
6+
"type": "patch",
7+
"updateMinimum": true
8+
}
9+
}

sdk/src/Core/Amazon.Runtime/Pipeline/Handlers/Signer.cs

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
using Amazon.Runtime.Internal.Util;
1818
using Amazon.Runtime.Telemetry;
1919
using Amazon.Runtime.Telemetry.Metrics;
20+
using Amazon.Runtime.Telemetry.Tracing;
2021
using Amazon.Util;
2122
using System;
2223
using System.IO;
@@ -110,7 +111,14 @@ public static void SignRequest(IRequestContext requestContext)
110111
using (requestContext.Metrics.StartEvent(Metric.RequestSigningTime))
111112
using (MetricsUtilities.MeasureDuration(requestContext, TelemetryConstants.AuthSigningDurationMetricName))
112113
{
113-
var immutableCredentials = (requestContext.Identity as AWSCredentials)?.GetCredentials();
114+
ImmutableCredentials immutableCredentials = null;
115+
116+
using (TracingUtilities.CreateSpan(requestContext, TelemetryConstants.CredentialsRetrievalSpanName))
117+
using (MetricsUtilities.MeasureDuration(requestContext, TelemetryConstants.ResolveIdentityDurationMetricName))
118+
using (requestContext.Metrics.StartEvent(Metric.CredentialsRequestTime))
119+
{
120+
immutableCredentials = (requestContext.Identity as AWSCredentials)?.GetCredentials();
121+
}
114122

115123
if (immutableCredentials?.UseToken == true &&
116124
!(requestContext.Signer is NullSigner) &&
@@ -155,7 +163,17 @@ private static async Task SignRequestAsync(IRequestContext requestContext)
155163
using (MetricsUtilities.MeasureDuration(requestContext, TelemetryConstants.AuthSigningDurationMetricName))
156164
{
157165
var awsCredentials = requestContext.Identity as AWSCredentials;
158-
var immutableCredentials = awsCredentials != null ? await awsCredentials.GetCredentialsAsync().ConfigureAwait(false) : null;
166+
ImmutableCredentials immutableCredentials = null;
167+
168+
if (awsCredentials != null)
169+
{
170+
using (TracingUtilities.CreateSpan(requestContext, TelemetryConstants.CredentialsRetrievalSpanName))
171+
using (MetricsUtilities.MeasureDuration(requestContext, TelemetryConstants.ResolveIdentityDurationMetricName))
172+
using (requestContext.Metrics.StartEvent(Metric.CredentialsRequestTime))
173+
{
174+
immutableCredentials = await awsCredentials.GetCredentialsAsync().ConfigureAwait(false);
175+
}
176+
}
159177

160178
if (immutableCredentials?.UseToken == true &&
161179
!(requestContext.Signer is NullSigner) &&

sdk/src/Core/Amazon.Runtime/Telemetry/Metrics/MetricsUtilities.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public static void RecordError(IRequestContext requestContext, Exception excepti
4646
/// <param name="initialAttributes">The attributes associated with the metric.</param>
4747
public static void AddMonotonicCounterValue(IRequestContext requestContext, string metricName, string unit, long value = 1, Attributes initialAttributes = null)
4848
{
49-
var serviceId = requestContext.ServiceMetaData.ServiceId;
49+
var serviceId = requestContext.ClientConfig.ServiceId;
5050

5151
if (initialAttributes == null)
5252
initialAttributes = new Attributes();

sdk/src/Core/Amazon.Runtime/Telemetry/Tracing/TracingUtilities.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public static TraceSpan CreateSpan(
3939
SpanKind spanKind = SpanKind.INTERNAL,
4040
SpanContext parentContext = null)
4141
{
42-
var serviceId = requestContext.ServiceMetaData.ServiceId;
42+
var serviceId = requestContext.ClientConfig.ServiceId;
4343

4444
if (initialAttributes == null)
4545
initialAttributes = new Attributes();

0 commit comments

Comments
 (0)