feat: ship agent-first mission control v0.2.57
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
using System.Diagnostics;
|
||||
using OpenTelemetry;
|
||||
|
||||
namespace Nexus.Api.Observability;
|
||||
|
||||
/// <summary>
|
||||
/// Removes content-bearing attributes before an activity reaches an exporter.
|
||||
/// Standard HTTP exception recording is disabled separately so exception
|
||||
/// events cannot contain messages or stack traces.
|
||||
/// </summary>
|
||||
public sealed class NexusTelemetryRedactionProcessor : BaseProcessor<Activity>
|
||||
{
|
||||
private static readonly HashSet<string> RedactedTagNames = new(
|
||||
[
|
||||
"url.query",
|
||||
"url.full",
|
||||
"url.path",
|
||||
"http.url",
|
||||
"http.target",
|
||||
"exception.message",
|
||||
"exception.stacktrace",
|
||||
"db.statement",
|
||||
"db.query.text"
|
||||
],
|
||||
StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
public override void OnEnd(Activity activity)
|
||||
{
|
||||
foreach (var tag in activity.TagObjects.ToArray())
|
||||
{
|
||||
if (RedactedTagNames.Contains(tag.Key))
|
||||
activity.SetTag(tag.Key, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user