Spaces:
Sleeping
Sleeping
import os # noqa: E402 | |
os.environ["MONITOR_SERVICE_NAME"] = "otlp_example" # noqa | |
os.environ["ANT_OTEL_ENDPOINT"] = "https://antcollector.alipay.com/namespace/aworld/task/aworld/otlp/api/v1/metrics" # noqa | |
os.environ["OTLP_TRACES_ENDPOINT"] = "https://antcollector.alipay.com/namespace/aworld/task/aworld_trace/otlp/api/v1/traces" # noqa | |
from aworld.trace.config import ObservabilityConfig | |
from aworld.logs.util import logger | |
from aworld.trace.baggage import BaggageContext | |
from aworld.trace.base import get_tracer_provider | |
from aworld.trace.instrumentation.requests import instrument_requests | |
from aworld.trace.instrumentation.flask import instrument_flask | |
import flask | |
import threading | |
import aworld.trace as trace | |
trace.configure(ObservabilityConfig( | |
trace_provider="otlp", | |
trace_backends=["other_otlp"], | |
trace_base_url="https://antcollector.alipay.com/namespace/aworld/task/aworld_trace/otlp/api/v1/traces", | |
metrics_provider="otlp", | |
metrics_backend="antmonitor", | |
metrics_base_url="https://antcollector.alipay.com/namespace/aworld/task/aworld/otlp/api/v1/metrics" | |
)) | |
instrument_flask() | |
instrument_requests() | |
app = flask.Flask(__name__) | |
def test(): | |
sofa_trace_id = BaggageContext.get_baggage_value("attributes.sofa.traceid") | |
sofa_rpc_id = BaggageContext.get_baggage_value("attributes.sofa.rpcid") | |
sofa_pen_attrs = BaggageContext.get_baggage_value( | |
"attributes.sofa.penattrs") | |
sofa_sys_pen_attrs = BaggageContext.get_baggage_value( | |
"attributes.sofa.syspenattrs") | |
logger.info( | |
f"test sofa_trace_id={sofa_trace_id}, sofa_rpc_id={sofa_rpc_id}, sofa_pen_attrs={sofa_pen_attrs}, sofa_sys_pen_attrs={sofa_sys_pen_attrs}" | |
) | |
return 'Hello, World!' | |
thread = threading.Thread(target=lambda: app.run(port=7070), daemon=True) | |
thread.start() | |
def invoke_api(): | |
import requests | |
session = requests.session() | |
session.headers.update({ | |
"SOFA-TraceId": "12345678901234567890123456789012", | |
"SOFA-RpcId": "0.1.1", | |
"sofaPenAttrs": "key1=value1&key2=value2", | |
"sysPenAttrs": "key1=value1&key2=value2" | |
}) | |
response = session.get('http://localhost:7070/api/test') | |
logger.info(f"invoke_api response={response.text}") | |
def main(): | |
logger.info("main running") | |
invoke_api() | |
if __name__ == "__main__": | |
main() | |
get_tracer_provider().force_flush(1000) | |
thread.join() | |