mirror of
https://github.com/katanemo/plano.git
synced 2026-05-02 20:32:42 +02:00
37 lines
1,009 B
Python
37 lines
1,009 B
Python
import os
|
|
import sys
|
|
import time
|
|
import requests
|
|
import logging
|
|
|
|
logging.basicConfig(
|
|
level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s"
|
|
)
|
|
|
|
|
|
otel_tracing_endpoint = os.getenv(
|
|
"OTEL_TRACING_HTTP_ENDPOINT", "http://localhost:4318/v1/traces"
|
|
)
|
|
envoy_log_path = os.getenv("ENVOY_LOG_PATH", "/var/log/envoy.log")
|
|
|
|
logging.info(f"Using otel-tracing host: {otel_tracing_endpoint}")
|
|
logging.info(f"Using envoy log path: {envoy_log_path}")
|
|
|
|
|
|
def process_log_line(line):
|
|
try:
|
|
response = requests.post(
|
|
url=otel_tracing_endpoint,
|
|
data=line,
|
|
headers={"Content-Type": "application/json"},
|
|
)
|
|
logging.info(f"Sent trace to otel-tracing: {response.status_code}")
|
|
except Exception as e:
|
|
logging.error(f"Failed to send trace to otel-tracing: {e}")
|
|
|
|
|
|
for line in sys.stdin:
|
|
if line:
|
|
tokens = line.split("gateway: upstream_llm trace details: ")
|
|
if len(tokens) > 1:
|
|
process_log_line(tokens[1])
|