Context
The Kusto-to-metrics transform still depends on legacy github.com/Azure/azure-kusto-go/kusto/data/value wrapper types.
This area does not create Kusto clients or execute queries; it handles the shape of values materialized from old Kusto row iterators.
Files
transform/kusto_to_metrics.go
transform/kusto_to_metrics_test.go
Current legacy usage
The transformer handles old typed values in result maps, including:
value.String
value.Long
value.Real
value.Int
value.DateTime
It checks Valid flags and converts these wrappers into:
- metric names
- numeric metric values
- timestamps
- label values
Migration considerations
This may be easiest after the ADX exporter row materialization changes, because QueryExecutor.iteratorToRows currently determines what concrete value types enter the transformer.
Acceptance criteria
- Transformer production code no longer imports
github.com/Azure/azure-kusto-go/kusto/data/value.
- Tests cover the value shapes produced by the migrated
azkustodata query path.
- Invalid/null Kusto value behavior remains explicit and tested.
- Existing plain Go value support remains intact.
Context
The Kusto-to-metrics transform still depends on legacy
github.com/Azure/azure-kusto-go/kusto/data/valuewrapper types.This area does not create Kusto clients or execute queries; it handles the shape of values materialized from old Kusto row iterators.
Files
transform/kusto_to_metrics.gotransform/kusto_to_metrics_test.goCurrent legacy usage
The transformer handles old typed values in result maps, including:
value.Stringvalue.Longvalue.Realvalue.Intvalue.DateTimeIt checks
Validflags and converts these wrappers into:Migration considerations
This may be easiest after the ADX exporter row materialization changes, because
QueryExecutor.iteratorToRowscurrently determines what concrete value types enter the transformer.Acceptance criteria
github.com/Azure/azure-kusto-go/kusto/data/value.azkustodataquery path.