merge develop trace FD_START (#3253)

Co-authored-by: shige <shige@baidu.com>
This commit is contained in:
sg263
2025-08-07 11:10:55 +08:00
committed by GitHub
parent f672a34f95
commit 5d3bf308f6
3 changed files with 23 additions and 3 deletions

View File

@@ -45,7 +45,7 @@ from fastdeploy.metrics.metrics import (
get_filtered_metrics, get_filtered_metrics,
main_process_metrics, main_process_metrics,
) )
from fastdeploy.metrics.trace_util import inject_to_metadata, instrument from fastdeploy.metrics.trace_util import fd_start_span, inject_to_metadata, instrument
from fastdeploy.utils import ( from fastdeploy.utils import (
FlexibleArgumentParser, FlexibleArgumentParser,
api_server_logger, api_server_logger,
@@ -270,6 +270,7 @@ def launch_api_server() -> None:
api_server_logger.info(f"launch Fastdeploy api server... port: {args.port}") api_server_logger.info(f"launch Fastdeploy api server... port: {args.port}")
api_server_logger.info(f"args: {args.__dict__}") api_server_logger.info(f"args: {args.__dict__}")
fd_start_span("FD_START")
try: try:
uvicorn.run( uvicorn.run(

View File

@@ -80,6 +80,8 @@ environment_variables: dict[str, Callable[[], Any]] = {
"EXPORTER_OTLP_HEADERS": lambda: os.getenv("EXPORTER_OTLP_HEADERS"), "EXPORTER_OTLP_HEADERS": lambda: os.getenv("EXPORTER_OTLP_HEADERS"),
# enable kv cache block scheduler v1 (no need for kv_cache_ratio) # enable kv cache block scheduler v1 (no need for kv_cache_ratio)
"ENABLE_V1_KVCACHE_SCHEDULER": lambda: int(os.getenv("ENABLE_V1_KVCACHE_SCHEDULER", "0")), "ENABLE_V1_KVCACHE_SCHEDULER": lambda: int(os.getenv("ENABLE_V1_KVCACHE_SCHEDULER", "0")),
# set trace attribute job_id.
"FD_JOB_ID": lambda: os.getenv("FD_JOB_ID"),
} }

View File

@@ -1,4 +1,5 @@
import json import json
import os
from fastapi import FastAPI from fastapi import FastAPI
from opentelemetry import trace from opentelemetry import trace
@@ -176,7 +177,22 @@ def start_span(span_name, request, kind=trace.SpanKind.CLIENT):
return return
# extract Trace context from request.metadata.trace_carrier # extract Trace context from request.metadata.trace_carrier
ctx = extract_from_metadata(request) ctx = extract_from_metadata(request)
with tracer.start_as_current_span(span_name, context=ctx, kind=kind): with tracer.start_as_current_span(span_name, context=ctx, kind=kind) as span:
span.set_attribute("job_id", os.getenv("FD_JOB_ID", default="null"))
pass
except:
pass
def fd_start_span(span_name, kind=trace.SpanKind.CLIENT):
"""
when fd start, start a new span show start success
"""
try:
if not traces_enable:
return
with tracer.start_as_current_span(span_name, kind=kind) as span:
span.set_attribute("job_id", os.getenv("FD_JOB_ID", default="null"))
pass pass
except: except:
pass pass
@@ -191,7 +207,8 @@ def start_span_request(span_name, request, kind=trace.SpanKind.CLIENT):
return return
# extract Trace context from request.metadata.trace_carrier # extract Trace context from request.metadata.trace_carrier
ctx = extract_from_request(request) ctx = extract_from_request(request)
with tracer.start_as_current_span(span_name, context=ctx, kind=kind): with tracer.start_as_current_span(span_name, context=ctx, kind=kind) as span:
span.set_attribute("job_id", os.getenv("FD_JOB_ID", default="null"))
pass pass
except: except:
pass pass