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,
|
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.plugins.model_register import load_model_register_plugins
|
from fastdeploy.plugins.model_register import load_model_register_plugins
|
||||||
from fastdeploy.utils import (
|
from fastdeploy.utils import (
|
||||||
FlexibleArgumentParser,
|
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"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(
|
||||||
|
@@ -82,6 +82,8 @@ environment_variables: dict[str, Callable[[], Any]] = {
|
|||||||
"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")),
|
||||||
# Whether to use PLUGINS.
|
# Whether to use PLUGINS.
|
||||||
"FD_PLUGINS": lambda: None if "FD_PLUGINS" not in os.environ else os.environ["FD_PLUGINS"].split(","),
|
"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 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
|
||||||
|
Reference in New Issue
Block a user