Skip to content

Commit 12c20ca

Browse files
authored
Remove unused PublicApiUsage members (#7787)
## Summary of changes Deletes a bunch of enum members from `PublicApiUsage` which are unused ## Reason for change These were unused or _couldn't_ logically be called in production code, so were just adding overhead as we allocate the array to record them. Fixed one case where we _Should_ have been recording it, but weren't ## Implementation details FindAllReferences on each member => if it's not used in Datadog.Trace, remove it ## Test coverage Covered by existing ## Other details Part of a stack - #7786 - #7787 👈 - #7788
1 parent 7664bd4 commit 12c20ca

File tree

7 files changed

+24
-1196
lines changed

7 files changed

+24
-1196
lines changed

tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/ManualInstrumentation/Extensions/SpanExtensionsSetUserIntegration.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
using Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Proxies;
1010
using Datadog.Trace.ClrProfiler.CallTarget;
1111
using Datadog.Trace.DuckTyping;
12+
using Datadog.Trace.Telemetry;
13+
using Datadog.Trace.Telemetry.Metrics;
1214

1315
namespace Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Extensions;
1416

@@ -30,6 +32,7 @@ public class SpanExtensionsSetUserIntegration
3032
{
3133
internal static CallTargetState OnMethodBegin<TTarget, TSpan>(ref TSpan span, string? email, string? name, string id, bool propagateId, string? sessionId, string? role, string? scope)
3234
{
35+
TelemetryFactory.Metrics.Record(PublicApiUsage.SpanExtensions_SetUser);
3336
if (!string.IsNullOrEmpty(id))
3437
{
3538
// Annoyingly, this takes an ISpan, so we have to do some duckTyping to make it work

tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/EnumExtensionsGenerator/PublicApiUsageExtensions_EnumExtensions.g.cs

Lines changed: 1 addition & 269 deletions
Large diffs are not rendered by default.

tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/EnumExtensionsGenerator/PublicApiUsageExtensions_EnumExtensions.g.cs

Lines changed: 1 addition & 269 deletions
Large diffs are not rendered by default.

tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/EnumExtensionsGenerator/PublicApiUsageExtensions_EnumExtensions.g.cs

Lines changed: 1 addition & 269 deletions
Large diffs are not rendered by default.

tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/EnumExtensionsGenerator/PublicApiUsageExtensions_EnumExtensions.g.cs

Lines changed: 1 addition & 269 deletions
Large diffs are not rendered by default.

tracer/src/Datadog.Trace/Telemetry/Metrics/PublicApiUsage.cs

Lines changed: 5 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -29,111 +29,29 @@ internal enum PublicApiUsage
2929

3030
[Description("name:spancontextextractor_extract")] SpanContextExtractor_Extract,
3131

32-
[Description("name:spancontextextractor_extractincludingdsm")]
33-
SpanContextExtractor_ExtractIncludingDsm,
32+
[Description("name:spancontextextractor_extractincludingdsm")] SpanContextExtractor_ExtractIncludingDsm,
3433
[Description("name:spancontextextractor_ctor")] SpanContextExtractor_Ctor,
3534

36-
[Description("name:spancontextinjector_injectincludingdsm")]
37-
SpanContextInjector_InjectIncludingDsm,
35+
[Description("name:spancontextinjector_injectincludingdsm")] SpanContextInjector_InjectIncludingDsm,
3836
[Description("name:spancontextinjector_inject")] SpanContextInjector_Inject,
3937
[Description("name:spancontextinjector_ctor")] SpanContextInjector_Ctor,
4038

4139
[Description("name:spanextensions_setuser")] SpanExtensions_SetUser,
4240
[Description("name:spanextensions_settag")] SpanExtensions_SetTag,
4341
[Description("name:spanextensions_settracesamplingpriority")] SpanExtensions_SetTraceSamplingPriority,
4442

45-
[Description("name:tracer_ctor")] Tracer_Ctor,
46-
[Description("name:tracer_ctor_settings")] Tracer_Ctor_Settings,
47-
[Description("name:tracer_instance_set")] Tracer_Instance_Set,
4843
[Description("name:tracer_configure")] Tracer_Configure,
4944
[Description("name:tracer_forceflushasync")] Tracer_ForceFlushAsync,
5045
[Description("name:tracer_startactive")] Tracer_StartActive,
5146
[Description("name:tracer_startactive_settings")] Tracer_StartActive_Settings,
52-
[Description("name:itracer_startactive")] ITracer_StartActive,
53-
[Description("name:itracer_startactive_settings")] ITracer_StartActive_Settings,
54-
55-
// These are problematic, as we use them _everywhere_ so means a lot of code changes
56-
// [Description("name:tracer_instance_get")] Tracer_Instance_Get,
57-
// [Description("name:tracer_activescope_get")] Tracer_ActiveScope_Get,
58-
// [Description("name:tracer_defaultservicename_get")] Tracer_DefaultServiceName_Get,
59-
// [Description("name:tracer_settings_get")] Tracer_Settings_Get,
60-
61-
// These are problematic as we need to use them internally in some cases (version conflict)
62-
// [Description("name:iscope_span")] IScope_Span,
63-
// [Description("name:iscope_close")] IScope_Close,
64-
// [Description("name:ispan_operationname_get")] ISpan_OperationName_Get,
65-
// [Description("name:ispan_operationname_set")] ISpan_OperationName_Set,
66-
// [Description("name:ispan_resourcename_get")] ISpan_ResourceName_Get,
67-
// [Description("name:ispan_resourcename_set")] ISpan_ResourceName_Set,
68-
// [Description("name:ispan_type_get")] ISpan_Type_Get,
69-
// [Description("name:ispan_type_set")] ISpan_Type_Set,
70-
// [Description("name:ispan_error_get")] ISpan_Error_Get,
71-
// [Description("name:ispan_error_set")] ISpan_Error_Set,
72-
// [Description("name:ispan_servicename_get")] ISpan_ServiceName_Get,
73-
// [Description("name:ispan_servicename_set")] ISpan_ServiceName_Set,
74-
// [Description("name:ispan_traceid_get")] ISpan_TraceId_Get,
75-
// [Description("name:ispan_spanid_get")] ISpan_SpanId_Get,
76-
// [Description("name:ispan_context_get")] ISpan_Context_Get,
77-
// [Description("name:ispan_settag")] ISpan_SetTag,
78-
// [Description("name:ispan_finish")] ISpan_Finish,
79-
// [Description("name:ispan_finish_datetimeoffset")] ISpan_Finish_DateTimeOffset,
80-
// [Description("name:ispan_setexception")] ISpan_SetException,
81-
// [Description("name:ispan_gettag")] ISpan_GetTag,
82-
83-
[Description("name:correlationidentifier_env_get")]Correlation_Identifier_Env_Get,
84-
[Description("name:correlationidentifier_service_get")]Correlation_Identifier_Service_Get,
85-
[Description("name:correlationidentifier_spanid_get")]Correlation_Identifier_SpanId_Get,
86-
[Description("name:correlationidentifier_traceid_get")]Correlation_Identifier_TraceId_Get,
87-
[Description("name:correlationidentifier_version_get")]Correlation_Identifier_Version_Get,
88-
89-
[Description("name:spancontext_ctor")] SpanContext_Ctor,
90-
[Description("name:spancontext_parent_get")] SpanContext_Parent_Get,
91-
[Description("name:spancontext_parentid_get")] SpanContext_ParentId_Get,
92-
[Description("name:spancontext_servicename_get")] SpanContext_ServiceName_Get,
93-
[Description("name:spancontext_servicename_set")] SpanContext_ServiceName_Set,
94-
// These are problematic as they're used in a _lot_ of places
95-
// [Description("name:spancontext_spanid_get")] SpanContext_SpanId_Get,
96-
// [Description("name:spancontext_traceid_get")] SpanContext_TraceId_Get,
97-
98-
[Description("name:exportersettings_ctor")] ExporterSettings_Ctor,
99-
[Description("name:exportersettings_ctor_source")] ExporterSettings_Ctor_Source,
47+
10048
[Description("name:exportersettings_agenturi_get")] ExporterSettings_AgentUri_Get,
10149
[Description("name:exportersettings_agenturi_set")] ExporterSettings_AgentUri_Set,
102-
[Description("name:exportersettings_dogstatsdport_get")] ExporterSettings_DogStatsdPort_Get,
103-
[Description("name:exportersettings_dogstatsdport_set")] ExporterSettings_DogStatsdPort_Set,
104-
[Description("name:exportersettings_metricspipename_get")] ExporterSettings_MetricsPipeName_Get,
105-
[Description("name:exportersettings_metricspipename_set")] ExporterSettings_MetricsPipeName_Set,
106-
[Description("name:exportersettings_metricsunixdomainsocketpath_get")] ExporterSettings_MetricsUnixDomainSocketPath_Get,
107-
[Description("name:exportersettings_metricsunixdomainsocketpath_set")] ExporterSettings_MetricsUnixDomainSocketPath_Set,
108-
[Description("name:exportersettings_partialflushenabled_get")] ExporterSettings_PartialFlushEnabled_Get,
109-
[Description("name:exportersettings_partialflushenabled_set")] ExporterSettings_PartialFlushEnabled_Set,
110-
[Description("name:exportersettings_partialflushminspans_get")] ExporterSettings_PartialFlushMinSpans_Get,
111-
[Description("name:exportersettings_partialflushminspans_set")] ExporterSettings_PartialFlushMinSpans_Set,
112-
[Description("name:exportersettings_tracespipename_get")] ExporterSettings_TracesPipeName_Get,
113-
[Description("name:exportersettings_tracespipename_set")] ExporterSettings_TracesPipeName_Set,
114-
[Description("name:exportersettings_tracespipetimeoutms_get")] ExporterSettings_TracesPipeTimeoutMs_Get,
115-
[Description("name:exportersettings_tracespipetimeoutms_set")] ExporterSettings_TracesPipeTimeoutMs_Set,
116-
[Description("name:exportersettings_tracesunixdomainsocketpath_get")] ExporterSettings_TracesUnixDomainSocketPath_Get,
117-
[Description("name:exportersettings_tracesunixdomainsocketpath_set")] ExporterSettings_TracesUnixDomainSocketPath_Set,
118-
119-
[Description("name:globalsettings_debugenabled_get")] GlobalSettings_DebugEnabled_Get,
120-
[Description("name:globalsettings_fromdefaultsources")] GlobalSettings_FromDefaultSources,
121-
[Description("name:globalsettings_reload")] GlobalSettings_Reload,
50+
12251
[Description("name:globalsettings_setdebugenabled")] GlobalSettings_SetDebugEnabled,
12352

124-
[Description("name:immutableexportersettings_ctor_settings")] ImmutableExporterSettings_Ctor_Settings,
125-
[Description("name:immutableexportersettings_ctor_source")] ImmutableExporterSettings_Ctor_Source,
12653
[Description("name:immutableexportersettings_agenturi_get")] ImmutableExporterSettings_AgentUri_Get,
127-
[Description("name:immutableexportersettings_dogstatsdport_get")] ImmutableExporterSettings_DogStatsdPort_Get,
128-
[Description("name:immutableexportersettings_metricspipename_get")] ImmutableExporterSettings_MetricsPipeName_Get,
129-
[Description("name:immutableexportersettings_metricsunixdomainsocketpath_get")] ImmutableExporterSettings_MetricsUnixDomainSocketPath_Get,
130-
[Description("name:immutableexportersettings_partialflushenabled_get")] ImmutableExporterSettings_PartialFlushEnabled_Get,
131-
[Description("name:immutableexportersettings_partialflushminspans_get")] ImmutableExporterSettings_PartialFlushMinSpans_Get,
132-
[Description("name:immutableexportersettings_tracespipename_get")] ImmutableExporterSettings_TracesPipeName_Get,
133-
[Description("name:immutableexportersettings_tracespipetimeoutms_get")] ImmutableExporterSettings_TracesPipeTimeoutMs_Get,
134-
[Description("name:immutableexportersettings_tracesunixdomainsocketpath_get")] ImmutableExporterSettings_TracesUnixDomainSocketPath_Get,
135-
136-
[Description("name:integrationsettings_ctor")] IntegrationSettings_Ctor,
54+
13755
[Description("name:integrationsettings_analyticsenabled_get")] IntegrationSettings_AnalyticsEnabled_Get,
13856
[Description("name:integrationsettings_analyticsenabled_set")] IntegrationSettings_AnalyticsEnabled_Set,
13957
[Description("name:integrationsettings_analyticssamplerate_get")] IntegrationSettings_AnalyticsSampleRate_Get,
@@ -142,7 +60,6 @@ internal enum PublicApiUsage
14260
[Description("name:integrationsettings_enabled_set")] IntegrationSettings_Enabled_Set,
14361
[Description("name:integrationsettings_integrationname_get")] IntegrationSettings_IntegrationName_Get,
14462

145-
[Description("name:integrationsettingscollection_ctor_source")] IntegrationSettingsCollection_Ctor_Source,
14663
[Description("name:integrationsettingscollection_indexer_name")] IntegrationSettingsCollection_Indexer_Name,
14764

14865
[Description("name:immutableintegrationsettings_analyticsenabled_get")] ImmutableIntegrationSettings_AnalyticsEnabled_Get,
@@ -151,19 +68,7 @@ internal enum PublicApiUsage
15168
[Description("name:immutableintegrationsettings_integrationname_get")] ImmutableIntegrationSettings_IntegrationName_Get,
15269
[Description("name:immutableintegrationsettingscollection_indexer_name")] ImmutableIntegrationSettingsCollection_Indexer_Name,
15370

154-
[Description("name:compositeconfigurationsource_ctor")] CompositeConfigurationSource_Ctor,
155-
[Description("name:compositeconfigurationsource_add")] CompositeConfigurationSource_Add,
156-
[Description("name:compositeconfigurationsource_insert")] CompositeConfigurationSource_Insert,
157-
[Description("name:jsonconfigurationsource_ctor_json")] JsonConfigurationSource_Ctor_Json,
158-
[Description("name:jsonconfigurationsource_fromfile")] JsonConfigurationSource_FromFile,
159-
[Description("name:stringconfigurationsource_parsecustomkeyvalues_data")] StringConfigurationSource_ParseCustomKeyValues,
160-
[Description("name:stringconfigurationsource_parsecustomkeyvalues_allowoptionalmappings")] StringConfigurationSource_ParseCustomKeyValues_AllowOptionalMappings,
161-
[Description("name:customtelemeteredconfigurationsource_ctor")] CustomTelemeteredConfigurationSource_Ctor,
162-
[Description("name:environmentconfigurationsource_ctor")] EnvironmentConfigurationSource_Ctor,
163-
[Description("name:namevalueconfigurationsource_ctor")] NameValueConfigurationSource_Ctor,
164-
16571
[Description("name:tracersettings_ctor")] TracerSettings_Ctor,
166-
[Description("name:tracersettings_ctor_source")] TracerSettings_Ctor_Source,
16772
[Description("name:tracersettings_ctor_usedefaultsources")] TracerSettings_Ctor_UseDefaultSources,
16873
[Description("name:tracersettings_analyticsenabled_get")] TracerSettings_AnalyticsEnabled_Get,
16974
[Description("name:tracersettings_analyticsenabled_set")] TracerSettings_AnalyticsEnabled_Set,
@@ -204,15 +109,11 @@ internal enum PublicApiUsage
204109
[Description("name:tracersettings_traceenabled_set")] TracerSettings_TraceEnabled_Set,
205110
[Description("name:tracersettings_tracermetricsenabled_get")] TracerSettings_TracerMetricsEnabled_Get,
206111
[Description("name:tracersettings_tracermetricsenabled_set")] TracerSettings_TracerMetricsEnabled_Set,
207-
[Description("name:tracersettings_build")] TracerSettings_Build,
208112
[Description("name:tracersettings_sethttpclienterrorstatuscodes")] TracerSettings_SetHttpClientErrorStatusCodes,
209113
[Description("name:tracersettings_sethttpservererrorstatuscodes")] TracerSettings_SetHttpServerErrorStatusCodes,
210114
[Description("name:tracersettings_setservicenamemappings")] TracerSettings_SetServiceNameMappings,
211-
[Description("name:tracersettings_createdefaultconfigurationsource")] TracerSettings_CreateDefaultConfigurationSource,
212115
[Description("name:tracersettings_fromdefaultsources")] TracerSettings_FromDefaultSources,
213116

214-
[Description("name:immutabletracersettings_ctor_source")] ImmutableTracerSettings_Ctor_Source,
215-
[Description("name:immutabletracersettings_ctor_settings")] ImmutableTracerSettings_Ctor_Settings,
216117
[Description("name:immutabletracersettings_analyticsenabled_get")] ImmutableTracerSettings_AnalyticsEnabled_Get,
217118
[Description("name:immutabletracersettings_customsamplingrules_get")] ImmutableTracerSettings_CustomSamplingRules_Get,
218119
[Description("name:immutabletracersettings_environment_get")] ImmutableTracerSettings_Environment_Get,
@@ -231,11 +132,7 @@ internal enum PublicApiUsage
231132
[Description("name:immutabletracersettings_statscomputationenabled_get")] ImmutableTracerSettings_StatsComputationEnabled_Get,
232133
[Description("name:immutabletracersettings_traceenabled_get")] ImmutableTracerSettings_TraceEnabled_Get,
233134
[Description("name:immutabletracersettings_tracermetricsenabled_get")] ImmutableTracerSettings_TracerMetricsEnabled_Get,
234-
[Description("name:immutabletracersettings_fromdefaultsources")] ImmutableTracerSettings_FromDefaultSources,
235-
[Description("name:immutabletracersettings_tostring")] ImmutableTracerSettings_ToString,
236135

237136
[Description("name:opentracingtracerfactory_createtracer")] OpenTracingTracerFactory_CreateTracer,
238137
[Description("name:opentracingtracerfactory_wraptracer")] OpenTracingTracerFactory_WrapTracer,
239-
[Description("name:opentracingtracer_ctor_datadogtracer")] OpenTracingTracer_Ctor_DatadogTracer,
240-
[Description("name:opentracingtracer_ctor_datadogtracer_scopemanager")] OpenTracingTracer_Ctor_DatadogTracer_ScopeManager,
241138
}

tracer/test/Datadog.Trace.Tests/Telemetry/Collectors/MetricsTelemetryCollectorTests.cs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ static void IncrementOpenTelemetryConfigMetrics(MetricsTelemetryCollector collec
9898
var collector = new MetricsTelemetryCollector(Timeout.InfiniteTimeSpan);
9999
collector.Record(PublicApiUsage.Tracer_Configure);
100100
collector.Record(PublicApiUsage.Tracer_Configure);
101-
collector.Record(PublicApiUsage.Tracer_Ctor);
101+
collector.Record(PublicApiUsage.Tracer_StartActive);
102102
collector.RecordCountSpanFinished(15);
103103
collector.RecordCountSharedIntegrationsError(MetricTags.IntegrationName.Aerospike, MetricTags.InstrumentationError.Invoker);
104104
collector.RecordCountSpanCreated(MetricTags.IntegrationName.Aerospike);
@@ -132,9 +132,9 @@ static void IncrementOpenTelemetryConfigMetrics(MetricsTelemetryCollector collec
132132

133133
collector.AggregateMetrics();
134134

135-
collector.Record(PublicApiUsage.Tracer_Ctor);
136-
collector.Record(PublicApiUsage.Tracer_Ctor);
137-
collector.Record(PublicApiUsage.TracerSettings_Build);
135+
collector.Record(PublicApiUsage.Tracer_StartActive);
136+
collector.Record(PublicApiUsage.Tracer_StartActive);
137+
collector.Record(PublicApiUsage.TracerSettings_Ctor);
138138
collector.RecordCountSpanFinished(3);
139139
collector.RecordCountTraceSegmentCreated(MetricTags.TraceContinuation.New, 2);
140140
collector.RecordGaugeStatsBuckets(15);
@@ -180,7 +180,7 @@ static void IncrementOpenTelemetryConfigMetrics(MetricsTelemetryCollector collec
180180
Metric = "public_api",
181181
Points = new[] { new { Value = 1 }, new { Value = 2 } },
182182
Type = TelemetryMetricType.Count,
183-
Tags = new[] { PublicApiUsage.Tracer_Ctor.ToStringFast() },
183+
Tags = new[] { PublicApiUsage.Tracer_StartActive.ToStringFast() },
184184
Common = false,
185185
Namespace = (string)null,
186186
},
@@ -189,7 +189,7 @@ static void IncrementOpenTelemetryConfigMetrics(MetricsTelemetryCollector collec
189189
Metric = "public_api",
190190
Points = new[] { new { Value = 1 } },
191191
Type = TelemetryMetricType.Count,
192-
Tags = new[] { PublicApiUsage.TracerSettings_Build.ToStringFast() },
192+
Tags = new[] { PublicApiUsage.TracerSettings_Ctor.ToStringFast() },
193193
Common = false,
194194
Namespace = (string)null,
195195
},
@@ -513,7 +513,7 @@ public async Task AllMetricsAreReturned_ForCiVisibilityCollector(string wafVersi
513513
var collector = new CiVisibilityMetricsTelemetryCollector(Timeout.InfiniteTimeSpan);
514514
collector.Record(PublicApiUsage.Tracer_Configure);
515515
collector.Record(PublicApiUsage.Tracer_Configure);
516-
collector.Record(PublicApiUsage.Tracer_Ctor);
516+
collector.Record(PublicApiUsage.Tracer_StartActive);
517517
collector.RecordCountSharedIntegrationsError(MetricTags.IntegrationName.Aerospike, MetricTags.InstrumentationError.Invoker);
518518

519519
// These aren't recorded for ci visibility
@@ -535,9 +535,9 @@ public async Task AllMetricsAreReturned_ForCiVisibilityCollector(string wafVersi
535535

536536
collector.AggregateMetrics();
537537

538-
collector.Record(PublicApiUsage.Tracer_Ctor);
539-
collector.Record(PublicApiUsage.Tracer_Ctor);
540-
collector.Record(PublicApiUsage.TracerSettings_Build);
538+
collector.Record(PublicApiUsage.Tracer_StartActive);
539+
collector.Record(PublicApiUsage.Tracer_StartActive);
540+
collector.Record(PublicApiUsage.TracerSettings_Ctor);
541541

542542
// These aren't recorded for ci visibility
543543
collector.RecordCountSpanFinished(3);
@@ -583,7 +583,7 @@ public async Task AllMetricsAreReturned_ForCiVisibilityCollector(string wafVersi
583583
Metric = "public_api",
584584
Points = new[] { new { Value = 1 }, new { Value = 2 } },
585585
Type = TelemetryMetricType.Count,
586-
Tags = new[] { PublicApiUsage.Tracer_Ctor.ToStringFast() },
586+
Tags = new[] { PublicApiUsage.Tracer_StartActive.ToStringFast() },
587587
Common = false,
588588
Namespace = (string)null,
589589
},
@@ -592,7 +592,7 @@ public async Task AllMetricsAreReturned_ForCiVisibilityCollector(string wafVersi
592592
Metric = "public_api",
593593
Points = new[] { new { Value = 1 } },
594594
Type = TelemetryMetricType.Count,
595-
Tags = new[] { PublicApiUsage.TracerSettings_Build.ToStringFast() },
595+
Tags = new[] { PublicApiUsage.TracerSettings_Ctor.ToStringFast() },
596596
Common = false,
597597
Namespace = (string)null,
598598
},

0 commit comments

Comments
 (0)