mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-04-28 14:04:41 -07:00
feat: add direct Google Cloud telemetry exporters (#8541)
This commit is contained in:
@@ -363,6 +363,33 @@ describe('Server Config (config.ts)', () => {
|
||||
expect(config.getTelemetryEnabled()).toBe(TELEMETRY_SETTINGS.enabled);
|
||||
});
|
||||
|
||||
it('Config constructor should set telemetry useCollector to true when provided', () => {
|
||||
const paramsWithTelemetry: ConfigParameters = {
|
||||
...baseParams,
|
||||
telemetry: { enabled: true, useCollector: true },
|
||||
};
|
||||
const config = new Config(paramsWithTelemetry);
|
||||
expect(config.getTelemetryUseCollector()).toBe(true);
|
||||
});
|
||||
|
||||
it('Config constructor should set telemetry useCollector to false when provided', () => {
|
||||
const paramsWithTelemetry: ConfigParameters = {
|
||||
...baseParams,
|
||||
telemetry: { enabled: true, useCollector: false },
|
||||
};
|
||||
const config = new Config(paramsWithTelemetry);
|
||||
expect(config.getTelemetryUseCollector()).toBe(false);
|
||||
});
|
||||
|
||||
it('Config constructor should default telemetry useCollector to false if not provided', () => {
|
||||
const paramsWithTelemetry: ConfigParameters = {
|
||||
...baseParams,
|
||||
telemetry: { enabled: true },
|
||||
};
|
||||
const config = new Config(paramsWithTelemetry);
|
||||
expect(config.getTelemetryUseCollector()).toBe(false);
|
||||
});
|
||||
|
||||
it('should have a getFileService method that returns FileDiscoveryService', () => {
|
||||
const config = new Config(baseParams);
|
||||
const fileService = config.getFileService();
|
||||
|
||||
@@ -105,6 +105,7 @@ export interface TelemetrySettings {
|
||||
otlpProtocol?: 'grpc' | 'http';
|
||||
logPrompts?: boolean;
|
||||
outfile?: string;
|
||||
useCollector?: boolean;
|
||||
}
|
||||
|
||||
export interface OutputSettings {
|
||||
@@ -364,6 +365,7 @@ export class Config {
|
||||
otlpProtocol: params.telemetry?.otlpProtocol,
|
||||
logPrompts: params.telemetry?.logPrompts ?? true,
|
||||
outfile: params.telemetry?.outfile,
|
||||
useCollector: params.telemetry?.useCollector,
|
||||
};
|
||||
this.usageStatisticsEnabled = params.usageStatisticsEnabled ?? true;
|
||||
|
||||
@@ -708,6 +710,10 @@ export class Config {
|
||||
return this.telemetrySettings.outfile;
|
||||
}
|
||||
|
||||
getTelemetryUseCollector(): boolean {
|
||||
return this.telemetrySettings.useCollector ?? false;
|
||||
}
|
||||
|
||||
getGeminiClient(): GeminiClient {
|
||||
return this.geminiClient;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user