简介
apollo-engine-reporting-protobuf
是一个用于 Apollo Engine Reporting 的 npm 包,用于序列化和反序列化使用 Protobuf 的引擎报告。它可以帮助前端开发者快速构建 Apollo Server 并使用 Apollo Engine Reporting 进行性能监控。
安装和使用
- 安装依赖:
npm install apollo-engine-reporting-protobuf
- 导入包:
const { ReportHeader, Trace } = require('apollo-engine-reporting-protobuf');
- 创建引擎报告头部元素:
-- -------------------- ---- ------- ----- ------ - --- -------------- -- - ------- --------- -------- - ------------------- ----------------------- ------------- --------------------------------- ------------- ----- -- -- -- --- --- -- ------ ------- --------------------------- -------- - ---------- --- ------- -------- --- ------- ----------- -- - ---
其中,service
属性包括 executableSchemaId
,graphVariant
和 traceVersion
。apiKey
属性则是你在 Apollo Engine 中创建的 API KEY。tracing
属性用于指定报告的时间范围。
- 创建跟踪元素:
-- -------------------- ---- ------- -- --------- ----- ----- - --- ------- ----- - --- ----------- ---------- --- ------- -------- --- ------- ------ -- -- -------- - ----------------- -------------------- ----------- -------------- -------------- ---------------- - ---
其中,root
属性是要跟踪的查询,其 id
是查询的唯一标识符。startTime
,endTime
则是查询的时间范围。child
属性可以包含嵌套的跟踪元素。
- 序列化跟踪元素:
// 序列化跟踪元素,得到一个二进制 Buffer const buffer = Trace.encode(trace).finish();
- 发送跟踪元素:
-- -------------------- ---- ------- -- ----- ------ - ------ -------------- ---- ------------------------------ -------- - ------------- ---------------------------------- ------------------------- --------------------------- ------------------- ------- --------------- -------------------------- -- ----- ----- ----- ------ ---
示例代码
下面是一个完整的例子:
-- -------------------- ---- ------- ----- - ------------- ----- - - -------------------------------------------- ----- ------- - ------------------- ----- ------ - --- -------------- -------- - ------------------- ----------------------- ------------- --------------------------------- ------------- ----- -- ------- --------------------------- -------- - ---------- --- ------- -------- --- ------- ----------- -- - --- ----- ----- - --- ------- ----- - --- ----------- ---------- --- ------- -------- --- ------- ------ -- -- -------- - ----------------- -------------------- ----------- -------------- -------------- ---------------- - --- ----- ------ - ----------------------------- -------------- ---- ------------------------------ -------- - ------------- ---------------------------------- ------------------------- --------------------------- ------------------- ------- --------------- -------------------------- -- ----- ----- ----- ------ ---
结语
apollo-engine-reporting-protobuf
是一个非常实用的 npm 包,它使得前端开发者可以轻松构建 Apollo Server 并使用 Apollo Engine Reporting 进行性能监控。希望这篇文章对你有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/109152