Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Isaac Brown <101839405+isaacmbrown@users.noreply.github.com> Co-authored-by: docs-bot <77750099+docs-bot@users.noreply.github.com> Co-authored-by: Alexandra Lato <102535292+alexlato22@users.noreply.github.com>
5.5 KiB
title, shortTitle, intro, permissions, versions, redirect_from, topics, contentType, allowTitleToDifferFromFilename
| title | shortTitle | intro | permissions | versions | redirect_from | topics | contentType | allowTitleToDifferFromFilename | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Lines of Code metrics | Copilot LoC metrics | Understand how Lines of Code metrics measure {% data variables.product.prodname_copilot_short %}’s output and what factors affect their coverage and accuracy. | {% data reusables.copilot.usage-metrics-permissions %} |
|
|
|
reference | true |
{% data reusables.copilot.usage-metrics-preview %}
Lines of Code (LoC) metrics provide a directional measure of {% data variables.product.prodname_copilot_short %}’s output by quantifying the lines it suggested, added, or deleted across completions, chat, and agent features.
Where LoC metrics appear
You may encounter LoC metrics in:
- Code generation dashboard (enterprise level) — visualizes LoC-based user and agent activity. See AUTOTITLE.
- Exports and APIs (enterprise, organization, and user level) — expose LoC fields such as
loc_suggested_to_add_sum,loc_added_sum, andloc_deleted_sum. See AUTOTITLE. - "Data available in {% data variables.product.prodname_copilot_short %} usage metrics" reference — lists all dashboard and API fields derived from LoC. See AUTOTITLE.
This article covers how LoC is measured and what affects its accuracy and coverage. For detailed definitions, refer to the reference article above.
Considerations for LoC metrics
LoC metrics may vary across IDEs and versions. Keep the following considerations in mind:
- Coverage: Not all IDEs and users will emit LoC telemetry until they upgrade to the required versions. Reports include the
last_known_ide_versionandlast_known_plugin_versionfields so you can monitor coverage across your enterprise. - Stability: As {% data variables.product.prodname_copilot_short %} evolves, telemetry definitions may change. Expect small shifts in data as accuracy improves over time.
Version requirements
LoC metrics require specific minimum versions of IDEs and {% data variables.product.prodname_copilot_short %} plugins to function. Users on older versions will not contribute LoC data, which may lead to underreporting until they upgrade.
| IDE | Feature | Minimum IDE version | Minimum {% data variables.copilot.copilot_chat_short %} extension version |
|---|---|---|---|
| Eclipse |
|
4.31 | 0.9.3.202507240902 |
|
4.31 | 0.11.0.202508291001 | |
|
4.31 | 0.10.0.202508110512 | |
| IntelliJ/JetBrains |
|
2024.2.6 | 1.5.52-241 |
| {% data variables.product.prodname_vs %} |
|
17.14.13 | 18.0.471.29466 |
|
17.14.14 | 18.0.471.29466 | |
| {% data variables.product.prodname_vscode_shortname %} |
|
1.104.0 | 0.31.0 |
|
1.102.0 | 0.29.0 | |
|
1.103.2 | 0.30.3 | |
|
1.103.0 | 0.30.0 | |
| XCode |
|
14.3.1 | 0.40.0 |
|
15.0 | 0.43.0 | |
|
15.2 | 0.41.0 |
How agent mode affects LoC metrics
Unlike completions or chat, {% data variables.copilot.copilot_agent_short %} does not follow a “suggest then accept” flow. Agents plan and execute multi-step tasks, often editing multiple files iteratively without explicit acceptance by the user. Because of this, LoC metrics for agent activity are measured differently.
| Behavior | How it’s reflected in LoC metrics |
|---|---|
| Agent code suggestions | Counted as loc_suggested_to_add_sum when visible code blocks are shown in the chat panel. |
| Agent edits in files | Counted as loc_added_sum and loc_deleted_sum under the agent_edit feature bucket. These edits are not included in suggested metrics. |
| Multi-file operations | Each file edit contributes to total added and deleted lines, even if triggered by one prompt. |
Example output for agent-related LoC activity:
"totals_by_language_feature": [
{
"language": "unknown",
"feature": "chat_panel_agent_mode",
"code_generation_activity_count": 12,
"code_acceptance_activity_count": 0,
"loc_suggested_to_add_sum": 86, // code block suggestions in chat panel in agent mode
"loc_suggested_to_delete_sum": 0,
"loc_added_sum": 5, // only includes code block copy or apply in chat panel, not agent edits
"loc_deleted_sum": 0
},
{
"language": "unknown",
"feature": "agent_edit",
"code_generation_activity_count": 345,
"code_acceptance_activity_count": 0,
"loc_suggested_to_add_sum": 0,
"loc_suggested_to_delete_sum": 0,
"loc_added_sum": 2342, // agent and edit mode edits in files
"loc_deleted_sum": 947
}
]
For a single agent edit, you may see metrics such as:
"user_initiated_interaction_count": 0,
"code_generation_activity_count": 1,
"code_acceptance_activity_count": 0