mirror of
https://github.com/csunny/DB-GPT.git
synced 2025-09-09 04:49:26 +00:00
feat(core): Support opentelemetry exporter (#1690)
This commit is contained in:
@@ -9,7 +9,7 @@ from typing import Optional
|
||||
from dbgpt._private.config import Config
|
||||
from dbgpt.component import SystemApp
|
||||
from dbgpt.storage import DBType
|
||||
from dbgpt.util.parameter_utils import BaseParameters
|
||||
from dbgpt.util.parameter_utils import BaseServerParameters
|
||||
|
||||
ROOT_PATH = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
sys.path.append(ROOT_PATH)
|
||||
@@ -199,7 +199,7 @@ def _create_mysql_database(db_name: str, db_url: str, try_to_create_db: bool = F
|
||||
|
||||
|
||||
@dataclass
|
||||
class WebServerParameters(BaseParameters):
|
||||
class WebServerParameters(BaseServerParameters):
|
||||
host: Optional[str] = field(
|
||||
default="0.0.0.0", metadata={"help": "Webserver deploy host"}
|
||||
)
|
||||
@@ -247,21 +247,7 @@ class WebServerParameters(BaseParameters):
|
||||
"text2vec --rerank --model_name xxx --model_path xxx`"
|
||||
},
|
||||
)
|
||||
log_level: Optional[str] = field(
|
||||
default=None,
|
||||
metadata={
|
||||
"help": "Logging level",
|
||||
"valid_values": [
|
||||
"FATAL",
|
||||
"ERROR",
|
||||
"WARNING",
|
||||
"WARNING",
|
||||
"INFO",
|
||||
"DEBUG",
|
||||
"NOTSET",
|
||||
],
|
||||
},
|
||||
)
|
||||
|
||||
light: Optional[bool] = field(default=False, metadata={"help": "enable light mode"})
|
||||
log_file: Optional[str] = field(
|
||||
default="dbgpt_webserver.log",
|
||||
|
@@ -111,10 +111,15 @@ add_exception_handler(app)
|
||||
def _get_webserver_params(args: List[str] = None):
|
||||
from dbgpt.util.parameter_utils import EnvArgumentParser
|
||||
|
||||
parser: argparse.ArgumentParser = EnvArgumentParser.create_argparse_option(
|
||||
WebServerParameters
|
||||
parser = EnvArgumentParser()
|
||||
|
||||
env_prefix = "webserver_"
|
||||
webserver_params: WebServerParameters = parser.parse_args_into_dataclass(
|
||||
WebServerParameters,
|
||||
env_prefixes=[env_prefix],
|
||||
command_args=args,
|
||||
)
|
||||
return WebServerParameters(**vars(parser.parse_args(args=args)))
|
||||
return webserver_params
|
||||
|
||||
|
||||
def initialize_app(param: WebServerParameters = None, args: List[str] = None):
|
||||
@@ -245,6 +250,10 @@ def run_webserver(param: WebServerParameters = None):
|
||||
os.path.join(LOGDIR, param.tracer_file),
|
||||
system_app=system_app,
|
||||
tracer_storage_cls=param.tracer_storage_cls,
|
||||
enable_open_telemetry=param.tracer_to_open_telemetry,
|
||||
otlp_endpoint=param.otel_exporter_otlp_traces_endpoint,
|
||||
otlp_insecure=param.otel_exporter_otlp_traces_insecure,
|
||||
otlp_timeout=param.otel_exporter_otlp_traces_timeout,
|
||||
)
|
||||
|
||||
with root_tracer.start_span(
|
||||
|
Reference in New Issue
Block a user