Setting the file. One moment.
Subchapter 14.5
references/metrics-api.mdMarkdown3 KBView on GitHub
Retrieve config metrics via the LaunchDarkly REST API.
GET /api/v2/projects/{projectKey}/ai-configs/{configKey}/metricsRequires an API token with ai-configs:read permission.
headers = {
"Authorization": "your-api-token",
"LD-API-Version": "beta"
}import requests
import time
import os
def get_ai_config_metrics(project_key: str, config_key: str, env: str = "production", hours: int = 24):
"""Get config metrics for the last N hours."""
API_TOKEN = os.environ.get("LAUNCHDARKLY_API_TOKEN")
now = int(time.time())
start = now - (hours * 3600)
url = f"https://app.launchdarkly.com/api/v2/projects/{project_key}/ai-configs/{config_key}/metrics"
params = {
"from": start,
"to": now,
"env": env
}
headers = {
"Authorization": API_TOKEN,
"LD-API-Version": "beta"
}
response = requests.get(url, headers=headers, params=params)
if response.status_code == 200:
metrics = response.json()
print(f"[OK] Metrics for {config_key} (last {hours} hours, {env}):")
print(f" Generations: {metrics.get('generationCount', 0):,}")
print(f" Success: {metrics.get('generationSuccessCount', 0):,}")
print(f" Errors: {metrics.get('generationErrorCount', 0):,}")
print(f" Input Tokens: {metrics.get('inputTokens', 0):,}")
print(f" Output Tokens: {metrics.get('outputTokens', 0):,}")
print(f" Total Tokens: {metrics.get('totalTokens', 0):,}")
print(f" Input Cost: ${metrics.get('inputCost', 0):.4f}")
print(f" Output Cost: ${metrics.get('outputCost', 0):.4f}")
print(f" Duration (ms): {metrics.get('durationMs', 0):,}")
print(f" TTFT (ms): {metrics.get('timeToFirstTokenMs', 0):,}")
print(f" Thumbs Up: {metrics.get('thumbsUp', 0)}")
print(f" Thumbs Down: {metrics.get('thumbsDown', 0)}")
return metrics
else:
print(f"[ERROR] Failed to get metrics: {response.status_code}")
return None| Field | Description |
|---|---|
generationCount | Total number of generations |
generationSuccessCount | Successful generations |
generationErrorCount | Failed generations |
inputTokens | Total input tokens used |
outputTokens | Total output tokens generated |
totalTokens | Sum of input + output tokens |
inputCost | Cost for input tokens |
outputCost | Cost for output tokens |
durationMs | Total duration in milliseconds |
timeToFirstTokenMs | Time to first token (streaming) |
thumbsUp | Positive feedback count |
thumbsDown | Negative feedback count |
| Parameter | Type | Description |
|---|---|---|
from | int | Unix timestamp for start of range |
to | int | Unix timestamp for end of range |
env | string | Environment key (default: “production”) |