扩展毕业
一些 Go 扩展未来可能会在 k6 二进制文件中提供。这些精选扩展会经过不同的阶段,最终成为核心功能。
这个毕业过程对用户和开发者都有益处。k6 用户可以访问新功能并提供反馈,从而影响其开发。同时,k6 开发者可以快速迭代并响应反馈,而无需担心破坏性更改。
核心绑定(core-bound)扩展会经过以下阶段:
扩展
k6 生态系统中的大多数扩展仍然是扩展,需要 xk6 来集成自定义功能。这些扩展可能由 Grafana 或社区提供,并可能包含在扩展注册表中。
注意
只有 Grafana 控制的扩展才能超越扩展阶段,成为实验性或核心模块。
实验性模块
此阶段是核心 k6 的第一次接触。扩展仍然在 k6 核心外部维护,但作为 Go 模块导入,不再需要 xk6。
一旦扩展被提升为实验性模块,该扩展将从扩展列表中移除。此时,有关该功能的文档将分别在 k6 API 和 输出 中提供,适用于 JavaScript 和 Output 扩展。
在此阶段,功能质量和稳定性应达到较高水平。该阶段使更多用户能够使用此功能,从而为 k6 开发者提供更多获取反馈的机会。关键在于实现可用性和稳定性之间的平衡。
注意
并非所有实验性模块都会进展到成为核心模块!如果 k6 团队认为某个实验性模块不再适合,则保留停止并移除它的权利。
核心模块
稳定的功能现在已成为标准 k6 产品的一部分,作为内置模块。扩展可能在实验性模块阶段停留较长时间,才会进展为核心模块。
模块代码位于主 k6 仓库中,旧的扩展仓库已存档。实验性模块阶段的选项在两个 k6 版本后被弃用并移除,为用户升级脚本以使用新模块提供时间。