mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-10-04 16:22:57 +08:00
[Trace]add trace when fd start (#3174)
Some checks failed
Deploy GitHub Pages / deploy (push) Has been cancelled
Some checks failed
Deploy GitHub Pages / deploy (push) Has been cancelled
* 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 <163579578+Jiang-Jia-Jun@users.noreply.github.com> Co-authored-by: shige <shige@baidu.com>
This commit is contained in:
@@ -45,7 +45,7 @@ from fastdeploy.metrics.metrics import (
|
||||
get_filtered_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.plugins.model_register import load_model_register_plugins
|
||||
from fastdeploy.utils import (
|
||||
FlexibleArgumentParser,
|
||||
@@ -272,6 +272,7 @@ def launch_api_server() -> None:
|
||||
|
||||
api_server_logger.info(f"launch Fastdeploy api server... port: {args.port}")
|
||||
api_server_logger.info(f"args: {args.__dict__}")
|
||||
fd_start_span("FD_START")
|
||||
|
||||
try:
|
||||
uvicorn.run(
|
||||
|
@@ -82,6 +82,8 @@ environment_variables: dict[str, Callable[[], Any]] = {
|
||||
"ENABLE_V1_KVCACHE_SCHEDULER": lambda: int(os.getenv("ENABLE_V1_KVCACHE_SCHEDULER", "0")),
|
||||
# Whether to use PLUGINS.
|
||||
"FD_PLUGINS": lambda: None if "FD_PLUGINS" not in os.environ else os.environ["FD_PLUGINS"].split(","),
|
||||
# set trace attribute job_id.
|
||||
"FD_JOB_ID": lambda: os.getenv("FD_JOB_ID"),
|
||||
}
|
||||
|
||||
|
||||
|
@@ -1,4 +1,5 @@
|
||||
import json
|
||||
import os
|
||||
|
||||
from fastapi import FastAPI
|
||||
from opentelemetry import trace
|
||||
@@ -176,7 +177,22 @@ def start_span(span_name, request, kind=trace.SpanKind.CLIENT):
|
||||
return
|
||||
# extract Trace context from request.metadata.trace_carrier
|
||||
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
|
||||
except:
|
||||
pass
|
||||
@@ -191,7 +207,8 @@ def start_span_request(span_name, request, kind=trace.SpanKind.CLIENT):
|
||||
return
|
||||
# extract Trace context from request.metadata.trace_carrier
|
||||
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
|
||||
except:
|
||||
pass
|
||||
|
Reference in New Issue
Block a user