Skip to content

Commit 4318e60

Browse files
committed
Merge Commit 'f80eb71': [Part 3/6] feat(telemetry): enhance metrics with performance monitoring APIs (google-gemini#8113)
2 parents 8905461 + f80eb71 commit 4318e60

4 files changed

Lines changed: 1015 additions & 3 deletions

File tree

packages/core/src/telemetry/constants.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,25 @@ export const METRIC_MODEL_ROUTING_FAILURE_COUNT =
4848
'gemini_cli.model_routing.failure.count';
4949
export const METRIC_MODEL_SLASH_COMMAND_CALL_COUNT =
5050
'gemini_cli.slash_command.model.call_count';
51+
52+
// Performance Monitoring Metrics
53+
export const METRIC_STARTUP_TIME = 'gemini_cli.startup.duration';
54+
export const METRIC_MEMORY_USAGE = 'gemini_cli.memory.usage';
55+
export const METRIC_CPU_USAGE = 'gemini_cli.cpu.usage';
56+
export const METRIC_TOOL_QUEUE_DEPTH = 'gemini_cli.tool.queue.depth';
57+
export const METRIC_TOOL_EXECUTION_BREAKDOWN =
58+
'gemini_cli.tool.execution.breakdown';
59+
export const METRIC_TOKEN_EFFICIENCY = 'gemini_cli.token.efficiency';
60+
export const METRIC_API_REQUEST_BREAKDOWN = 'gemini_cli.api.request.breakdown';
61+
export const METRIC_PERFORMANCE_SCORE = 'gemini_cli.performance.score';
62+
export const METRIC_REGRESSION_DETECTION = 'gemini_cli.performance.regression';
63+
export const METRIC_REGRESSION_PERCENTAGE_CHANGE =
64+
'gemini_cli.performance.regression.percentage_change';
65+
export const METRIC_BASELINE_COMPARISON =
66+
'gemini_cli.performance.baseline.comparison';
67+
68+
// Performance Events
69+
export const EVENT_STARTUP_PERFORMANCE = 'gemini_cli.startup.performance';
70+
export const EVENT_MEMORY_USAGE = 'gemini_cli.memory.usage';
71+
export const EVENT_PERFORMANCE_BASELINE = 'gemini_cli.performance.baseline';
72+
export const EVENT_PERFORMANCE_REGRESSION = 'gemini_cli.performance.regression';

packages/core/src/telemetry/index.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,3 +74,33 @@ export {
7474
recordUserActivity,
7575
isUserActive,
7676
} from './activity-detector.js';
77+
export {
78+
// Core metrics functions
79+
recordToolCallMetrics,
80+
recordTokenUsageMetrics,
81+
recordApiResponseMetrics,
82+
recordApiErrorMetrics,
83+
recordFileOperationMetric,
84+
recordInvalidChunk,
85+
recordContentRetry,
86+
recordContentRetryFailure,
87+
recordModelRoutingMetrics,
88+
// Performance monitoring functions
89+
recordStartupPerformance,
90+
recordMemoryUsage,
91+
recordCpuUsage,
92+
recordToolQueueDepth,
93+
recordToolExecutionBreakdown,
94+
recordTokenEfficiency,
95+
recordApiRequestBreakdown,
96+
recordPerformanceScore,
97+
recordPerformanceRegression,
98+
recordBaselineComparison,
99+
isPerformanceMonitoringActive,
100+
// Performance monitoring types
101+
PerformanceMetricType,
102+
MemoryMetricType,
103+
ToolExecutionPhase,
104+
ApiRequestPhase,
105+
FileOperation,
106+
} from './metrics.js';

0 commit comments

Comments
 (0)