Skip to content

Commit f259008

Browse files
committed
refactor: streamline telemetry setup and improve code clarity in index.ts
1 parent d43ec70 commit f259008

1 file changed

Lines changed: 6 additions & 23 deletions

File tree

packages/core/src/index.ts

Lines changed: 6 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,8 @@ import { startServer } from "./server";
33
import { AgentRegistry } from "./server/registry";
44
import { checkForUpdates } from "./utils/update";
55

6-
// --- OpenTelemetry Imports ---
76
import { NodeTracerProvider } from "@opentelemetry/sdk-trace-node";
8-
import {
9-
/* BatchSpanProcessor, */
10-
SimpleSpanProcessor,
11-
type SpanExporter,
12-
} from "@opentelemetry/sdk-trace-base";
7+
import { BatchSpanProcessor, type SpanExporter } from "@opentelemetry/sdk-trace-base";
138
/* import { trace } from "@opentelemetry/api"; */
149
// ---------------------------
1510

@@ -42,7 +37,6 @@ export { AgentRegistry } from "./server/registry";
4237
export * from "./utils/update";
4338
export * from "./voice";
4439

45-
// --- Statik Değişkenler Telemetry Kurulumunu Takip Etmek İçin ---
4640
let isTelemetryInitializedByVoltAgent = false;
4741
let registeredProvider: NodeTracerProvider | null = null;
4842
// -------------------------------------------------------------
@@ -52,7 +46,6 @@ type VoltAgentOptions = {
5246
port?: number;
5347
autoStart?: boolean;
5448
checkDependencies?: boolean;
55-
// --- Yeni Telemetry Parametresi ---
5649
/**
5750
* Optional OpenTelemetry SpanExporter instance or array of instances.
5851
* If provided, VoltAgent will attempt to initialize and register
@@ -74,11 +67,9 @@ export class VoltAgent {
7467
this.registry = AgentRegistry.getInstance();
7568
this.registerAgents(options.agents);
7669

77-
// --- Telemetry Kurulumu --- (Constructor içinde çağrı)
7870
if (options.telemetryExporter) {
7971
this.initializeGlobalTelemetry(options.telemetryExporter);
8072
}
81-
// --------------------------
8273

8374
// Check dependencies if enabled
8475
if (options.checkDependencies !== false) {
@@ -170,7 +161,6 @@ export class VoltAgent {
170161
return this.registry.getAgentCount();
171162
}
172163

173-
// --- Yeni Telemetry Metotları ---
174164
private initializeGlobalTelemetry(exporterOrExporters: SpanExporter | SpanExporter[]): void {
175165
if (isTelemetryInitializedByVoltAgent) {
176166
console.warn(
@@ -195,23 +185,21 @@ export class VoltAgent {
195185
? exporterOrExporters
196186
: [exporterOrExporters];
197187

198-
// --- v2.x: SpanProcessor'ları oluştur ---
188+
// --- v2.x: Create SpanProcessors ---
199189
const spanProcessors = exporters.map((exporter, index) => {
200-
console.log(`[VoltAgent] Creating BatchSpanProcessor for exporter ${index + 1}.`);
201-
return new SimpleSpanProcessor(exporter);
190+
console.log(`[VoltAgent] Creating SimpleSpanProcessor for exporter ${index + 1}.`);
191+
return new BatchSpanProcessor(exporter);
202192
});
203193
// -------------------------------------
204194

205-
// --- v2.x: Provider'ı processor'larla başlat ---
206195
const provider = new NodeTracerProvider({
207-
// resource: new Resource({ [SemanticResourceAttributes.SERVICE_NAME]: 'voltagent-app' }),
208-
spanProcessors: spanProcessors, // Processor'ları constructor'da ver
196+
spanProcessors: spanProcessors,
209197
});
210198
// -------------------------------------------
211199

212200
provider.register();
213201
isTelemetryInitializedByVoltAgent = true;
214-
registeredProvider = provider; // Keep reference for shutdown
202+
registeredProvider = provider;
215203

216204
console.log("[VoltAgent] OpenTelemetry initialized and registered globally.");
217205

@@ -227,9 +215,6 @@ export class VoltAgent {
227215
}
228216
}
229217

230-
/**
231-
* Shuts down the OpenTelemetry provider if it was initialized by VoltAgent.
232-
*/
233218
public async shutdownTelemetry(): Promise<void> {
234219
if (isTelemetryInitializedByVoltAgent && registeredProvider) {
235220
console.log("[VoltAgent] Shutting down OpenTelemetry provider...");
@@ -250,10 +235,8 @@ export class VoltAgent {
250235
// --------------------------------
251236
}
252237

253-
// Default export for easy usage
254238
export default VoltAgent;
255239

256-
// Automatically start the server if this module is run directly (CommonJS check)
257240
if (typeof require !== "undefined" && typeof module !== "undefined" && require.main === module) {
258241
new VoltAgent({ agents: {}, autoStart: true, checkDependencies: true });
259242
}

0 commit comments

Comments
 (0)