链路¶
针对在分布式系统、无服务器计算和容器化环境中部署服务的业务组织,观测云通过应用性能监测(APM) 帮助团队实时了解影响性能的问题,如应用中断或服务无响应,还能通过端到端的可见性,确保对性能问题的全面掌握。不过,追踪成本管理不当可能导致数据缺失,延长问题解决时间,甚至可能放大小问题,对业务产生重大影响。
观测云的应用性能监测支持 Opentracing 协议,实现对分布式架构应用的端到端链路分析,并能与基础设施、日志、用户访问监测等进行关联分析。您可以在应用性能监测 > 链路搜索、筛选、导出链路数据,查看链路详情,并通过火焰图、Span 列表、瀑布图等工具对链路性能进行全面分析。无论是同步还是异步调用,观测云都能清晰追踪每一个链路性能的数据细节,确保您对链路数据实现完全有效的控制。
立即开始¶
在进行系统和应用程序的链路数据分析之前,您需要在每个目标主机上部署观测云 DataKit 采集器,以收集必要的链路数据。
基于您的应用语言,观测云对应不同的配置步骤:
Java¶
安装依赖:
运行应用:
可以通过多种途径运行你的 Java Code,如 IDE,Maven,Gradle 或直接通过 java -jar
命令,以下通过 java
命令启动应用:
java -javaagent:/path/to/dd-java-agent.jar \
-Ddd.logs.injection=true \
-Ddd.service.name=<YOUR-SERVICE-NAME> \
-Ddd.env=<YOUR-ENV-NAME> \
-Ddd.agent.host=<YOUR-DATAKIT-HOST> \
-Ddd.trace.agent.port=9529 \
-jar path/to/your/app.jar
参数配置:
service.name
:服务名;env
:应用服务的环境信息;version
:版本号;- 设置采样率:开启后,可降低实际产生的数据量;数字范围从 0.0(0%) ~ 1.0(100%);
- 收集 Profiling 数据:开启后可以看到更多应用程序运行时的信息;
- 开启 JVM 指标采集:需要同步开启 statsd 采集器。
更多参数配置,参考 这里。
Python¶
安装依赖:
运行应用:
可以通过多种途径运行你的 Java Code,如 IDE,Maven,Gradle 或直接通过 java -jar
命令,以下通过 java
命令启动应用:
DD_SERVICE="<YOUR-SERVICE-NAME>" \
DD_ENV="<YOUR-ENV-NAME>" \
DD_LOGS_INJECTION=true \
DD_AGENT_HOST=localhost \
DD_AGENT_PORT=9529 \
ddtrace-run python my_app.py
参数配置:
service.name
:服务名;env
:应用服务的环境信息;version
:版本号;- 设置采样率:开启后,可降低实际产生的数据量;数字范围从 0.0(0%) ~ 1.0(100%);
- 收集 Profiling 数据:开启后可以看到更多应用程序运行时的信息;
- 开启 Python 指标采集:需要同步开启 statsd 采集器。
更多参数配置,参考 这里。
Golang¶
安装依赖:
运行应用:
可以通过多种途径运行你的 Java Code,如 IDE,Maven,Gradle 或直接通过 java -jar
命令,以下通过 java
命令启动应用:
package main
import (
"io/ioutil"
"os"
"time"
httptrace "gopkg.in/DataDog/dd-trace-go.v1/contrib/net/http"
"gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer"
)
func main() {
tracer.Start(
tracer.WithService("test"),
tracer.WithEnv("test"),
)
defer tracer.Stop()
// Create a traced mux router
mux := httptrace.NewServeMux()
// Continue using the router as you normally would.
mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
time.Sleep(time.Second)
w.Write([]byte("Hello World!"))
})
if err := http.ListenAndServe(":18080", mux); err != nil {
log.Fatal(err)
}
}
参数配置:
service.name
:服务名;env
:应用服务的环境信息;version
:版本号;- 设置采样率:开启后,可降低实际产生的数据量;数字范围从 0.0(0%) ~ 1.0(100%);
- 收集 Profiling 数据:开启后可以看到更多应用程序运行时的信息。
更多参数配置,参考 这里。