From b3911839f36c45bfc966ceaee1431e67ddd8f4f7 Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Mon, 28 Apr 2025 16:28:27 +0800 Subject: [PATCH] =?UTF-8?q?app=E4=B8=8D=E4=BD=BF=E7=94=A8=E6=89=B9?= =?UTF-8?q?=E9=87=8F=E4=B8=8A=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.py | 3 +-- telemetry/__init__.py | 15 ++++++++++----- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/app.py b/app.py index 6cece27..df8290d 100644 --- a/app.py +++ b/app.py @@ -12,14 +12,13 @@ load_local_template() import logging LOGGER = logging.getLogger(__name__) -init_opentelemetry() +init_opentelemetry(batch=False) app = flask.Flask(__name__) @app.post('/') def do_task(task_id): task_info = api.get_task_info(task_id) biz.task.start_task(task_info) - time.sleep(1) # for telemetry upload traces return "OK" diff --git a/telemetry/__init__.py b/telemetry/__init__.py index 99d8e22..acf591d 100644 --- a/telemetry/__init__.py +++ b/telemetry/__init__.py @@ -5,14 +5,14 @@ from opentelemetry import trace from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter as OTLPSpanHttpExporter from opentelemetry.sdk.resources import DEPLOYMENT_ENVIRONMENT, HOST_NAME, Resource, SERVICE_NAME, SERVICE_VERSION from opentelemetry.sdk.trace import TracerProvider -from opentelemetry.sdk.trace.export import BatchSpanProcessor +from opentelemetry.sdk.trace.export import BatchSpanProcessor, SimpleSpanProcessor def get_tracer(name): return trace.get_tracer(name) # 初始化 OpenTelemetry -def init_opentelemetry(): +def init_opentelemetry(batch=True): # 设置服务名、主机名 resource = Resource(attributes={ SERVICE_NAME: "RENDER_WORKER", @@ -22,9 +22,14 @@ def init_opentelemetry(): }) # 使用HTTP协议上报 - span_processor = BatchSpanProcessor(OTLPSpanHttpExporter( - endpoint="https://oltp.jerryyan.top/v1/traces", - )) + if batch: + span_processor = BatchSpanProcessor(OTLPSpanHttpExporter( + endpoint="https://oltp.jerryyan.top/v1/traces", + )) + else: + span_processor = SimpleSpanProcessor(OTLPSpanHttpExporter( + endpoint="https://oltp.jerryyan.top/v1/traces", + )) trace_provider = TracerProvider(resource=resource, active_span_processor=span_processor) trace.set_tracer_provider(trace_provider)