Azure / Azure/azure-dev

[telemetry] Split user tables: local (MAU), CI/CD, and agent, plus a combined total

Open
#9,388 0 comments 0 reactions 1 assignee Claimed by @hemarina View on GitHub
area/telemetry
Dominant language
Go
Stars
569
Forks
364
Avg merge
2d 19h
Merged PRs (30d)
136

Description

## Problem

MAU today counts local/desktop users only. CI/CD and agent traffic is excluded, even though it is a large share of overall usage. As a result:

- We cannot report a total user number.
- We cannot see users transitioning from local to CI/CD, which is a success signal, not attrition.
- Agent usage is growing and is invisible in our headline metrics.

## What we'll do

Build separate tables so each surface can be reported on its own, plus a combined view:

1. **Local users (MAU)**
2. **CI/CD**
3. **Agent**
4. **Combined** — all three added together for a total user count

These should be driven by `execution.environment`, which azd already emits.

## Known classification bugs to fix as part of this

- `cli/azd/internal/tracing/resource/exec_environment.go` joins modifiers onto the base value with `;` (for example `Azure Pipelines;Azure App Spaces Portal`), but the Kusto side matches values exactly, so any modified value falls through the classification.
- `GitHub Copilot App` is defined in `fields.go` but is missing from the Kusto environment lists, so those users are misclassified.

Classification should be defined in one place so adding a new environment value is a single change.

## Done when

- Four tables exist and agree with each other.
- Every value azd emits is classified, including modified values.
- Adding a new environment value is a one-place change.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.