AgentForge

OpenTelemetry

Export agent traces and metrics to any OpenTelemetry-compatible backend.

Setup

AgentForge automatically instruments agent runs with OpenTelemetry spans:

import { getInstrumentation, recordRunMetrics } from '@ahzan-agentforge/core';

const instrumentation = getInstrumentation();

Span Types

SpanDescription
agentforge.runFull agent run
agentforge.stepSingle execution step
agentforge.llm.callLLM API call
agentforge.tool.executeTool execution

Metrics

import { recordRunMetrics, SpanStatusCode } from '@ahzan-agentforge/core';

recordRunMetrics({
  runId: 'run_abc',
  agentName: 'my-agent',
  status: 'completed',
  steps: 5,
  totalTokens: 12345,
  duration: 3200,
  costUsd: 0.02,
});

Exporting

Configure an OTEL exporter in your project:

// agentforge.config.ts
export default defineConfig({
  observability: {
    enabled: true,
    exporter: 'otlp',
    endpoint: 'http://localhost:4318',
  },
});

Compatible with Jaeger, Datadog, Honeycomb, Grafana Tempo, and any OTLP endpoint.

Resetting

For testing, reset instrumentation state:

import { resetInstrumentation } from '@ahzan-agentforge/core';

resetInstrumentation();

Next Steps