Skip to content

Commit 34a2ee8

Browse files
authored
[aspnet] Fix AspNet rules in CI and issues introduced on latest PR (open-telemetry#1829)
1 parent 9f99266 commit 34a2ee8

File tree

3 files changed

+32
-37
lines changed

3 files changed

+32
-37
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
code: ['**.cs', '**.csproj', '.editorconfig']
2525
aot: ['src/OpenTelemetry.Extensions.Enrichment/**']
2626
aottestapp: ['test/OpenTelemetry.AotCompatibility.TestApp/**']
27-
aspnet: ['*/OpenTelemetry.Instrumentation.AspNet.*/**', 'examples/AspNet/**', '!**/*.md']
27+
aspnet: ['*/OpenTelemetry.Instrumentation.AspNet/**', '*/OpenTelemetry.Instrumentation.OpenTelemetry.Instrumentation.AspNet.TelemetryHttpModule/**', 'examples/AspNet/**', '!**/*.md']
2828
aspnetcore: ['*/OpenTelemetry.Instrumentation.AspNetCore*/**', '!**/*.md']
2929
aws: ['*/OpenTelemetry.*.AWS*/**', '!**/*.md']
3030
azure: ['*/OpenTelemetry.ResourceDetectors.Azure*/**', '!**/*.md']

test/OpenTelemetry.Instrumentation.AspNet.Tests/HttpInListenerTests.cs

Lines changed: 28 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,34 @@ public void AspNetRequestsAreCollectedSuccessfully(
8989
return httpContext.Request.Path != filter;
9090
};
9191

92-
options.Enrich = GetEnrichmentAction(setStatusToErrorInEnrich ? ActivityStatusCode.Error : default);
92+
options.EnrichWithHttpRequest = (activity, request) =>
93+
{
94+
Assert.NotNull(activity);
95+
Assert.NotNull(request);
96+
97+
Assert.True(activity.IsAllDataRequested);
98+
};
99+
100+
options.EnrichWithHttpResponse = (activity, response) =>
101+
{
102+
Assert.NotNull(activity);
103+
Assert.NotNull(response);
104+
105+
Assert.True(activity.IsAllDataRequested);
106+
107+
if (setStatusToErrorInEnrich)
108+
{
109+
activity.SetStatus(ActivityStatusCode.Error);
110+
}
111+
};
112+
113+
options.EnrichWithException = (activity, exception) =>
114+
{
115+
Assert.NotNull(activity);
116+
Assert.NotNull(exception);
117+
118+
Assert.True(activity.IsAllDataRequested);
119+
};
93120

94121
options.RecordException = recordException;
95122
})
@@ -255,35 +282,6 @@ public void ExtractContextIrrespectiveOfTheFilterApplied()
255282
Assert.True(isPropagatorCalled);
256283
}
257284

258-
private static Action<Activity, string, object> GetEnrichmentAction(ActivityStatusCode statusToBeSet)
259-
{
260-
void EnrichAction(Activity activity, string method, object obj)
261-
{
262-
Assert.True(activity.IsAllDataRequested);
263-
switch (method)
264-
{
265-
case "OnStartActivity":
266-
Assert.True(obj is HttpRequest);
267-
break;
268-
269-
case "OnStopActivity":
270-
Assert.True(obj is HttpResponse);
271-
if (statusToBeSet != default)
272-
{
273-
activity.SetStatus(statusToBeSet);
274-
}
275-
276-
break;
277-
278-
case "OnException":
279-
Assert.True(obj is Exception);
280-
break;
281-
}
282-
}
283-
284-
return EnrichAction;
285-
}
286-
287285
private class TestSampler(SamplingDecision samplingDecision) : Sampler
288286
{
289287
private readonly SamplingDecision samplingDecision = samplingDecision;

test/OpenTelemetry.Instrumentation.AspNet.Tests/HttpInMetricsListenerTests.cs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,10 @@ public void AspNetMetricTagsAreCollectedSuccessfully(
5151
// as it is created using ActivitySource inside TelemetryHttpModule
5252
// TODO: This should not be needed once the dependency on activity is removed from metrics
5353
using var tracerProvider = Sdk.CreateTracerProviderBuilder()
54-
.AddAspNetInstrumentation(opts => opts.Enrich
55-
= (activity, eventName, rawObject) =>
54+
.AddAspNetInstrumentation(opts => opts.EnrichWithHttpResponse
55+
= (activity, response) =>
5656
{
57-
if (eventName.Equals("OnStopActivity"))
58-
{
59-
duration = activity.Duration.TotalSeconds;
60-
}
57+
duration = activity.Duration.TotalSeconds;
6158
})
6259
.Build();
6360

0 commit comments

Comments
 (0)