Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

telemetry(amazonq): AI code gen % for Q features #5215

Merged
merged 40 commits into from
Jan 22, 2025
Merged

telemetry(amazonq): AI code gen % for Q features #5215

merged 40 commits into from
Jan 22, 2025

Conversation

leigaol
Copy link
Contributor

@leigaol leigaol commented Dec 19, 2024

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)

Description

With the release of many Q features(Inline Suggestion, chat, inline chat, /dev, /test, /doc, /review, /transform), we need to know the % code written by all Q features. This requires calculating and reporting the user written code. The reporting of the code contribution of each Q features was already implemented.

% Code Written by Q = Code Written by Q / ( Code Written by Q + Code Written by User)

Ref: aws/aws-toolkit-vscode#5991

Calculate and report the user written code for each language by listening to document change events while Q is not making changes to the editor.

We add flags to know whether Q is making temporary changes for suggestion rendering or Q suggestion is accepted, by doing so, the document change events are coming from the user.

We ignore certain document changes when their length of new characters exceeds 50. Previous data driven research has shown that user tend to copy a huge file from one place to another, making the user written code count skyrocketing but that is actually some existing code not written by the user.

We plan to first collect data from IDEs and let it run in the background in shadow mode before we finish the service side aggregation, fix possible bugs and eventually present the AI code written % to the customers.

Checklist

  • My code follows the code style of this project
  • I have added tests to cover my changes
  • A short description of the change has been added to the CHANGELOG if the change is customer-facing in the IDE.
  • I have added metrics for my changes (if required)

License

I confirm that my contribution is made under the terms of the Apache 2.0 license.

@leigaol leigaol requested review from a team as code owners December 19, 2024 22:42
@leigaol leigaol marked this pull request as draft December 19, 2024 22:42
@leigaol leigaol changed the title feat(amazonq): AI code gen % for Q features WIP: feat(amazonq): AI code gen % for Q features Dec 19, 2024
@leigaol leigaol marked this pull request as ready for review December 27, 2024 20:48
@leigaol leigaol requested review from a team as code owners December 27, 2024 20:48
@leigaol leigaol changed the title WIP: feat(amazonq): AI code gen % for Q features feat(amazonq): AI code gen % for Q features Dec 27, 2024
justinmk3 pushed a commit to aws/aws-toolkit-vscode that referenced this pull request Jan 16, 2025
…5991

## Problem

With the release of many Q features(Inline Suggestion, chat, inline
chat, /dev, /test, /doc, /review, /transform), we need to know the %
code written by all Q features. This requires calculating and reporting
the user written code. The reporting of the code contribution of each Q
features was already implemented.


## Solution

Calculate and report the user written code for each language by
listening to document change events while Q is not making changes to the
editor.

We add flags to know whether Q is making temporary changes for
suggestion rendering or Q suggestion is accepted, by doing so, the
document change events are coming from the user.

We ignore certain document changes when their length of new characters
exceeds 50. Previous data driven research has shown that user tend to
copy a huge file from one place to another, making the user written code
count skyrocketing but that is actually some existing code not written
by the user.

We plan to first collect data from IDEs and let it run in the background
in shadow mode before we finish the service side aggregation, fix
possible bugs and eventually present the AI code written % to the
customers.

Note: The JB PR aws/aws-toolkit-jetbrains#5215.
The JB implementation depends on a reliable JB internal message bus to
pass information. Using VSC event listener might mess up the boolean
state of Q editing or not.
karanA-aws pushed a commit to karanA-aws/aws-toolkit-vscode that referenced this pull request Jan 17, 2025
…ws#5991

## Problem

With the release of many Q features(Inline Suggestion, chat, inline
chat, /dev, /test, /doc, /review, /transform), we need to know the %
code written by all Q features. This requires calculating and reporting
the user written code. The reporting of the code contribution of each Q
features was already implemented.


## Solution

Calculate and report the user written code for each language by
listening to document change events while Q is not making changes to the
editor.

We add flags to know whether Q is making temporary changes for
suggestion rendering or Q suggestion is accepted, by doing so, the
document change events are coming from the user.

We ignore certain document changes when their length of new characters
exceeds 50. Previous data driven research has shown that user tend to
copy a huge file from one place to another, making the user written code
count skyrocketing but that is actually some existing code not written
by the user.

We plan to first collect data from IDEs and let it run in the background
in shadow mode before we finish the service side aggregation, fix
possible bugs and eventually present the AI code written % to the
customers.

Note: The JB PR aws/aws-toolkit-jetbrains#5215.
The JB implementation depends on a reliable JB internal message bus to
pass information. Using VSC event listener might mess up the boolean
state of Q editing or not.
@leigaol leigaol changed the title feat(amazonq): AI code gen % for Q features telemetry(amazonq): AI code gen % for Q features Jan 21, 2025
@rli rli merged commit 253ccbe into aws:main Jan 22, 2025
11 checks passed
kevluu-aws pushed a commit to kevluu-aws/aws-toolkit-vscode that referenced this pull request Jan 23, 2025
…ws#5991

## Problem

With the release of many Q features(Inline Suggestion, chat, inline
chat, /dev, /test, /doc, /review, /transform), we need to know the %
code written by all Q features. This requires calculating and reporting
the user written code. The reporting of the code contribution of each Q
features was already implemented.


## Solution

Calculate and report the user written code for each language by
listening to document change events while Q is not making changes to the
editor.

We add flags to know whether Q is making temporary changes for
suggestion rendering or Q suggestion is accepted, by doing so, the
document change events are coming from the user.

We ignore certain document changes when their length of new characters
exceeds 50. Previous data driven research has shown that user tend to
copy a huge file from one place to another, making the user written code
count skyrocketing but that is actually some existing code not written
by the user.

We plan to first collect data from IDEs and let it run in the background
in shadow mode before we finish the service side aggregation, fix
possible bugs and eventually present the AI code written % to the
customers.

Note: The JB PR aws/aws-toolkit-jetbrains#5215.
The JB implementation depends on a reliable JB internal message bus to
pass information. Using VSC event listener might mess up the boolean
state of Q editing or not.
chungjac pushed a commit to chungjac/aws-toolkit-vscode that referenced this pull request Jan 24, 2025
…ws#5991

## Problem

With the release of many Q features(Inline Suggestion, chat, inline
chat, /dev, /test, /doc, /review, /transform), we need to know the %
code written by all Q features. This requires calculating and reporting
the user written code. The reporting of the code contribution of each Q
features was already implemented.


## Solution

Calculate and report the user written code for each language by
listening to document change events while Q is not making changes to the
editor.

We add flags to know whether Q is making temporary changes for
suggestion rendering or Q suggestion is accepted, by doing so, the
document change events are coming from the user.

We ignore certain document changes when their length of new characters
exceeds 50. Previous data driven research has shown that user tend to
copy a huge file from one place to another, making the user written code
count skyrocketing but that is actually some existing code not written
by the user.

We plan to first collect data from IDEs and let it run in the background
in shadow mode before we finish the service side aggregation, fix
possible bugs and eventually present the AI code written % to the
customers.

Note: The JB PR aws/aws-toolkit-jetbrains#5215.
The JB implementation depends on a reliable JB internal message bus to
pass information. Using VSC event listener might mess up the boolean
state of Q editing or not.
s7ab059789 pushed a commit to s7ab059789/aws-toolkit-vscode that referenced this pull request Feb 19, 2025
…ws#5991

## Problem

With the release of many Q features(Inline Suggestion, chat, inline
chat, /dev, /test, /doc, /review, /transform), we need to know the %
code written by all Q features. This requires calculating and reporting
the user written code. The reporting of the code contribution of each Q
features was already implemented.


## Solution

Calculate and report the user written code for each language by
listening to document change events while Q is not making changes to the
editor.

We add flags to know whether Q is making temporary changes for
suggestion rendering or Q suggestion is accepted, by doing so, the
document change events are coming from the user.

We ignore certain document changes when their length of new characters
exceeds 50. Previous data driven research has shown that user tend to
copy a huge file from one place to another, making the user written code
count skyrocketing but that is actually some existing code not written
by the user.

We plan to first collect data from IDEs and let it run in the background
in shadow mode before we finish the service side aggregation, fix
possible bugs and eventually present the AI code written % to the
customers.

Note: The JB PR aws/aws-toolkit-jetbrains#5215.
The JB implementation depends on a reliable JB internal message bus to
pass information. Using VSC event listener might mess up the boolean
state of Q editing or not.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants