aboutsummaryrefslogtreecommitdiff
path: root/src/Enmarcha.Backend/Program.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Enmarcha.Backend/Program.cs')
-rw-r--r--src/Enmarcha.Backend/Program.cs23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/Enmarcha.Backend/Program.cs b/src/Enmarcha.Backend/Program.cs
index 6eddfc8..587da78 100644
--- a/src/Enmarcha.Backend/Program.cs
+++ b/src/Enmarcha.Backend/Program.cs
@@ -46,7 +46,28 @@ builder.Services.AddOpenTelemetry()
tracing
.SetResourceBuilder(ResourceBuilder.CreateDefault().AddService("Enmarcha.Backend"))
.AddSource(Telemetry.Source.Name)
- .AddAspNetCoreInstrumentation()
+ .AddAspNetCoreInstrumentation(options =>
+ {
+ options.EnrichWithHttpRequest = (activity, request) =>
+ {
+ var ip = request.HttpContext.Connection.RemoteIpAddress;
+ if (ip == null) return;
+ string anonymised;
+ if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
+ {
+ var bytes = ip.GetAddressBytes();
+ bytes[3] = 0;
+ anonymised = new System.Net.IPAddress(bytes).ToString();
+ }
+ else
+ {
+ var bytes = ip.GetAddressBytes();
+ for (var i = 6; i < 16; i++) bytes[i] = 0;
+ anonymised = new System.Net.IPAddress(bytes).ToString();
+ }
+ activity.SetTag("client.address", anonymised);
+ };
+ })
.AddHttpClientInstrumentation(options =>
{
options.EnrichWithHttpRequestMessage = (activity, req) =>