K6 เป็นเครื่องมือสำหรับการทำ performance testing
ซึ่งเขียนอธิบายการใช้งานง่าย ๆ ไปที่ Load testing with K6
โดย K6 นั้นพัฒนาด้วยภาษา Go
แต่เขียน script ของการทดสอบด้วยภาษา JavaScript
ซึ่งใช้งานผ่าน library ชื่อว่า Goja นั่นเอง
คำถามที่น่าสนใจคือ
ถ้าต้องการเพิ่มความสามารถต่าง ๆ ของ K6 ขึ้นมาจะต้องทำอย่างไร ?
คำตอบคือ K6 Extension นั่นเอง
เป็น extension หรือส่วนต่อขยายของ K6
โดยมี library ภาษา Go ชื่อว่า xk6
ช่วยให้นักพัฒนาและ tester เพิ่มในสิ่งที่ไม่มีใน K6 ได้ง่ายขึ้น
ดูตัวอย่าง extension ที่มีใน community
ดังนั้นการทำความเข้าใจมากขึ้น มาลองเขียน extesion แบบง่าย ๆ ดีกว่า
ซึ่งพัฒนาด้วยภาษา Go
ดังนั้นโดยมาทำ Hello World extension กัน
ขั้นตอนที่ 1 ทำการติดตั้ง k6 และ xk6
[gist id="50ff67e4abe33bbc64c7c9059f9ead7c" file="1.txt"]ขั้นตอนที่ 2 ทำการสร้าง extension ด้วยภาษา Go
[gist id="50ff67e4abe33bbc64c7c9059f9ead7c" file="demo.go"]จากนั้นทำการ build extension ด้วย xk6 ดังนี้
[gist id="50ff67e4abe33bbc64c7c9059f9ead7c" file="2.txt"]ขั้นตอนที่ 3 ทำการเขียน test script ด้วยภาษา JavaScript
โดยใช้งาน extension ชื่อว่า demo ดังนี้
[gist id="50ff67e4abe33bbc64c7c9059f9ead7c" file="test.js"]จากนั้นทำการ run script ด้วย k6
จะได้ผลการทำงานดังนี้
เพียงเท่านี้ก็สามารถสร้าง extension ของ K6 แบบง่าย ๆ ได้แล้ว