我用DataDog APM库(dd-java-agent.jar
)测试了一个Java应用程序,按照他们的文档添加了通常的DD_ENV
、DD_SERVICE
、DD_VERSION
env vars。
该应用程序在EKS上运行,并通过AWS Java SDK库与S3和RDS进行交互。
在DataDogWebUI的APM控制台中,我将应用程序视为一个单独的服务。附加服务java-aws-sdk
会自动标识为单独的服务,我的应用会调用该服务。
我希望特定的AWS服务(如S3)也显示为单独的服务。
我已经多次阅读了DataDog tracing documentation,但是除了通常的服务监视配置之外,没有发现任何特定于我的用例的内容。
我承认,有一件事我没有尝试过,那就是在调用AWS服务的地方使用自定义跟踪标记代码,比如S3。不过,我想避免这种方法,而是找到一种通用的方法,通过配置来可视化与特定AWS服务的交互,而不必在代码中标记每个特定的AWS交互。
2条答案
按热度按时间s6fujrry1#
需要注意的一个重要细节是,如果在当前选择的(短)时间跨度内存在流量,则服务Map将仅显示服务之间的连接。
在向Java应用程序提交了1 k个涉及访问数据库的请求之后,服务Map确实显示了应用程序和数据库之间的直接连接。
仍然不确定java-aws-sdk是关于什么的:
“java-aws-sdk”似乎来自跟踪库
https://github.com/DataDog/dd-trace-java/blob/master/dd-java-agent/instrumentation/aws-java-sdk-1.11.0/src/main/java/datadog/trace/instrumentation/aws/v0/AwsSdkClientDecorator.java#L29
to94eoyn2#
可以使用服务Map配置变量重命名DataDog服务:
https://docs.datadoghq.com/tracing/trace_collection/library_config/java/