ForgeSight Datadog exporter — DD-native APM spans + cost metric, via DD Agent or OTLP intake.
Project description
forgesight-datadog
The Datadog exporter for ForgeSight.
Surfaces agent telemetry in Datadog APM with the unified service / env / version
tags, LLM / tool / MCP calls as child spans, and the SDK's computed cost as the
monitorable DD metric forgesight.cost_usd — the same number every other backend reports.
pip install forgesight-datadog
import forgesight
from forgesight_datadog import DatadogExporter
forgesight.configure(exporters=[
DatadogExporter(api_key="...", site="datadoghq.com",
service="issue-classifier", env="prod"),
])
Or by name: exporters: [{name: datadog, config: {api_key: "${DD_API_KEY}", service: ...}}].
Two transports
agent(default) — maps each record to a DD APM span viaddtraceand writes it to a local DD Agent (agent_endpoint: http://datadog-agent:8126), plus emits cost/token DD metrics. Direct intake (noagent_endpoint) requiresapi_key.otlp— sends OTLP/HTTP to the DD Agent's OTLP port (agent_endpoint: http://datadog-agent:4318) with the DD unified tags applied as resource attributes. Reusesforgesight-otel.
A DD Agent / intake outage makes export() return FAILURE (counted, never raised — P6);
it never blocks the agent. Prompt/response content is attached only with
capture_content=True (off by default, P7).
OTLP-native backends need no package
Because the domain model maps cleanly onto the OTel GenAI conventions, anything that ingests
OTLP works through forgesight-otel with no dedicated package — point it at the backend
and you're done:
| Backend | How to send |
|---|---|
| Honeycomb | forgesight-otel → api.honeycomb.io:443 + x-honeycomb-team header |
| Jaeger / Tempo / SigNoz | forgesight-otel → its OTLP collector |
| New Relic | forgesight-otel → otlp.nr-data.net:4317 + api-key header |
| AWS X-Ray | forgesight-otel → ADOT collector |
| Arize Phoenix | forgesight-otel → Phoenix OTLP endpoint |
Datadog earns a package only because its richest path (DD-native APM tagging + cost-as-DD-metric) is DD-specific. A team that only wants generic spans in Datadog can use the OTLP path and skip this package entirely.
Configuration
| Key | Env | Default |
|---|---|---|
api_key |
DD_API_KEY / FORGESIGHT_DATADOG_API_KEY |
— (required for direct intake) |
site |
DD_SITE / FORGESIGHT_DATADOG_SITE |
datadoghq.com |
service |
DD_SERVICE / FORGESIGHT_DATADOG_SERVICE |
forgesight |
env |
DD_ENV / FORGESIGHT_DATADOG_ENV |
— |
version |
DD_VERSION / FORGESIGHT_DATADOG_VERSION |
— |
agent_endpoint |
FORGESIGHT_DATADOG_AGENT_ENDPOINT |
— |
transport |
FORGESIGHT_DATADOG_TRANSPORT |
agent |
Constructor kwargs win over env (FR-12).
License
Apache-2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file forgesight_datadog-0.1.1.tar.gz.
File metadata
- Download URL: forgesight_datadog-0.1.1.tar.gz
- Upload date:
- Size: 13.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
369fbb680da8d13261dd54c567690f3454f9464ea0e826cd29a8f36b36ae5008
|
|
| MD5 |
009f54589d13356fb2292f39b2b25839
|
|
| BLAKE2b-256 |
38017b7834b2c45bb9794695c610a0cfb675b1c9adf3e8f95bb675e4a2b9ae3a
|
File details
Details for the file forgesight_datadog-0.1.1-py3-none-any.whl.
File metadata
- Download URL: forgesight_datadog-0.1.1-py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1d647e6e6f8b66219e2ce9ca572866fd8b1556f280930fbec84709af6528085
|
|
| MD5 |
5f533cb33e713953c45b824a024c6d7b
|
|
| BLAKE2b-256 |
0e11624d299e3666c9481c32a4fbc0d182a4ae8ccffd51fdcca0a017955efd78
|