Amazon Q Metrics Details

Amazon Q Metrics Details

AWS Q Developer CloudWatch Metrics Documentation

This page documents the CloudWatch metrics available for AWS Q Developer, including code examples and expected response formats.

Overview

The following metrics are available for monitoring AWS Q Developer usage and performance:

Metric Name

Period

Description

Metric Name

Period

Description

DailyActiveUserTrend

1 day (86400s)

Number of active users per day

Invocations

1 hour (3600s)

Total invocation count

SubscriptionCount

1 hour (3600s)

Number of users with paying subscriptions

MonthlyActiveUniqueUsers

30 days (2592000s)

Number of unique active users in a month

GeneratedLineCount

1 hour (3600s)

Number of lines generated by Amazon Q Developer

CodeScanCount

1 hour (3600s)

Number of code scans performed


Metric 1: MonthlyActiveUniqueUsers

Description: Number of unique active users in a month

Request:

import boto3 session = boto3.Session( aws_access_key_id='*******', aws_secret_access_key='*****', region_name='us-east-1' ) import pdb # Initialize CloudWatch client using existing session cloudwatch = session.client('cloudwatch') # Get metric data for Amazon Q monthly active users response = cloudwatch.get_metric_data( MetricDataQueries=[ { 'Id': 'amazonq_mau', 'MetricStat': { 'Metric': { 'Namespace': 'AWS/Q', 'MetricName': 'MonthlyActiveUniqueUsers', 'Dimensions': [{ 'Name': 'Dimension', 'Value': 'UniqueUserCount' }] }, 'Period': 60 * 60 * 24 * 7, # 7 day period 'Stat': 'Maximum' } } ], StartTime='2025-08-01T00:00:00', EndTime='2025-08-31T23:59:59' ) from pprint import pprint pprint(response['MetricDataResults'])

Response Format:

[{'Id': 'amazonq_mau', 'Label': 'MonthlyActiveUniqueUsers', 'StatusCode': 'Complete', 'Timestamps': [datetime.datetime(2025, 8, 8, 0, 0, tzinfo=tzutc())], 'Values': [1.0]}]

Metric 2: DailyActiveUserTrend

Description: Number of active users per day

Request:

import boto3 session = boto3.Session( aws_access_key_id='****', aws_secret_access_key='*******', region_name='us-east-1' ) # Initialize CloudWatch client using existing session cloudwatch = session.client('cloudwatch') # Get metric data for Amazon Q daily active user trend response = cloudwatch.get_metric_data( MetricDataQueries=[ { 'Id': 'amazonq_dau', 'MetricStat': { 'Metric': { 'Namespace': 'AWS/Q', 'MetricName': 'DailyActiveUserTrend', 'Dimensions': [{ 'Name': 'Dimension', 'Value': 'UserCount' }] }, 'Period': 60 * 60 * 24, # 1 day period 'Stat': 'Maximum' } } ], StartTime='2025-08-01T00:00:00', EndTime='2025-08-31T23:59:59' ) from pprint import pprint pprint(response['MetricDataResults'])

Response Format:

[{'Id': 'amazonq_dau', 'Label': 'DailyActiveUserTrend', 'StatusCode': 'Complete', 'Timestamps': [datetime.datetime(2025, 8, 12, 0, 0, tzinfo=tzutc()), datetime.datetime(2025, 8, 11, 0, 0, tzinfo=tzutc())], 'Values': [1.0, 1.0]}]

Metric 3: Invocations

Description: Total invocation count

Request:

import boto3 session = boto3.Session( aws_access_key_id='****', aws_secret_access_key='*******', region_name='us-east-1' ) # Initialize CloudWatch client using existing session cloudwatch = session.client('cloudwatch') # Get metric data for Amazon Q invocations response = cloudwatch.get_metric_data( MetricDataQueries=[ { 'Id': 'amazonq_invocations', 'MetricStat': { 'Metric': { 'Namespace': 'AWS/Q', 'MetricName': 'Invocations', 'Dimensions': [{ 'Name': 'Dimension', 'Value': 'Count' }] }, 'Period': 60 * 60, # 1 hour period 'Stat': 'Sum' } } ], StartTime='2025-08-01T00:00:00', EndTime='2025-08-31T23:59:59' ) from pprint import pprint pprint(response['MetricDataResults'])

Response Format:

[{'Id': 'amazonq_dau', 'Label': 'Invocations', 'StatusCode': 'Complete', 'Timestamps': [datetime.datetime(2025, 8, 12, 0, 0, tzinfo=tzutc()), datetime.datetime(2025, 8, 11, 0, 0, tzinfo=tzutc())], 'Values': [1.0, 1.0]}]

Metric 4: SubscriptionCount

Description: Number of users with paying subscriptions

Request:

import boto3 session = boto3.Session( aws_access_key_id='****', aws_secret_access_key='*******', region_name='us-east-1' ) # Initialize CloudWatch client using existing session cloudwatch = session.client('cloudwatch') # Get metric data for Amazon Q subscription count response = cloudwatch.get_metric_data( MetricDataQueries=[ { 'Id': 'amazonq_subscriptions', 'MetricStat': { 'Metric': { 'Namespace': 'AWS/Q', 'MetricName': 'SubscriptionCount', 'Dimensions': [{ 'Name': 'Dimension', 'Value': 'SubscriptionUserCount' }] }, 'Period': 60 * 60, # 1 hour period 'Stat': 'Maximum' } } ], StartTime='2025-08-01T00:00:00', EndTime='2025-08-31T23:59:59' ) from pprint import pprint pprint(response['MetricDataResults'])

Response Format:

[{'Id': 'amazonq_dau', 'Label': 'SubscriptionCount', 'StatusCode': 'Complete', 'Timestamps': [], 'Values': []}]

Metric 5: GeneratedLineCount

Description: Number of lines generated by Amazon Q Developer

Request:

import boto3 session = boto3.Session( aws_access_key_id='****', aws_secret_access_key='*******', region_name='us-east-1' ) # Initialize CloudWatch client using existing session cloudwatch = session.client('cloudwatch') # Get metric data for Amazon Q generated line count response = cloudwatch.get_metric_data( MetricDataQueries=[ { 'Id': 'amazonq_generated_lines', 'MetricStat': { 'Metric': { 'Namespace': 'AWS/Q', 'MetricName': 'GeneratedLineCount', 'Dimensions': [{ 'Name': 'Dimension', 'Value': 'LineCount' }] }, 'Period': 60 * 60, # 1 hour period 'Stat': 'Sum' } } ], StartTime='2025-08-01T00:00:00', EndTime='2025-08-31T23:59:59' ) from pprint import pprint pprint(response['MetricDataResults'])

Response Format:

[{'Id': 'amazonq_generated_lines', 'Label': 'GeneratedLineCount', 'StatusCode': 'Complete', 'Timestamps': [datetime.datetime(2025, 8, 1, 0, 0, tzinfo=tzutc()), datetime.datetime(2025, 8, 1, 1, 0, tzinfo=tzutc()), datetime.datetime(2025, 8, 1, 2, 0, tzinfo=tzutc())], 'Values': [2450.0, 1890.0, 3120.0]}]

Metric 6: CodeScanCount

Description: Number of code scans performed

Request:

import boto3 session = boto3.Session( aws_access_key_id='****', aws_secret_access_key='*******', region_name='us-east-1' ) # Initialize CloudWatch client using existing session cloudwatch = session.client('cloudwatch') # Get metric data for Amazon Q code scan count response = cloudwatch.get_metric_data( MetricDataQueries=[ { 'Id': 'amazonq_code_scans', 'MetricStat': { 'Metric': { 'Namespace': 'AWS/Q', 'MetricName': 'CodeScanCount', 'Dimensions': [{ 'Name': 'Dimension', 'Value': 'ScanCount' }] }, 'Period': 60 * 60, # 1 hour period 'Stat': 'Sum' } } ], StartTime='2025-08-01T00:00:00', EndTime='2025-08-31T23:59:59' ) from pprint import pprint pprint(response['MetricDataResults'])

Response Format:

[{'Id': 'amazonq_code_scans', 'Label': 'CodeScanCount', 'StatusCode': 'Complete', 'Timestamps': [datetime.datetime(2025, 8, 1, 0, 0, tzinfo=tzutc()), datetime.datetime(2025, 8, 1, 1, 0, tzinfo=tzutc()), datetime.datetime(2025, 8, 1, 2, 0, tzinfo=tzutc())], 'Values': [12.0, 8.0, 15.0]}]

Notes

  • Replace the aws_access_key_id and aws_secret_access_key with your actual AWS credentials

  • Adjust the StartTime and EndTime parameters as needed for your specific time range

  • The Period values are based on the metric definitions provided

  • The Stat parameter can be adjusted based on your requirements (Sum, Maximum, Average, etc.)

  • Some metrics may require different dimension names - verify with AWS documentation