You can configure Kiro to collect per-user activity telemetry for the Kiro subscribers in your organization and deliver it as a daily CSV report. Use this report to audit usage, optimize license allocation, track credit and overage consumption, and understand how individual users interact with Kiro across clients.
Each day at 2:00 AM (02:00) Coordinated Universal Time (UTC), Kiro generates a CSV report per Kiro client type (IDE, CLI, and Plugin) and writes it to your S3 bucket.
s3://bucketName/prefix/AWSLogs/accountId/KiroLogs/user_report/region/year/month/day/00/clientType_accountId_user_report_timestamp.csv
Create an Amazon S3 bucket to hold the user activity report CSV file. The bucket must:
Be in the AWS Region where the Kiro profile was installed. This profile was installed when you subscribed IAM Identity Center workforce users to Kiro Pro for the first time. For more information about this profile and the Regions where it's supported, see Kiro profile and Supported Regions.
Be in the AWS account where users are subscribed. If users are subscribed in multiple AWS accounts, then you must create buckets in each of those accounts. Cross-account buckets are not supported.
(Optional but recommended) Be different from the bucket you might be using for logging users' prompts.
Include a prefix, also known as a subfolder, where Kiro will save the CSV file. The CSV file cannot be saved in the root of the bucket.
Have a bucket policy like the one that follows. Replace bucketName, prefix, region, and accountId with your own information. The region and accountId in the policy's Condition block must match the Region where your Kiro profile was installed and the AWS account where users are subscribed.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "KiroLogsWrite", "Effect": "Allow", "Principal": { "Service": "q.amazonaws.com" }, "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucketName/prefix/*" ], "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" }, "ArnLike": { "aws:SourceArn": "arn:aws:codewhisperer:region:accountId:*" } } } ] }
To learn about protecting the data in your Amazon S3 bucket, see Protecting data with encryption in the Amazon Simple Storage Service User Guide.
Sign in to the AWS console.
Switch to the Kiro console. To use the Kiro console, you must have the permissions defined in Policy: Allow administrators to configure Kiro and subscribe users.
Choose Settings.
Under Kiro user activity reports, choose Edit.
Toggle Collect granular metrics per user.
Under S3 location, enter the Amazon S3 URI that you will use to hold the CSV reports. Example: s3://amzn-s3-demo-bucket/user-activity-reports/
The first CSV report is generated at the next 2:00 AM UTC after you enable reporting, and new files are written every day afterwards. Once reports are in your bucket you can query them with Amazon Athena, visualize trends in Amazon QuickSight, or pull them into your existing analytics pipeline.
For a higher-level view of Kiro usage without per-user detail, see Viewing Kiro usage on the dashboard. To also capture the content of user prompts, see Prompt logging.
The following table describes the metrics that are included in the user activity reports generated by Kiro.
| Metric name | Description |
|---|---|
| Date | Date of the report activity |
| UserId | Id of the user for whom the activity is reported |
| Client_Type | KIRO_IDE, KIRO_CLI or PLUGIN |
| Chat_Conversations | Number of conversations by the user during the day |
| Credits_Used | Credits consumed from the user subscription plan during the day |
| Overage_Cap | Overage limit set by the admin, when Overage_Enabled is true. If overage is not enabled, this field shows the maximum credits included for a subscription plan as a preset value |
| Overage_Credits_Used | Total number of overage credits used by the user, if overage is enabled |
| Overage_Enabled | Whether overage is enabled for this user |
| ProfileId | Profile associated with the user activity |
| Subscription_Tier | Kiro subscription plan - Pro, ProPlus, ProMax, Power |
| Total_Messages | Number of messages sent to and from Kiro. This metric includes the user prompts, tool calls, and Kiro responses |
| New_User | Indicates if the user subscription is new. If the user activated their Kiro subscription on the report date, this metric will be true |
| User_Email | Email address of the user |
| model_name_messages | Number of messages processed by a model for a user, including Auto |
The legacy user activity report continues to run alongside the new per-client report. This report contains data for CLI and plugin usage only. Its daily CSV files are published to the same S3 bucket, at the following path:
s3://bucketName/prefix/AWSLogs/accountId/KiroLogs/by_user_analytic/Region/year/month/day/00/accountId_by_user_analytic_timestamp.csv
Each column shows a metric, as described in Old user activity report metrics.
The CSV file is laid out as follows:
clientType, containing every user who interacted with that client during the day.part_1, part_2, and so on.Reports are saved at the following path. The 00 segment is a fixed hour partition that reflects the 2:00 AM UTC write time.
The following table describes the legacy metrics that are included in the user activity reports generated by Kiro.
| Metric name | Description |
|---|---|
| Chat_AICodeLines | Lines of code suggested by Kiro and accepted by the user. This metric includes code that was generated through the Kiro chat (not inline chat) and inserted into the IDE. |
| Chat_MessagesInteracted | Number of chat messages where the user has interacted positively with Kiro. Examples of positive interactions: clicking a link, inserting a suggestion, and upvoting a response from Kiro. This metric includes messages that were generated by Kiro chat (not inline chat). |
| Chat_MessagesSent | Number of messages sent to and from Kiro. This metric includes the user prompts and Kiro responses in the Kiro chat (not inline chat). |
| CodeFix_AcceptanceEventCount | Number of code fixes suggested by Kiro and accepted by the user. This metric applies to code fixes generated through the code review feature. |
| CodeFix_AcceptedLines | Lines of code suggested by Kiro and accepted by the user. This metric applies to lines of code generated through the code review feature. |
| CodeFix_GeneratedLines | Lines of code suggested by Kiro. This metric applies to lines of code generated through the code review feature. |
| CodeFix_GenerationEventCount | Number of code fixes suggested by Kiro. This metric applies to code fixes generated through the code review feature. |
| CodeReview_FailedEventCount | Number of code issues that were found but for which Kiro could not suggest a code fix. This metric applies to code issues generated using the code review feature. |
| CodeReview_FindingsCount | Number of code issues found by Kiro. This metric applies to code issues found using the code review feature. |
| CodeReview_SucceededEventCount | Number of code issues that were found and for which Kiro was able to generate a suggested code fix. This metric applies to code issues found using the code review feature. |
| Dev_AcceptanceEventCount | Number of code features suggested by Kiro and accepted by the user. This metric applies to code features generated through the /dev command. |
| Dev_AcceptedLines | Lines of code suggested by Kiro and accepted by the user. This metric applies to lines of code generated through the /dev command. |
| Dev_GeneratedLines | Lines of code suggested by Kiro. This metric applies to lines of code generated through the /dev command. |
| Dev_GenerationEventCount | Number of code features suggested by Kiro. This metric applies to code features generated through the /dev command. |
| DocGeneration_AcceptedFileUpdates | Number of file updates suggested by Kiro and accepted by the user. This metric applies to file updates generated through the /doc command. |
| DocGeneration_AcceptedFilesCreations | Number of file creations suggested by Kiro and accepted by the user. This metric applies to file creations generated through the /doc command. |
| DocGeneration_AcceptedLineAdditions | Lines of documentation additions suggested by Kiro and accepted by the user. This metric applies to documentation generated through the /doc command. |
| DocGeneration_AcceptedLineUpdates | Lines of documentation updates suggested by Kiro and accepted by the user. This metric applies to documentation generated using the /doc command. |
| DocGeneration_EventCount | Number of times the user engaged with Kiro using the /doc command. |
| DocGeneration_RejectedFileCreations | Number of file creations suggested by Kiro and rejected by the user. This metric applies to file creations generated through the /doc command. |
| DocGeneration_RejectedFileUpdates | Number of file updates suggested by Kiro and rejected by the user. This metric applies to file updates generated through the /doc command. |
| DocGeneration_RejectedLineAdditions | Lines of documentation additions suggested by Kiro and rejected by the user. This metric applies to documentation generated through the /doc command. |
| DocGeneration_RejectedLineUpdates | Lines of documentation updates suggested by Kiro and rejected by the user. This metric applies to documentation generated using the /doc command. |
| InlineChat_AcceptedLineAdditions | Lines of code additions suggested by Kiro and accepted by the user. This metric includes code additions generated through the inline chat (not Kiro chat). |
| InlineChat_AcceptedLineDeletions | Lines of code deletions suggested by Kiro and accepted by the user. This metric includes code deletions suggested through the inline chat (not Kiro chat). |
| InlineChat_AcceptanceEventCount | Number of inline chat (not Kiro chat) suggestions that were accepted by the user. |
| InlineChat_DismissalEventCount | Number of inline chat (not Kiro chat) suggestions that were abandoned by the user. By 'abandoned', we mean that the code suggestion was displayed but the user kept typing or performing other operations in their IDE, and did not explicitly accept or reject the code suggestion. |
| InlineChat_DismissedLineAdditions | Lines of code additions suggested by Kiro and abandoned by the user. By 'abandoned', we mean that the code suggestion was displayed but the user kept typing or performing other operations in their IDE, and did not explicitly accept or reject the code suggestion. This metric includes code additions generated through the inline chat (not Kiro chat). |
| InlineChat_DismissedLineDeletions | Lines of code deletions suggested by Kiro and abandoned by the user. By 'abandoned', we mean that the code suggestion was displayed but the user kept typing or performing other operations in their IDE, and did not explicitly accept or reject the code suggestion. This metric includes code deletions suggested through the inline chat (not Kiro chat). |
| InlineChat_EventCount | Number of inline chat (not Kiro chat) sessions that the user engaged in. |
| InlineChat_RejectedLineAdditions | Lines of code additions suggested by Kiro and rejected by the user. This metric includes code additions generated through the inline chat (not Kiro chat). |
| InlineChat_RejectedLineDeletions | Lines of code deletions suggested by Kiro and rejected by the user. This metric includes code deletions suggested through the inline chat (not Kiro chat). |
| InlineChat_RejectionEventCount | Number of inline chat (not Kiro chat) suggestions that were rejected by the user. |
| Inline_AICodeLines | Lines of code suggested by Kiro and accepted by the user. This metric includes code that was accepted as inline suggestions. |
| Inline_AcceptanceCount | Number of inline suggestions accepted by the user. |
| Inline_SuggestionsCount | Number of inline suggestions displayed to the user. |
| TestGeneration_AcceptedLines | Lines of code suggested by Kiro and accepted by the user. This metric applies to lines of code generated through the /test command. |
| TestGeneration_AcceptedTests | Number of unit tests suggested by Kiro and accepted by the user. This metric applies to unit tests generated through the /test command. |
| TestGeneration_EventCount | Number of times the user engaged with Kiro through the /test command. |
| TestGeneration_GeneratedLines | Lines of code suggested by Kiro. This metric applies to lines of code generated through the /test command. |
| TestGeneration_GeneratedTests | Number of unit tests suggested by Kiro. This metric applies to unit tests generated through the /test command. |
| Transformation_EventCount | Number of times the user engaged with Kiro through the /transform command, excluding the times when the user transformed code on the command line. |
| Transformation_LinesGenerated | Lines of code suggested by Kiro. This metric applies to code generated through the /transform command, excluding code transformed on the command line. |
| Transformation_LinesIngested | Lines of code provided to Kiro for transformation. This metric applies to code that is provided through the /transform command, excluding code provided for transformation on the command line, or for an SQL conversion. |
Viewing per-user activity