Azure / Azure/adx-mon

Migrate ADX exporter Kusto client and SummaryRule paths to azkustodata

Open
#1,187 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.