Skip to main content

HiAgent Observe SDK

Project description

HiAgent Observe SDK

OpenTelemetry Trace

OpenTelemetry(OTel)是一个开源的、具备厂商中立性的可观测性框架。它提供了一组规范、API 和库,基于特定结构化数据建模,以输出应用程序的分布式追踪(Trace)、指标(Metrics)和日志(Log)数据。​ HiAgent 支持接收来自 OpenTelemetry 客户端上报的 Trace 数据并可视化展示,从而实现对应用程序的深度监控和分析。​ 基于 OpenTelemetry 客户端上报的流程图如下所示:​ ​ observe

OpenTelemetry Trace 集成方式​

通过 OpenTelemetry SDK 上报 Trace​,你可以使用各种语言的 OpenTelemetry SDK 将 Trace 数据上报到 HiAgent。通过 OpenTelemetry SDK 上报时,开发者需要直接在代码中引入 OpenTelemetry SDK 来创建和管理 Trace 数据(例如创建 Span、设置 Attribute、记录 Event 等)。这种方式需要开发者对 OpenTelemetry 的 SDK 有一定的了解,并在代码中明确实现埋点逻辑。

常见问题​

HiAgent 支持什么协议?​

HiAgent 不支持 GRPC 协议的 OpenTelemetry Endpoint,需使用 http/protobuf 协议。​以 Python 为例,配置示例如下:​ ​

import os
import time

from dotenv import load_dotenv
from hiagent_observe import client
from opentelemetry import trace

load_dotenv()


if __name__ == "__main__":
  try:
    # 初始化 OpenTelemetry Client,并且注入鉴权的 header
    # 鉴权的 header 每个小时会自动刷新
    client.init(
      # 配置为 HiAgent 的 OpenTelemetry Endpoint
      trace_endpoint=os.getenv("HIAGENT_TRACE_ENDPOINT"),
      # 配置为 HiAgent 的 Top Endpoint
      top_endpoint=os.getenv("HIAGENT_TOP_ENDPOINT"),
      # 配置为 HiAgent 的个人中心申请的 access key
      ak=os.getenv("VOLC_ACCESSKEY"),
      # 配置为 HiAgent 的个人中心申请的 secret key
      sk=os.getenv("VOLC_SECRETKEY"),
      # 配置为 HiAgent 的自定义应用的 workspace id
      workspace_id=os.getenv("WORKSPACE_ID"),
      # 配置为 HiAgent 的自定义应用的 app id
      app_id=os.getenv("CUSTOM_APP_ID"),
    )
  except Exception as e:
    raise RuntimeError(e)

  tracer = trace.get_tracer("example-tracer") # 创建一个 Tracer

  for i in range(100000):
    with tracer.start_as_current_span("main-operation") as root_span:
      with tracer.start_as_current_span("do-work") as span:
        span.set_attributes(
          {
            "http.method": "GET",
            "http.route": "/api/work",
            "http.status_code": 200,
          }
        )
    print("push trace")
    time.sleep(2)

更完整的例子参考这里

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

hiagent_observe-2.0.2.tar.gz (153.8 kB view details)

Uploaded Source

Built Distribution

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

hiagent_observe-2.0.2-py3-none-any.whl (159.9 kB view details)

Uploaded Python 3

File details

Details for the file hiagent_observe-2.0.2.tar.gz.

File metadata

  • Download URL: hiagent_observe-2.0.2.tar.gz
  • Upload date:
  • Size: 153.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for hiagent_observe-2.0.2.tar.gz
Algorithm Hash digest
SHA256 829a21879e3e7cb115acf924352fbc6f59ff241e2c59a9fcf84394740e9ea9b1
MD5 74bff25add99ceff803f930ff97dad66
BLAKE2b-256 eaddeea269ec3bf7c2358c90204f59a48dab4a9789a2cd6af30d53df8b5dd9d1

See more details on using hashes here.

File details

Details for the file hiagent_observe-2.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for hiagent_observe-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9368be4e3c8a9bd78645196b8f76f901f035fe37377ef3a37414c793bfee694c
MD5 59a335b8080c4bc2c0790cbd04f8019d
BLAKE2b-256 b0e557d2e3969a6acded4b3eebfe6eef9a1547bafcaceb5ad4be58bf4927b5c1

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