Migrate ADX exporter Kusto client and SummaryRule paths to azkustodata
- Dominant language
- Go
- Stars
- 28
- Forks
- 17
- Avg merge
- 11h 40m
- Merged PRs (30d)
- 42
Description
## Context
The ADX exporter still imports the legacy root `github.com/Azure/azure-kusto-go/kusto` module instead of the split `azkustodata` APIs.
This keeps the legacy `github.com/Azure/azure-kusto-go` dependency alive even after most ingestor/query paths have moved to `azkustodata` / `azkustoingest`.
## Files
- `adxexporter/kusto.go`
- `adxexporter/summaryrule.go`
- `adxexporter/kusto_test.go`
- `adxexporter/summaryrule_test.go`
## Current legacy usage
- Creates clients with `kusto.NewConnectionStringBuilder` and `kusto.New`.
- Builds statements with legacy `kusto/kql`.
- Executes query and management operations through `client.Query` and `client.Mgmt`.
- Exposes `kusto.Statement`, `kusto.QueryOption`, `kusto.MgmtOption`, and `*kusto.RowIterator` through `KustoExecutor`.
- Reads results with `NextRowOrError`, `row.Values`, `row.ColumnNames`, and `row.ToStruct`.
- SummaryRule async flow uses `.set-or-append async`, `.show operations`, and parses async operation IDs/status rows.
- Tests use `kusto.NewMockRows`, `kusto.RowIterator`, `table.Columns`, and `value.Values`.
## Acceptance criteria
- ADX exporter production code uses `github.com/Azure/azure-kusto-go/azkustodata` APIs only.
- SummaryRule async submit/status polling still works.
- Exporter tests no longer import `github.com/Azure/azure-kusto-go/kusto...` packages.
- Any shared abstraction introduced here does not require legacy Kusto types in public interfaces.
Contributor guide
No contributing guide indexed for this repository
Research direction
Read adxexporter/kusto.go and adxexporter/summaryrule.go, then inspect the existing azkustodata usage in the repository and run the exporter tests. Update the production and test files to use azkustodata APIs without legacy Kusto types, while preserving SummaryRule async submit/status polling and passing kusto_test.go and summaryrule_test.go.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- databases
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 58/100