Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s
55 lines
1.4 KiB
Python
55 lines
1.4 KiB
Python
import os
|
|
import time
|
|
import threading
|
|
from aworld.trace.config import ObservabilityConfig
|
|
from aworld.trace.instrumentation.fastapi import instrument_fastapi
|
|
from aworld.trace.instrumentation.requests import instrument_requests
|
|
from aworld.logs.util import logger, trace_logger
|
|
import aworld.trace as trace
|
|
from aworld.utils.import_package import import_packages
|
|
import_packages(['fastapi', 'uvicorn']) # noqa
|
|
import fastapi # noqa
|
|
import uvicorn # noqa
|
|
|
|
os.environ["MONITOR_SERVICE_NAME"] = "otlp_example"
|
|
os.environ["ANT_OTEL_ENDPOINT"] = "https://antcollector.alipay.com/namespace/aworld/task/aworld/otlp/api/v1/metrics"
|
|
|
|
trace.configure(ObservabilityConfig(
|
|
metrics_provider="otlp",
|
|
metrics_backend="antmonitor"
|
|
))
|
|
|
|
instrument_fastapi()
|
|
instrument_requests()
|
|
|
|
app = fastapi.FastAPI()
|
|
|
|
|
|
@app.get("/api/hello")
|
|
async def hello():
|
|
return {"message": "Hello World"}
|
|
|
|
|
|
def invoke_api():
|
|
import requests
|
|
response = requests.get('http://127.0.0.1:7071/api/hello')
|
|
logger.info(f"invoke_api response={response.text}")
|
|
|
|
|
|
def main():
|
|
logger.info("main running")
|
|
with trace.span("test_fastapi") as span:
|
|
trace_logger.info("start invoke_api")
|
|
invoke_api()
|
|
|
|
|
|
# if __name__ == "__main__":
|
|
# server_thread = threading.Thread(
|
|
# target=lambda: uvicorn.run(app, host="0.0.0.0", port=7071),
|
|
# daemon=True
|
|
# )
|
|
# server_thread.start()
|
|
# time.sleep(1)
|
|
# main()
|
|
# server_thread.join()
|