Skip to content

Commit 9ef1a3d

Browse files
authored
feat: add datadog support to manifest-server (#739)
1 parent ef09cde commit 9ef1a3d

File tree

5 files changed

+448
-251
lines changed

5 files changed

+448
-251
lines changed

airbyte_cdk/manifest_server/README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,3 +154,25 @@ docker run -p 8080:8080 manifest-server
154154
```
155155

156156
Note: The container runs on port 8080 by default.
157+
158+
## Datadog APM
159+
160+
The manifest server supports Datadog APM tracing for monitoring and observability:
161+
162+
### Configuration
163+
164+
To enable Datadog tracing, set the environment variable:
165+
166+
```bash
167+
export DD_ENABLED=true
168+
```
169+
170+
This requires the `ddtrace` dependency, which is included in the `manifest-server` extra. For additional configuration options via environment variables, see [ddtrace configuration](https://ddtrace.readthedocs.io/en/stable/configuration.html).
171+
172+
### Usage
173+
174+
```bash
175+
# Run with Datadog tracing enabled
176+
DD_ENABLED=true manifest-server start
177+
```
178+

airbyte_cdk/manifest_server/app.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
import os
2+
3+
if os.getenv("DD_ENABLED", "false").lower() == "true":
4+
# Auto-instrumentation should be imported as early as possible.
5+
import ddtrace.auto # noqa: F401
6+
17
from fastapi import FastAPI
28

39
from .routers import capabilities, health, manifest

airbyte_cdk/manifest_server/cli/_common.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
# Import server dependencies with graceful fallback
99
try:
10+
import ddtrace # noqa: F401
1011
import fastapi # noqa: F401
1112
import uvicorn # noqa: F401
1213

0 commit comments

Comments
 (0)