[telemetry] Split user tables: local (MAU), CI/CD, and agent, plus a combined total
- 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
Assessment
This issue has not been assessed yet.