在前端开发中,我们经常会遇到需要监控和追踪 API 调用的情况。Zipkin 是一个开源的分布式跟踪系统,能够帮助我们监控和追踪 API 调用的情况。而 zipkin-instrumentation-typeorm 是 Zipkin 提供的一个 instrumentation 库,能够帮助我们监控和追踪 TypeORM 产生的 SQL 查询。
本文将介绍如何使用 npm 包 zipkin-instrumentation-typeorm 来监控 TypeORM 产生的 SQL 查询。
安装
首先,我们需要在项目中安装 zipkin-instrumentation-typeorm 包。
npm install zipkin-instrumentation-typeorm --save
使用
接下来,我们需要初始化 Zipkin 追踪器,并创建 TypeORM 的连接。
-- -------------------- ---- ------- ------ - ------- ---------------- --------------- - ---- --------- ------ - ---------- - ---- ------------------------ ------ - ----------- - ---- --------------------------------- ------ - ---------------- - ---- ---------- ----- -------- - --- ------------------ ----- ------ - --- -------- -------- --- ------------------ -------- --- ----- ---------- - --- ------------ --------- ------------------------------------ --- ------------------------------- ----- ---------- - ----- ------------------ ----- -------- ----- ------------ ----- ----- --------- ------- --------- --- --------- ------- --- ----------------------- - ------ ---
代码中,我们首先初始化了一个 tracer 对象,并将其赋值给一个 httpLogger 对象的 endpoint 属性。然后,我们创建了一个 TypeORM 的连接,并调用 wrapTypeORM 函数来包装连接。wrapTypeORM 函数接受两个参数,第一个参数是 TypeORM 的连接对象,第二个参数是一个包含 tracer 对象的配置对象。
接下来,我们就可以进行 SQL 查询了。
const users = await connection.getRepository(User).find();
当我们进行 SQL 查询时,zipkin-instrumentation-typeorm 会在查询之前和查询之后分别记录一个跟踪点。我们可以使用 Zipkin UI 来查看这些跟踪点。
示例代码
下面是完整的示例代码。
-- -------------------- ---- ------- ------ - ------- ---------------- --------------- - ---- --------- ------ - ---------- - ---- ------------------------ ------ - ----------- - ---- --------------------------------- ------ - ---------------- - ---- ---------- ----- -------- - --- ------------------ ----- ------ - --- -------- -------- --- ------------------ -------- --- ----- ---------- - --- ------------ --------- ------------------------------------ --- ------------------------------- ----- ---------- - ----- ------------------ ----- -------- ----- ------------ ----- ----- --------- ------- --------- --- --------- ------- --- ----------------------- - ------ --- ----- ----- - ----- -------------------------------------- -------------------
总结
使用 npm 包 zipkin-instrumentation-typeorm 来监控 TypeORM 产生的 SQL 查询是很简单的。我们只需要初始化 Zipkin 追踪器,并调用 wrapTypeORM 函数来包装 TypeORM 的连接对象即可。通过监控和追踪 API 调用,我们可以更好地了解应用程序的性能和行为。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/80388