我目前正在使用Jaeger Query并尝试通过使用 gRPC的API访问其内容。我对 gRPC 不熟悉,但我的理解是我需要在相关的 proto 文件上使用 Python gRPC 编译器(grpcio_tools.protoc)来获得有用的 Python 定义。我想做的是找出通过 API 访问 Jaeger Query 的方法,而无需前端 UI。
目前,我非常坚持编译 proto 文件。每次尝试时,我都会遇到依赖问题(Import "fileNameHere" was not found 或有错误。)。Jaeger query.proto文件包含对 repo 外部文件的导入引用。虽然我可以找到这些并手动收集它们,但它们也有依赖关系。我的印象是,逐一完成并收集这些内容并不是本打算这样做的。
我在这里做错了吗?通过 Jaeger 提供的直接文档仅限于此。下面是我的基本终端会话,在包含任何手动找到的文件之前(它们本身具有依赖项,我必须去查找文件)。
$ python -m grpc_tools.protoc --grcp_python_out=. --python_out=. --proto_path=. query.proto
model.proto: File not found.
gogoproto/gogo.proto: File not found.
google/api/annotations.proto: File not found.
protoc-gen-swagger/options/annotations.proto: File not found.
query.proto:20:1: Import "model.proto" was not found or had errors.
query.proto:21:1: Import "gogoproto/gogo.proto" was not found or had errors.
query.proto:22:1: Import "google/api/annotations.proto" was not found or had errors.
query.proto:25:1: Import "protoc-gen-swagger/options/annotations.proto" was not found or had errors.
query.proto:61:12: "jaeger.api_v2.Span" is not defined.
query.proto:137:12: "jaeger.api_v2.DependencyLink" is not defined.
谢谢你的帮助。