Skip to content

Commit e574426

Browse files
author
Timothy Mothra
authored
[AzureMonitorExporter] Add Truncation to ContextTags (Azure#37843)
* truncate Tags * fix typo * remove usused consts * remove some Truncates
1 parent dd04d39 commit e574426

File tree

2 files changed

+14
-8
lines changed

2 files changed

+14
-8
lines changed

sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/Customizations/Models/TelemetryItem.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,15 @@ public TelemetryItem(Activity activity, ref ActivityTagsProcessor activityTagsPr
2727
{
2828
if (activityTagsProcessor.activityType.HasFlag(OperationType.V2))
2929
{
30-
Tags[ContextTagKeys.AiOperationName.ToString()] = TraceHelper.GetOperationNameV2(activity, ref activityTagsProcessor.MappedTags);
30+
Tags[ContextTagKeys.AiOperationName.ToString()] = TraceHelper.GetOperationNameV2(activity, ref activityTagsProcessor.MappedTags).Truncate(SchemaConstants.Tags_AiOperationName_MaxLength);
3131
}
3232
else if (activityTagsProcessor.activityType.HasFlag(OperationType.Http))
3333
{
34-
Tags[ContextTagKeys.AiOperationName.ToString()] = TraceHelper.GetOperationName(activity, ref activityTagsProcessor.MappedTags);
34+
Tags[ContextTagKeys.AiOperationName.ToString()] = TraceHelper.GetOperationName(activity, ref activityTagsProcessor.MappedTags).Truncate(SchemaConstants.Tags_AiOperationName_MaxLength);
3535
}
3636
else
3737
{
38-
Tags[ContextTagKeys.AiOperationName.ToString()] = activity.DisplayName;
38+
Tags[ContextTagKeys.AiOperationName.ToString()] = activity.DisplayName.Truncate(SchemaConstants.Tags_AiOperationName_MaxLength);
3939
}
4040

4141
// Set ip in case of server spans only.
@@ -79,8 +79,8 @@ public TelemetryItem(string name, TelemetryItem telemetryItem, ActivitySpanId ac
7979
Tags["ai.user.userAgent"] = userAgent;
8080
}
8181

82-
Tags[ContextTagKeys.AiCloudRole.ToString()] = telemetryItem.Tags[ContextTagKeys.AiCloudRole.ToString()];
83-
Tags[ContextTagKeys.AiCloudRoleInstance.ToString()] = telemetryItem.Tags[ContextTagKeys.AiCloudRoleInstance.ToString()];
82+
Tags[ContextTagKeys.AiCloudRole.ToString()] = telemetryItem.Tags[ContextTagKeys.AiCloudRole.ToString()].Truncate(SchemaConstants.Tags_AiCloudRole_MaxLength);
83+
Tags[ContextTagKeys.AiCloudRoleInstance.ToString()] = telemetryItem.Tags[ContextTagKeys.AiCloudRoleInstance.ToString()].Truncate(SchemaConstants.Tags_AiCloudRoleInstance_MaxLength);
8484
Tags[ContextTagKeys.AiInternalSdkVersion.ToString()] = SdkVersionUtils.s_sdkVersion.Truncate(SchemaConstants.Tags_AiInternalSdkVersion_MaxLength);
8585
InstrumentationKey = telemetryItem.InstrumentationKey;
8686

@@ -116,8 +116,8 @@ public TelemetryItem(DateTime time, AzureMonitorResource? resource, string instr
116116
private void SetResourceSdkVersionAndIkey(AzureMonitorResource? resource, string instrumentationKey)
117117
{
118118
InstrumentationKey = instrumentationKey;
119-
Tags[ContextTagKeys.AiCloudRole.ToString()] = resource?.RoleName;
120-
Tags[ContextTagKeys.AiCloudRoleInstance.ToString()] = resource?.RoleInstance;
119+
Tags[ContextTagKeys.AiCloudRole.ToString()] = resource?.RoleName.Truncate(SchemaConstants.Tags_AiCloudRole_MaxLength);
120+
Tags[ContextTagKeys.AiCloudRoleInstance.ToString()] = resource?.RoleInstance.Truncate(SchemaConstants.Tags_AiCloudRoleInstance_MaxLength);
121121
Tags[ContextTagKeys.AiInternalSdkVersion.ToString()] = SdkVersionUtils.s_sdkVersion.Truncate(SchemaConstants.Tags_AiInternalSdkVersion_MaxLength);
122122
}
123123

@@ -131,7 +131,7 @@ private void SetAuthenticatedUserId(ref ActivityTagsProcessor activityTagsProces
131131
{
132132
if (activityTagsProcessor.EndUserId != null)
133133
{
134-
Tags[ContextTagKeys.AiUserAuthUserId.ToString()] = activityTagsProcessor.EndUserId;
134+
Tags[ContextTagKeys.AiUserAuthUserId.ToString()] = activityTagsProcessor.EndUserId.Truncate(SchemaConstants.Tags_AiUserAuthUserId_MaxLength);
135135
}
136136
}
137137
}

sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/Internals/SchemaConstants.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,12 @@ internal static class SchemaConstants
116116
public const int TelemetryEnvelope_Time_MaxLength = 64;
117117
public const int TelemetryEnvelope_InstrumentationKey_MaxLength = 40;
118118

119+
public const int Tags_AiOperationId_MaxLength = 128;
120+
public const int Tags_AiOperationName_MaxLength = 1024;
121+
public const int Tags_AiOperationParentId_MaxLength = 512;
122+
public const int Tags_AiUserAuthUserId_MaxLength = 1024;
123+
public const int Tags_AiCloudRole_MaxLength = 256;
124+
public const int Tags_AiCloudRoleInstance_MaxLength = 256;
119125
public const int Tags_AiInternalSdkVersion_MaxLength = 64;
120126
}
121127
}

0 commit comments

Comments
 (0)