in telemetry/validation/src/telemetryDefinitions.ts [119:143]
function validateMetricsMetadataOrder(definitions: TelemetryDefinitions): string[] {
const validations = []
for (const metric of definitions.metrics) {
if (metric.metadata === undefined) {
continue
}
const sortedNames = metric.metadata.map(t => t.type).sort(stringSort)
for (let i = 0; i < metric.metadata.length; i++) {
const inputMetadata = metric.metadata[i]
const sortedName = sortedNames[i]
if (inputMetadata.type != sortedName) {
validations.push(
`Telemetry Metric ${metric.name} has unsorted metadata. Expected: ${sortedName}, Found: ${inputMetadata.type}`
)
break
}
}
}
return validations
}