Skip to content

Commit 841e831

Browse files
sg263Jiang-Jia-Junshige
authored
[Trace]add trace when fd start (#3174)
* add opentelemetry * add opentelemetry * add opentelemetry on dequeue * add opentelemetry on dequeue * add opentelemetry on dequeue * fix annotation * fix annotation when add opentelemetry * fix opentelemetry-instrumentation-fastapi * fix pentelemetry-bootstrap * fix opentelemetry can not work in uvicorn * move conf to env * fd start add trace * fix pre-commit * fix pre-commit * change FD_JOB_ID --------- Co-authored-by: Jiang-Jia-Jun <[email protected]> Co-authored-by: shige <[email protected]>
1 parent e0bbd3b commit 841e831

File tree

3 files changed

+23
-3
lines changed

3 files changed

+23
-3
lines changed

fastdeploy/entrypoints/openai/api_server.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
get_filtered_metrics,
4646
main_process_metrics,
4747
)
48-
from fastdeploy.metrics.trace_util import inject_to_metadata, instrument
48+
from fastdeploy.metrics.trace_util import fd_start_span, inject_to_metadata, instrument
4949
from fastdeploy.plugins.model_register import load_model_register_plugins
5050
from fastdeploy.utils import (
5151
FlexibleArgumentParser,
@@ -272,6 +272,7 @@ def launch_api_server() -> None:
272272

273273
api_server_logger.info(f"launch Fastdeploy api server... port: {args.port}")
274274
api_server_logger.info(f"args: {args.__dict__}")
275+
fd_start_span("FD_START")
275276

276277
try:
277278
uvicorn.run(

fastdeploy/envs.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@
8282
"ENABLE_V1_KVCACHE_SCHEDULER": lambda: int(os.getenv("ENABLE_V1_KVCACHE_SCHEDULER", "0")),
8383
# Whether to use PLUGINS.
8484
"FD_PLUGINS": lambda: None if "FD_PLUGINS" not in os.environ else os.environ["FD_PLUGINS"].split(","),
85+
# set trace attribute job_id.
86+
"FD_JOB_ID": lambda: os.getenv("FD_JOB_ID"),
8587
}
8688

8789

fastdeploy/metrics/trace_util.py

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import json
2+
import os
23

34
from fastapi import FastAPI
45
from opentelemetry import trace
@@ -176,7 +177,22 @@ def start_span(span_name, request, kind=trace.SpanKind.CLIENT):
176177
return
177178
# extract Trace context from request.metadata.trace_carrier
178179
ctx = extract_from_metadata(request)
179-
with tracer.start_as_current_span(span_name, context=ctx, kind=kind):
180+
with tracer.start_as_current_span(span_name, context=ctx, kind=kind) as span:
181+
span.set_attribute("job_id", os.getenv("FD_JOB_ID", default="null"))
182+
pass
183+
except:
184+
pass
185+
186+
187+
def fd_start_span(span_name, kind=trace.SpanKind.CLIENT):
188+
"""
189+
when fd start, start a new span show start success
190+
"""
191+
try:
192+
if not traces_enable:
193+
return
194+
with tracer.start_as_current_span(span_name, kind=kind) as span:
195+
span.set_attribute("job_id", os.getenv("FD_JOB_ID", default="null"))
180196
pass
181197
except:
182198
pass
@@ -191,7 +207,8 @@ def start_span_request(span_name, request, kind=trace.SpanKind.CLIENT):
191207
return
192208
# extract Trace context from request.metadata.trace_carrier
193209
ctx = extract_from_request(request)
194-
with tracer.start_as_current_span(span_name, context=ctx, kind=kind):
210+
with tracer.start_as_current_span(span_name, context=ctx, kind=kind) as span:
211+
span.set_attribute("job_id", os.getenv("FD_JOB_ID", default="null"))
195212
pass
196213
except:
197214
pass

0 commit comments

Comments
 (0)