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() | |