@@ -66,9 +66,46 @@ function getSignalType(dataSource: string): 'traces' | 'logs' | 'metrics' {
6666 return 'metrics' ;
6767}
6868
69- /**
70- * Creates base spec for builder queries
71- */
69+ function isDeprecatedField ( fieldName : string ) : boolean {
70+ const deprecatedIntrinsicFields = [
71+ 'traceID' ,
72+ 'spanID' ,
73+ 'parentSpanID' ,
74+ 'spanKind' ,
75+ 'durationNano' ,
76+ 'statusCode' ,
77+ 'statusMessage' ,
78+ 'statusCodeString' ,
79+ ] ;
80+
81+ const deprecatedCalculatedFields = [
82+ 'responseStatusCode' ,
83+ 'externalHttpUrl' ,
84+ 'httpUrl' ,
85+ 'externalHttpMethod' ,
86+ 'httpMethod' ,
87+ 'httpHost' ,
88+ 'dbName' ,
89+ 'dbOperation' ,
90+ 'hasError' ,
91+ 'isRemote' ,
92+ 'serviceName' ,
93+ 'httpRoute' ,
94+ 'msgSystem' ,
95+ 'msgOperation' ,
96+ 'dbSystem' ,
97+ 'rpcSystem' ,
98+ 'rpcService' ,
99+ 'rpcMethod' ,
100+ 'peerService' ,
101+ ] ;
102+
103+ return (
104+ deprecatedIntrinsicFields . includes ( fieldName ) ||
105+ deprecatedCalculatedFields . includes ( fieldName )
106+ ) ;
107+ }
108+
72109function createBaseSpec (
73110 queryData : IBuilderQuery ,
74111 requestType : RequestType ,
@@ -140,16 +177,29 @@ function createBaseSpec(
140177 selectFields : isEmpty ( nonEmptySelectColumns )
141178 ? undefined
142179 : nonEmptySelectColumns ?. map (
143- ( column : any ) : TelemetryFieldKey => ( {
144- name : column . name ?? column . key ,
145- fieldDataType :
146- column ?. fieldDataType ?? ( column ?. dataType as FieldDataType ) ,
147- fieldContext : column ?. fieldContext ?? ( column ?. type as FieldContext ) ,
148- signal : column ?. signal ?? undefined ,
149- } ) ,
180+ ( column : any ) : TelemetryFieldKey => {
181+ const fieldName = column . name ?? column . key ;
182+ const isDeprecated = isDeprecatedField ( fieldName ) ;
183+
184+ const fieldObj : TelemetryFieldKey = {
185+ name : fieldName ,
186+ fieldDataType :
187+ column ?. fieldDataType ?? ( column ?. dataType as FieldDataType ) ,
188+ signal : column ?. signal ?? undefined ,
189+ } ;
190+
191+ // Only add fieldContext if the field is NOT deprecated
192+ if ( ! isDeprecated && fieldName !== 'name' ) {
193+ fieldObj . fieldContext =
194+ column ?. fieldContext ?? ( column ?. type as FieldContext ) ;
195+ }
196+
197+ return fieldObj ;
198+ } ,
150199 ) ,
151200 } ;
152201}
202+
153203// Utility to parse aggregation expressions with optional alias
154204export function parseAggregations (
155205 expression : string ,
0 commit comments