Skip to main content

Add your description here

Project description

Wuying GuestOS Observer Python

功能

  • 记录埋点和Trace数据
  • 埋点的数据格式是JSON对象,包含埋点名称(eventName)、时间(time)、属性(properties)和一些其它的配置信息,比如实例名称、版本等信息。
  • Trace数据格式是JSON对象,包含TraceID、SpanID、ParentSpanID、Name、Kind、StartTime、EndTime、Duration、Attributes、Events、Links、StatusCode、StatusMessage等信息。以SLS Trace数据格式输出到本地文件, 通过定制opentelemetry-python的Exporter实现。

使用方法

  1. 创建一个Python项目,并安装OpenTelemetry SDK
  2. 使用示例可以参考demo.py
from observer import init, shutdown, new_span_as_current, new_track_point


if __name__ == "__main__":
    # 初始化observer,指定trackpoint和trace文件存放目录,这里设置为当前路径,默认可不填,和C++、Golang版本保持一致
    init("test", track_point_dir='./', trace_dir='./')

    # 创建一个span,并设置属性和事件
    with new_span_as_current("test_trace") as span:
        # 设置属性
        span.set_attribute("key", "value")
        # 添加事件
        span.add_event("event1", {"event_attr": "event_value"})
        # 如果失败了,设置trace的状态和错误信息
        span.set_status(get_status(False), "error message")
        # 记录一个埋点
        new_track_point("test_trace")

    # 程序结束后关闭observer,这一步是可选的
    shutdown()

如何使用远端的trace_id创建span

创建span时,可以指定trace_id和span_id,这样trace_id和span_id就会作为span的父span,从而实现链路追踪。这里在new_span_as_current和new_span方法中做了封装,可以直接传入trace_id和span_id,具体的实现可以参考wobs/observer.py。

    with new_span_as_current("test_trace", trace_id="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", span_id="xxxxxxxxxxxxxxxx") as span:
        span.set_attribute("key", "value")

依赖

  • Opentelemetry python sdk

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wuying_guestos_observer_python-0.1.0.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wuying_guestos_observer_python-0.1.0-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file wuying_guestos_observer_python-0.1.0.tar.gz.

File metadata

File hashes

Hashes for wuying_guestos_observer_python-0.1.0.tar.gz
Algorithm Hash digest
SHA256 361a3b30323af1f7a02bcfac6b77ba7b14bbd0b86a429cd2445b47806128fadf
MD5 7724b980f226368d00c1f679ff21647b
BLAKE2b-256 0f7625d4f10a78cec3433782ac7b92a49bdf69d5eb457c6d54c8eb1d3d2c99c6

See more details on using hashes here.

File details

Details for the file wuying_guestos_observer_python-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for wuying_guestos_observer_python-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5944b0c718b039802771faf621c683a78a0095501016be73df3e4b16422c5b1f
MD5 7b5ad199ad41ae3c457f9d7810c375e1
BLAKE2b-256 dba80e086eaf1c92497fb8a1083838b5b930b783d0e6385fe302d6e5f0e63a31

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page