File size: 1,125 Bytes
fb49ac2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import asyncio
import aworld.trace as trace
from aworld.logs.util import logger
trace.configure()


async def async_handler(name):
    async with trace.span("async_handler") as span:
        logger.info(f"async_handler start {name}")
        await asyncio.sleep(1)
        logger.info(f"async_handler end {name}")


async def async_handler2(name):
    span = trace.get_current_span()
    logger.info(f"async_handler2 span: {span.get_trace_id()}")
    logger.info(f"async_handler2 start {name}")
    await asyncio.sleep(1)
    logger.info(f"async_handler2 end {name}")


async def test1():
    logger.info(f"hello test1")
    task = asyncio.create_task(async_handler('test1'))
    # await task
    logger.info(f"hello test1 end")


async def test2():
    async with trace.span("test2") as span:
        logger.info(f"hello test2")
        task = asyncio.create_task(async_handler2(
            'test2'))
        # await task
        logger.info(f"hello test2 end")

if __name__ == "__main__":
    with trace.span("hello") as span:
        logger.info(f"main execute")
        asyncio.run(test2())
        asyncio.run(test1())