【发布时间】:2020-01-03 11:16:07
【问题描述】:
我目前正在使用 Jaeger Query 并尝试通过使用 gRPC 的 API 访问其内容。我对 gRPC 不熟悉,但我的理解是我需要在相关的 proto 文件上使用 Python gRPC 编译器(grpcio_tools.protoc)才能获得有用的 Python 定义。我正在尝试做的是找出通过 API 访问 Jaeger Query 的方法,而无需前端 UI。
目前,我非常坚持编译 proto 文件。每次尝试时,我都会遇到依赖问题(Import "fileNameHere" 未找到或有错误。)。 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.
感谢您的帮助。
【问题讨论】:
-
我应该补充一点,到目前为止,the gRPC python tut 一直是我的圣经,我被困在生成客户端和服务器代码部分。
标签: grpc jaeger grpc-python