รายงานการวัดผล

ปลั๊กอินการวัดผลของ Firebase จะส่งออกเมตริก ร่องรอย และบันทึกที่รวมกันไปยัง Google Cloud Observability เอกสารนี้จะแสดงรายละเอียดเกี่ยวกับเมตริก แอตทริบิวต์การติดตาม และบันทึกที่จะรวบรวม รวมถึงสิ่งที่คุณคาดหวังได้ในด้านเวลาในการตอบสนอง โควต้า และค่าใช้จ่าย

ความล่าช้าของข้อมูลที่ได้รับจากทางไกล

ระบบอาจใช้เวลาสักครู่ก่อนที่ข้อมูลการวัดผลจากการเรียกใช้หนึ่งๆ จะพร้อมใช้งานใน Firebase ซึ่งขึ้นอยู่กับช่วงเวลาการส่งออก (5 นาทีโดยค่าเริ่มต้น)

โควต้าและขีดจำกัด

โควต้าที่สำคัญที่ควรทราบมีดังนี้

ค่าใช้จ่าย

Cloud Logging, Cloud Trace และ Cloud Monitoring มีแพ็กเกจแบบไม่มีค่าใช้จ่ายมากมาย ดูราคาที่เฉพาะเจาะจงได้ที่ลิงก์ต่อไปนี้

เมตริก

ปลั๊กอินการวัดผลของ Firebase จะรวบรวมเมตริกต่างๆ เพื่อรองรับการดําเนินการของ Genkit ประเภทต่างๆ ซึ่งจะแสดงรายละเอียดในส่วนต่อไปนี้

เมตริกฟีเจอร์

ฟีเจอร์คือจุดแรกเข้าระดับบนสุดของโค้ด Genkit ในกรณีส่วนใหญ่ การดำเนินการนี้จะเป็นแบบโฟลว์ มิฉะนั้น จะเป็นสแปนที่อยู่บนสุดในการติดตาม

ชื่อ ประเภท คำอธิบาย
genkit/feature/requests ตัวนับ จำนวนคำขอ
genkit/feature/latency ฮิสโตแกรม เวลาในการตอบสนองของการดำเนินการเป็นมิลลิวินาที

เมตริกฟีเจอร์แต่ละรายการประกอบด้วยมิติข้อมูลต่อไปนี้

ชื่อ คำอธิบาย
name ชื่อของฟีเจอร์ ในกรณีส่วนใหญ่ นี่เป็นเวิร์กโฟลว์ Genkit ระดับบนสุด
สถานะ "success" หรือ "failure" โดยขึ้นอยู่กับว่าคำขอฟีเจอร์สำเร็จหรือไม่
ข้อผิดพลาด ตั้งค่าเฉพาะเมื่อ status=failure มีประเภทข้อผิดพลาดที่ทําให้ดำเนินการไม่สําเร็จ
source ภาษาต้นฉบับของ Genkit เช่น 'ts'
sourceVersion เวอร์ชันเฟรมเวิร์ก Genkit

เมตริกการกระทํา

การดําเนินการแสดงถึงขั้นตอนทั่วไปของการดำเนินการภายใน Genkit ขั้นตอนแต่ละขั้นตอนเหล่านี้จะมีการติดตามเมตริกต่อไปนี้

ชื่อ ประเภท คำอธิบาย
genkit/action/requests ตัวนับ จํานวนครั้งที่ดําเนินการนี้
genkit/action/latency ฮิสโตแกรม เวลาในการตอบสนองของการดำเนินการเป็นมิลลิวินาที

เมตริกการกระทําแต่ละรายการประกอบด้วยมิติข้อมูลต่อไปนี้

ชื่อ คำอธิบาย
name ชื่อการดำเนินการ
featureName ชื่อของฟีเจอร์หลักที่ใช้งานอยู่
เส้นทาง เส้นทางการเรียกใช้จากรูทฟีเจอร์ไปยังการดำเนินการนี้ เช่น '/myFeature/parentAction/thisAction'
สถานะ "สำเร็จ" หรือ "ไม่สำเร็จ" โดยขึ้นอยู่กับว่าการดำเนินการสำเร็จหรือไม่
ข้อผิดพลาด ตั้งค่าเฉพาะเมื่อ status=failure มีประเภทข้อผิดพลาดที่ทําให้ดำเนินการไม่สําเร็จ
source ภาษาต้นฉบับของ Genkit เช่น 'ts'
sourceVersion เวอร์ชันเฟรมเวิร์ก Genkit

สร้างเมตริก

เมตริกเหล่านี้คือเมตริกการกระทําพิเศษที่เกี่ยวข้องกับการกระทําที่โต้ตอบกับโมเดล นอกจากคำขอและเวลาในการตอบสนองแล้ว ระบบยังติดตามอินพุตและเอาต์พุตด้วย โดยมีมิติข้อมูลเฉพาะโมเดลที่ทําให้การแก้ไขข้อบกพร่องและการปรับการกําหนดค่าง่ายขึ้น

ชื่อ ประเภท คำอธิบาย
genkit/ai/generate/requests ตัวนับ จํานวนครั้งที่มีการเรียกใช้รูปแบบนี้
genkit/ai/generate/latency ฮิสโตแกรม เวลาในการตอบสนองของการดำเนินการเป็นมิลลิวินาที
genkit/ai/generate/input/tokens ตัวนับ โทเค็นอินพุต
genkit/ai/generate/output/tokens ตัวนับ โทเค็นเอาต์พุต
genkit/ai/generate/input/characters ตัวนับ ป้อนอักขระ
genkit/ai/generate/output/characters ตัวนับ อักขระเอาต์พุต
genkit/ai/generate/input/images ตัวนับ รูปภาพอินพุต
genkit/ai/generate/output/images ตัวนับ รูปภาพเอาต์พุต
genkit/ai/generate/input/audio ตัวนับ ป้อนไฟล์เสียง
genkit/ai/generate/output/audio ตัวนับ ไฟล์เสียงเอาต์พุต

เมตริกที่สร้างขึ้นแต่ละรายการจะมีมิติข้อมูลต่อไปนี้

ชื่อ คำอธิบาย
modelName ชื่อของโมเดล
featureName ชื่อของฟีเจอร์หลักที่ใช้งานอยู่
เส้นทาง เส้นทางการเรียกใช้จากรูทฟีเจอร์ไปยังการดำเนินการนี้ เช่น '/myFeature/parentAction/thisAction'
latencyMs เวลาที่โมเดลใช้ในการตอบกลับ
สถานะ "success" หรือ "failure" โดยขึ้นอยู่กับว่าคำขอฟีเจอร์สำเร็จหรือไม่
ข้อผิดพลาด ตั้งค่าเฉพาะเมื่อ status=failure มีประเภทข้อผิดพลาดที่ทําให้ดำเนินการไม่สําเร็จ
source ภาษาต้นฉบับของ Genkit เช่น 'ts'
sourceVersion เวอร์ชันเฟรมเวิร์ก Genkit

การติดตาม

ระบบจะเครื่องมือวัดการดําเนินการของ Genkit ทั้งหมดโดยอัตโนมัติเพื่อให้การติดตามโดยละเอียดสําหรับฟีเจอร์ AI ร่องรอยจะปรากฏใน UI ของนักพัฒนาซอฟต์แวร์ในเครื่อง สําหรับแอปที่ติดตั้งใช้งาน ให้เปิดใช้การตรวจสอบ Firebase Genkit เพื่อให้มีระดับการเข้าถึงเดียวกัน

ส่วนต่อไปนี้จะอธิบายแอตทริบิวต์การติดตามที่คุณคาดหวังได้ โดยอิงตามประเภทการดําเนินการของ Genkit สําหรับช่วงหนึ่งๆ ในการติดตาม

Root Span

ข้อมูลโค้ดรูทมีแอตทริบิวต์พิเศษเพื่อช่วยแยกแยะแอตทริบิวต์สถานะของการติดตามทั้งรายการกับข้อมูลโค้ดแต่ละรายการ

ชื่อแอตทริบิวต์ คำอธิบาย
genkit/feature ชื่อของฟีเจอร์หลักที่ใช้งานอยู่
genkit/isRoot ทําเครื่องหมายเป็น "จริง" หากช่วงนี้เป็นช่วงรูท
genkit/rootState สถานะการดําเนินการโดยรวมเป็น success หรือ error ซึ่งไม่ได้หมายความว่าขั้นตอนนี้ดำเนินการไม่สำเร็จ

น้ำไหล

ชื่อแอตทริบิวต์ คำอธิบาย
genkit/input อินพุตของโฟลว์ ค่านี้จะเท่ากับ <redacted> เสมอเนื่องจากข้อจํากัดด้านขนาดแอตทริบิวต์การติดตาม
genkit/metadata/subtype ประเภทการดำเนินการของ Genkit สำหรับโฟลว์จะเป็น flow
genkit/name ชื่อการดำเนินการ Genkit นี้ ในกรณีนี้คือชื่อของขั้นตอน
genkit/output เอาต์พุตที่สร้างขึ้นในสตรีม ค่านี้จะเท่ากับ <redacted> เสมอเนื่องจากข้อจํากัดด้านขนาดแอตทริบิวต์การติดตาม
genkit/path เส้นทางการดําเนินการที่มีคุณสมบัติครบถ้วนซึ่งนําไปสู่ขั้นตอนนี้ในการติดตาม รวมถึงข้อมูลประเภท
genkit/state สถานะการดําเนินการของช่วงนี้เป็น success หรือ error
genkit/type ประเภทของ Genkit Primitive ที่สอดคล้องกับช่วงนี้ สำหรับโฟลว์ จะเป็น action

Util

ชื่อแอตทริบิวต์ คำอธิบาย
genkit/input อินพุตไปยังยูทิลิตี ค่านี้จะเท่ากับ <redacted> เสมอเนื่องจากข้อจํากัดด้านขนาดแอตทริบิวต์การติดตาม
genkit/name ชื่อการดำเนินการ Genkit นี้ ในกรณีนี้คือชื่อของขั้นตอน
genkit/output เอาต์พุตที่สร้างขึ้นในส่วน util ค่านี้จะเท่ากับ <redacted> เสมอเนื่องจากข้อจํากัดด้านขนาดแอตทริบิวต์การติดตาม
genkit/path เส้นทางการดําเนินการที่มีคุณสมบัติครบถ้วนซึ่งนําไปสู่ขั้นตอนนี้ในการติดตาม รวมถึงข้อมูลประเภท
genkit/state สถานะการดําเนินการของช่วงนี้เป็น success หรือ error
genkit/type ประเภทของ Genkit Primitive ที่สอดคล้องกับช่วงนี้ สำหรับโฟลว์ จะเป็น util

รุ่น

ชื่อแอตทริบิวต์ คำอธิบาย
genkit/input อินพุตของโมเดล ค่านี้จะเท่ากับ <redacted> เสมอเนื่องจากข้อจํากัดด้านขนาดแอตทริบิวต์การติดตาม
genkit/metadata/subtype ประเภทการดำเนินการของ Genkit สำหรับโมเดล จะเป็น model
genkit/model ชื่อรุ่น
genkit/name ชื่อการดำเนินการ Genkit นี้ ในกรณีนี้คือชื่อรุ่น
genkit/output เอาต์พุตที่โมเดลสร้างขึ้น ค่านี้จะเท่ากับ <redacted> เสมอเนื่องจากข้อจํากัดด้านขนาดแอตทริบิวต์การติดตาม
genkit/path เส้นทางการดําเนินการที่มีคุณสมบัติครบถ้วนซึ่งนําไปสู่ขั้นตอนนี้ในการติดตาม รวมถึงข้อมูลประเภท
genkit/state สถานะการดําเนินการของช่วงนี้เป็น success หรือ error
genkit/type ประเภทของ Genkit Primitive ที่สอดคล้องกับช่วงนี้ สำหรับโฟลว์ จะเป็น action

เครื่องมือ

ชื่อแอตทริบิวต์ คำอธิบาย
genkit/input อินพุตของโมเดล ค่านี้จะเท่ากับ <redacted> เสมอเนื่องจากข้อจํากัดด้านขนาดแอตทริบิวต์การติดตาม
genkit/metadata/subtype ประเภทการดำเนินการของ Genkit สำหรับเครื่องมือ จะเป็น tool
genkit/name ชื่อการดำเนินการ Genkit นี้ ในกรณีนี้คือชื่อรุ่น
genkit/output เอาต์พุตที่โมเดลสร้างขึ้น ค่านี้จะเท่ากับ <redacted> เสมอเนื่องจากข้อจํากัดด้านขนาดแอตทริบิวต์การติดตาม
genkit/path เส้นทางการดําเนินการที่มีคุณสมบัติครบถ้วนซึ่งนําไปสู่ขั้นตอนนี้ในการติดตาม รวมถึงข้อมูลประเภท
genkit/state สถานะการดําเนินการของช่วงนี้เป็น success หรือ error
genkit/type ประเภทของ Genkit Primitive ที่สอดคล้องกับช่วงนี้ สำหรับโฟลว์ จะเป็น action

บันทึก

สําหรับแอปที่ติดตั้งใช้งานด้วยการตรวจสอบ Genkit ของ Firebase ระบบจะใช้บันทึกเพื่อบันทึกข้อมูลเมตาของอินพุต เอาต์พุต และการกำหนดค่าที่ให้รายละเอียดที่สมบูรณ์เกี่ยวกับแต่ละขั้นตอนในฟีเจอร์ AI

บันทึกทั้งหมดจะมีฟิลด์ข้อมูลเมตาที่แชร์ต่อไปนี้

ชื่อช่อง คำอธิบาย
insertId รหัสที่ไม่ซ้ำกันสำหรับรายการบันทึก
jsonPayload คอนเทนเนอร์สําหรับข้อมูลตัวแปรที่ไม่ซ้ำกันสําหรับบันทึกแต่ละประเภท
ป้ายกำกับ {module: genkit}
logName projects/weather-gen-test-next/logs/genkit_log
receivedTimestamp เวลาที่ได้รับบันทึกจากระบบคลาวด์
แหล่งข้อมูล ข้อมูลเกี่ยวกับแหล่งที่มาของบันทึก รวมถึงภูมิภาคข้อมูลการนําไปใช้ และ projectId
ความรุนแรง ระดับบันทึกที่เขียน ดู LogSeverity ของ Cloud
spanId ตัวระบุสแปนที่สร้างบันทึกนี้
การประทับเวลา เวลาที่คลีเอนต์บันทึกข้อความ
การติดตาม ตัวระบุสําหรับการติดตามรูปแบบ projects/<project-id>/traces/<trace-id>
traceSampled บูลีนที่แสดงว่ามีการสุ่มตัวอย่างการติดตามหรือไม่ ระบบจะไม่สุ่มตัวอย่างบันทึก

บันทึกแต่ละประเภทจะมีเพย์โหลด JSON ที่แตกต่างกันตามที่อธิบายไว้ในแต่ละส่วน

อินพุต

เพย์โหลด JSON

ชื่อช่อง คำอธิบาย
ข้อความ [genkit] Input[<path>, <featureName>] รวมถึง (message X of N) สำหรับข้อความหลายส่วน
ข้อมูลเมตา บริบทเพิ่มเติม รวมถึงข้อความอินพุตที่ส่งไปยังการดำเนินการ

ข้อมูลเมตา:

ชื่อช่อง คำอธิบาย
content เนื้อหาข้อความอินพุตที่ส่งไปยังการดำเนินการ Genkit นี้
featureName ชื่อของขั้นตอน การดำเนินการ เครื่องมือ ยูทิลิตี หรือตัวช่วยของ Genkit
messageIndex * ดัชนีที่ระบุลําดับของข้อความสําหรับอินพุตที่มีข้อความหลายรายการ สำหรับข้อความเดียว ค่านี้จะเท่ากับ 0 เสมอ
model * ชื่อรุ่น
เส้นทาง เส้นทางการดําเนินการที่สร้างบันทึกนี้ในรูปแบบ step1 > step2 > step3
partIndex * ดัชนีที่ระบุลําดับของส่วนต่างๆ ภายในข้อความสําหรับข้อความหลายส่วน กรณีนี้เกิดขึ้นได้เมื่อรวมข้อความและรูปภาพไว้ในอินพุตเดียว
qualifiedPath เส้นทางการดําเนินการที่สร้างบันทึกนี้ รวมถึงข้อมูลประเภทของรูปแบบ /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model
totalMessages * จำนวนข้อความทั้งหมดสำหรับอินพุตนี้ สำหรับข้อความเดียว ค่านี้จะเท่ากับ 1 เสมอ
totalParts * จำนวนส่วนทั้งหมดของข้อความนี้ สำหรับข้อความแบบข้อความเดียว ค่านี้จะเท่ากับ 1 เสมอ

(*) รายการที่ติดดาวจะปรากฏในบันทึกอินพุตสำหรับการโต้ตอบกับโมเดลเท่านั้น

เอาต์พุต

เพย์โหลด JSON

ชื่อช่อง คำอธิบาย
ข้อความ [genkit] Output[<path>, <featureName>] รวมถึง (message X of N) สำหรับข้อความหลายส่วน
ข้อมูลเมตา บริบทเพิ่มเติม รวมถึงข้อความอินพุตที่ส่งไปยังการดำเนินการ

ข้อมูลเมตา:

ชื่อช่อง คำอธิบาย
candidateIndex * (เลิกใช้งานแล้ว) ดัชนีที่ระบุลําดับของผู้สมัครสําหรับเอาต์พุตที่มีผู้สมัครหลายราย สำหรับบันทึกที่มีผู้สมัครเพียงรายเดียว ค่านี้จะเท่ากับ 0 เสมอ
content ข้อความเอาต์พุตที่เกิดจากการดำเนินการ Genkit
featureName ชื่อของขั้นตอน การดำเนินการ เครื่องมือ ยูทิลิตี หรือตัวช่วยของ Genkit
messageIndex * ดัชนีที่ระบุลําดับของข้อความสําหรับอินพุตที่มีข้อความหลายรายการ สำหรับข้อความเดียว ค่านี้จะเท่ากับ 0 เสมอ
model * ชื่อรุ่น
เส้นทาง เส้นทางการดําเนินการที่สร้างบันทึกนี้ในรูปแบบ "step1 > step2 > step3
partIndex * ดัชนีที่ระบุลําดับของส่วนต่างๆ ภายในข้อความสําหรับข้อความหลายส่วน ซึ่งมักเกิดขึ้นเมื่อรวมข้อความและรูปภาพไว้ในเอาต์พุตเดียว
qualifiedPath เส้นทางการดําเนินการที่สร้างบันทึกนี้ รวมถึงข้อมูลประเภทของรูปแบบ /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model
totalCandidates * (เลิกใช้งานแล้ว) จํานวนผู้สมัครทั้งหมดที่สร้างขึ้นเป็นเอาต์พุต สำหรับข้อความที่มีผู้สมัครเพียงรายเดียว ค่านี้จะเท่ากับ 1 เสมอ
totalParts * จำนวนส่วนทั้งหมดของข้อความนี้ สำหรับข้อความแบบข้อความเดียว ค่านี้จะเท่ากับ 1 เสมอ

(*) รายการที่ติดดาวจะปรากฏในบันทึกเอาต์พุตสำหรับการโต้ตอบของโมเดลเท่านั้น

การกำหนดค่า

เพย์โหลด JSON

ชื่อช่อง คำอธิบาย
ข้อความ [genkit] Config[<path>, <featureName>]
ข้อมูลเมตา บริบทเพิ่มเติม รวมถึงข้อความอินพุตที่ส่งไปยังการดำเนินการ

ข้อมูลเมตา:

ชื่อช่อง คำอธิบาย
featureName ชื่อของขั้นตอน การดำเนินการ เครื่องมือ ยูทิลิตี หรือตัวช่วยของ Genkit
รุ่น ชื่อรุ่น
เส้นทาง เส้นทางการดําเนินการที่สร้างบันทึกนี้ในรูปแบบ "step1 > step2 > step3
qualifiedPath เส้นทางการดําเนินการที่สร้างบันทึกนี้ รวมถึงข้อมูลประเภทของรูปแบบ /{flow1,t:flow}/{generate,t:util}/{modelProvider/model,t:action,s:model
source ภาษาของไลบรารี Genkit ที่ใช้ ค่านี้จะตั้งค่าเป็น "ts" เสมอเนื่องจากเป็นภาษาเดียวที่รองรับ
sourceVersion เวอร์ชันของไลบรารี Genkit
อุณหภูมิ อุณหภูมิของโมเดลที่ใช้

เส้นทาง

เพย์โหลด JSON

ชื่อช่อง คำอธิบาย
ข้อความ [genkit] Paths[<path>, <featureName>]
ข้อมูลเมตา บริบทเพิ่มเติม รวมถึงข้อความอินพุตที่ส่งไปยังการดำเนินการ

ข้อมูลเมตา:

ชื่อช่อง คำอธิบาย
flowName ชื่อของขั้นตอน การดำเนินการ เครื่องมือ ยูทิลิตี หรือตัวช่วยของ Genkit
เส้นทาง อาร์เรย์ที่มีเส้นทางการดําเนินการทั้งหมดสําหรับช่วงข้อมูลที่รวบรวม