Client Libraries

度量标准(Metrics)通常不会从应用程序中神奇地出现; 必须有人添加产生它们的代码。 这是客户端库的用武之地。通常只有两到三行代码,您可以定义一个度量标准,并在您控制的代码中内嵌所需的检测。 这被称为direct instrumentation。 客户端库可用于所有主要语言和runtimes。 Prometheus项目提供Go,Python,Java / JVM和Ruby中的官方客户端库。 还有各种第三方客户端库,例如C#/.Net,Node.js,Haskell,Erlang和Rust。

官方和第三方 不要被非官方或第三方的集成所拖延。有许多您希望与之集成的应用程序和系统是Prometheus项目团队无法拥有创建和开发的时间和专业知识。因此,在这个生态中的绝大多数集成都是第三方。 为了使事情保持合理一致并按预期工作,可以阅读有关如何编写集成的指南

客户端库负责处理所有细节,例如线程安全,簿记以及生成Prometheus文本展示格式以响应HTTP请求。 由于基于度量的监视不跟踪单个事件,因此客户端库内存使用量不会增加您拥有的事件。 相反,内存与您拥有的指标数量有关 如果应用程序的某个库依赖项具有Prometheus检测,则会自动获取它。 因此,通过检测诸如RPC客户端之类的密钥库,您可以在所有应用程序中获取它的检测。 某些度量标准通常由客户端库提供,例如CPU使用率和垃圾回收统计信息,具体取决于库和运行时环境。 客户端库不限于以Prometheus文本格式输出指标。 Prometheus是一个开放的生态系统,用于提供生成文本格式的相同API可用于生成其他格式的度量标准或提供给其他仪器系统。 同样,如果您还没有完全将所有内容转换为Prometheus的客户端,则可以从其他仪器系统中获取指标并将其连接到Prometheus客户端库中。

Last updated