การกำหนดค่าเมตริกจะกำหนดแคมเปญการวัดและส่งข้อมูลที่บริการการวัดและส่งข้อมูลเรียกใช้ การกำหนดค่าเมตริกคืออินสแตนซ์ของข้อความบัฟเฟอร์โปรโตคอล (protobuf) MetricsConfig การกำหนดค่าเมตริกจะระบุวิธีรวบรวม ประมวลผล และรายงานข้อมูล OEM สามารถเปิดใช้งานการกำหนดค่าเมตริกผ่าน API ของบริการการวัดและส่งข้อมูล โดยสามารถเรียกใช้การกำหนดค่าหลายรายการพร้อมกันได้
ก่อนเริ่มต้น โปรดทำความคุ้นเคยกับสถาปัตยกรรม SDV ซึ่งเป็น สถาปัตยกรรมที่มุ่งเน้นบริการที่บริการเผยแพร่ข้อมูลเป็นข้อความ protobuf ข้อความเหล่านี้จะสื่อสารโดยใช้สแต็กการสื่อสาร SDV ผ่าน RPC หรือการเผยแพร่และสมัครรับข้อมูล
คำสำคัญ
การกำหนดค่าเมตริก จะจัดระเบียบการเก็บรวบรวมข้อมูลโดยกำหนดแหล่งข้อมูล กฎการประมวลผล และกลไกการรายงาน ข้อดีหลักอย่างหนึ่งของการประมวลผลที่อุปกรณ์คือการลดปริมาณการใช้อินเทอร์เน็ตมือถือ การประมวลผลข้อมูลความถี่สูงในอุปกรณ์และการอัปโหลดเฉพาะข้อมูลรวมหรือข้อมูลเชิงลึกจะช่วยลดปริมาณข้อมูลที่ส่งไปยังระบบคลาวด์ได้อย่างมาก
การกำหนดการกำหนดค่าเมตริกเริ่มต้นด้วยการแสดงรายการ แหล่งข้อมูล ที่จะใช้ในการกำหนดค่า แหล่งข้อมูลเหล่านี้คือบริการที่ทำให้ข้อมูลพร้อมใช้งานผ่านสแต็กการสื่อสาร SDV เมื่อคุณเปิดใช้งานการกำหนดค่า บริการการวัดและส่งข้อมูลจะเชื่อมต่อกับแหล่งข้อมูลเหล่านี้เพื่อสตรีมหรือดึงข้อมูลตามต้องการ
หัวใจสำคัญของการกำหนดค่าคือความสามารถในการประมวลผลข้อมูลที่อุปกรณ์ ซึ่งจัดการผ่าน ตัวรวมข้อมูล ที่มีสถานะ ตัวรวมแต่ละตัวใช้ เครื่องมือสร้างข้อความ ที่เก็บอินสแตนซ์ข้อความโปรโตคอลที่มีสถานะ ระบบจะป้อนข้อมูลลงในแต่ละช่องในข้อความนี้โดยการประเมินนิพจน์ ซึ่งกำหนดข้อมูลที่จะอ่านจากแหล่งข้อมูลหรือตัวรวมอื่นๆ และการดำเนินการทางคณิตศาสตร์ ตรรกะ หรือการรวมที่จะใช้กับข้อมูล คุณสามารถใช้การรวมเพิ่มเติมกับผลลัพธ์ของนิพจน์ได้
ทริกเกอร์ มีความสำคัญอย่างยิ่งต่อการควบคุมกระบวนการนี้ ทริกเกอร์สามารถเริ่มทำงานเป็นระยะๆ เพื่อตอบสนองต่อข้อมูลใหม่ หรือเมื่อเป็นไปตามเงื่อนไขตามข้อมูล ทริกเกอร์จะกำหนดเวลาที่ตัวรวมจะประเมินเครื่องมือสร้างข้อความ เวลาที่สร้างรายงานเมตริก และอาจส่งผลต่อวงจรการกำหนดค่า เช่น การเริ่มหรือหยุดการเก็บรวบรวมข้อมูล
รายงานเมตริก คือเอาต์พุตสุดท้าย รายงานแต่ละฉบับจะมีเพย์โหลดข้อมูลที่กำหนดโดยเครื่องมือสร้างข้อความ พร้อมข้อมูลเมตา เช่น การประทับเวลาและรหัสรายงาน คุณสามารถสร้างรายงานในบางช่วงของวงจรการกำหนดค่า เช่น เมื่อมีการเปิดใช้งานหรือปิดใช้งานการกำหนดค่า ระบบจะจัดเก็บรายงานที่สร้างขึ้นไว้ในหน่วยความจำ และจะแจ้งให้ไคลเอ็นต์ทราบเพื่อดึงข้อมูลผ่านช่องทางการแจ้งเตือนสถานะรายงาน
รูปภาพต่อไปนี้แสดงตัวอย่างแนวคิดเกี่ยวกับวิธีที่คอมโพเนนต์โต้ตอบกันในการกำหนดค่าเมตริก
รูปที่ 1 แหล่งข้อมูล การประมวลผล และการรายงานในการกำหนดค่าเมตริก
คอมโพเนนต์การกำหนดค่าเมตริก
คุณสามารถใช้การกำหนดค่าเมตริกเพื่อกำหนดงานการเก็บรวบรวมข้อมูลและไปป์ไลน์การประมวลผลที่ซับซ้อนในอุปกรณ์ ส่วนนี้จะอธิบายรายละเอียดคอมโพเนนต์หลักที่ใช้กำหนดแคมเปญเมตริก คอมโพเนนต์จะแสดงตามลำดับที่ข้อมูลไหลผ่านระบบ ตั้งแต่อินพุตไปจนถึงเอาต์พุต คุณกำหนดคอมโพเนนต์เหล่านี้ได้ตามลำดับที่ต้องการ การประมวลผลข้อมูลด้วยตัวรวมและการจัดการวงจรเป็นตัวเลือก
- กำหนดแหล่งข้อมูล
- ประมวลผลข้อมูลด้วยตัวรวม
- ควบคุมโฟลว์การดำเนินการด้วยทริกเกอร์
- สร้างรายงานเมตริก
- จัดการวงจรการเก็บรวบรวมข้อมูล
กำหนดแหล่งข้อมูล
รากฐานของแคมเปญเมตริกคือข้อมูล ในการกำหนดค่าเมตริก กลไกการรับข้อมูลจะถูกแยกออกเป็นส่วนย่อย และคุณต้องระบุเฉพาะชื่อที่ใช้ระบุแหล่งข้อมูลและโหมดการเชื่อมต่อ (การสมัครใช้บริการหรือตามความต้องการ) แหล่งข้อมูลอาจเป็นบริการใดก็ได้ที่ทำให้ข้อมูล พร้อมใช้งานผ่านสแต็กการสื่อสาร SDV หรือลงทะเบียนตัวเองใน Configurable Publisher Registry, ซึ่งช่วยให้เก็บรวบรวมข้อมูลจากแอปที่ไม่มีมิดเดิลแวร์ SDV ได้ แหล่งข้อมูลแต่ละแหล่งต้องมีชื่อที่ไม่ซ้ำกันในการกำหนดค่าเพื่อให้คอมโพเนนต์การกำหนดค่าเมตริกอื่นๆ เช่น ทริกเกอร์หรือตัวรวมอ้างอิงได้ คุณสามารถกำหนดค่าวิธีเชื่อมต่อ ความถี่ในการรับข้อมูล และระบุออบเจ็กต์การกำหนดค่าเฉพาะบริการได้
การกำหนดค่าแหล่งข้อมูล
บริการการวัดและส่งข้อมูลสามารถเชื่อมต่อกับแหล่งข้อมูลได้ 2 วิธี ดังนี้
- Getter: เมธอดนี้จะดึงข้อมูลตามความต้องการเมื่อใดก็ตามที่นิพจน์ที่กำหนดในการกำหนดค่าเมตริกต้องอ่านข้อมูลจากแหล่งข้อมูลนี้ วิธีนี้มีประโยชน์สำหรับแหล่งข้อมูลที่ไม่ได้ให้สตรีมอย่างต่อเนื่องหรือเมื่อคุณต้องการสแนปชอตข้อมูลเป็นครั้งคราว
- การสมัครใช้บริการ: นี่คือเมธอดเริ่มต้น ซึ่งจะสร้างสตรีมข้อมูลอย่างต่อเนื่องจากแหล่งข้อมูล คุณต้องใช้การเชื่อมต่อประเภทนี้หากต้องการใช้ทริกเกอร์ข้อมูลที่จะเริ่มทำงานเมื่อได้รับข้อความใหม่จากแหล่งข้อมูลนี้
เมื่อใช้การสมัครใช้บริการ คุณจะกำหนดค่าสิ่งต่อไปนี้ได้
- การสุ่มตัวอย่างย่อย: คุณสามารถกำหนดช่วงเวลาขั้นต่ำระหว่างข้อความที่ต่อเนื่องกันจากแหล่งข้อมูลเดียวกันเพื่อหลีกเลี่ยงการรับข้อมูลบ่อยเกินไป หากแหล่งข้อมูลเผยแพร่ข้อมูลเร็วกว่าช่วงเวลานี้ บริการการวัดและส่งข้อมูลจะจำกัดการแจ้งเตือน และทริกเกอร์ข้อมูลจะเปิดใช้งานเฉพาะข้อความที่ได้รับหลังจากการจำกัด ซึ่งจะเป็นการสุ่มตัวอย่างย่อยข้อมูลอย่างมีประสิทธิภาพ
- การดึงข้อความเริ่มต้น: คุณสามารถกำหนดค่าบริการให้ดึงข้อความล่าสุดจากแหล่งข้อมูลเมื่อสร้างการสมัครใช้บริการ ด้วยเหตุนี้ แหล่งข้อมูลจะป้อนข้อมูลด้วยค่าทันทีหากมีค่า ไม่ต้องรอให้มีการเผยแพร่ข้อความใหม่รายการแรก วิธีนี้มีประโยชน์ในทริกเกอร์หรือตัวรวมแบบมีเงื่อนไขที่ต้องมีสถานะเริ่มต้น หรือเมื่อแหล่งข้อมูลเผยแพร่ข้อมูลไม่บ่อยนัก
ระบบจะแคชข้อความภายใน ไม่ว่าข้อความจะมีประเภทใดก็ตาม หากนิพจน์หรือตัวรวมหลายรายการต้องใช้ข้อมูลจากแหล่งข้อมูลเดียวกันในระหว่างรอบการประเมินครั้งเดียว ระบบจะดึงข้อมูลเพียงครั้งเดียว ไม่ว่าจะจากแคชหากได้รับข้อความใหม่โดยใช้การสมัครใช้บริการ หรือใช้การเรียกตามความต้องการครั้งเดียว
ประมวลผลข้อมูลด้วยตัวรวม
แม้ว่าแหล่งข้อมูลจะให้ข้อมูลดิบ แต่ตัวรวมจะทำการประมวลผลข้อมูลที่อุปกรณ์แบบมีสถานะ ตัวรวมจะใช้ข้อมูลจากแหล่งข้อมูลหรือตัวรวมอื่นๆ แปลงข้อมูล และทำให้ผลลัพธ์พร้อมให้รายงานเมตริกอ่านหรือตัวรวมอื่นๆ ประมวลผลเพิ่มเติม ซึ่งช่วยให้สร้างไปป์ไลน์การประมวลผลแบบหลายขั้นตอนได้ เช่น การคำนวณสถิติความเร็วในตัวรวมหนึ่งตัวและการใช้สถิติดังกล่าวในคอมโพเนนต์อื่นที่ตรวจจับรูปแบบพฤติกรรมการขับขี่
ทริกเกอร์อย่างน้อย 1 รายการจะทริกเกอร์ตัวรวมให้ทำการคำนวณ ทุกครั้งที่ทริกเกอร์รายการใดรายการหนึ่งเริ่มทำงาน ตัวรวมจะประเมินกฎและอัปเดตสถานะภายใน
คุณสามารถกำหนดค่าตัวรวมให้รีเซ็ตสถานะหลังจากที่คอมโพเนนต์อื่นอ่านค่าแล้ว ซึ่งมีประโยชน์สำหรับการคำนวณสถิติตามช่วงเวลาที่ไม่ทับซ้อนกัน
เครื่องมือสร้างข้อความจะกำหนดโครงสร้างและตรรกะของตัวรวม เครื่องมือสร้างข้อความจะระบุวิธีสร้างอินสแตนซ์ข้อความโปรโตคอลโดยอธิบายวิธีสร้างข้อมูลสำหรับแต่ละช่อง สำหรับแต่ละช่อง นิพจน์จะกำหนดวิธีอ่านข้อมูลจากแหล่งข้อมูลและตัวรวม รวมถึงใช้การดำเนินการกับข้อมูลนี้ นอกจากนี้ คุณยังใช้ การรวม ซึ่งเป็นการ ดำเนินการคำนวณหรือการรวบรวมที่ใช้กับผลลัพธ์ของนิพจน์ เมื่อเวลาผ่านไปได้ด้วย
ระบบรองรับการรวมประเภทต่อไปนี้
- ทางคณิตศาสตร์: คำนวณสถิติ (ค่าเฉลี่ย ค่าต่ำสุด ค่าสูงสุด ผลรวม ส่วนเบี่ยงเบนมาตรฐาน และส่วนต่าง) จากค่าที่นิพจน์ส่งคืนในแต่ละทริกเกอร์ ส่วนต่างคือความแตกต่างระหว่างค่าตัวเลขปัจจุบันและค่าตัวเลขก่อนหน้าที่นิพจน์ส่งคืน
- รายการ: รวบรวมค่าที่นิพจน์ส่งคืนลงในรายการ คุณสามารถจำกัดขนาดรายการเพื่อสร้างหน้าต่างแบบเลื่อน (บัฟเฟอร์แบบวงแหวน) ของค่าล่าสุดได้
- จำนวน: กรณีพิเศษที่ไม่ได้ระบุนิพจน์ นับจำนวนครั้งที่ประเมินช่อง (นั่นคือ จำนวนครั้งที่ทริกเกอร์ตัวรวมหรือรายงาน)
- การส่งผ่าน: ใช้ผลลัพธ์ของนิพจน์โดยตรงโดยไม่ใช้การรวม วิธีนี้มีประโยชน์ในการกำหนดค่ารายงานสำหรับการเข้าถึงค่าสุดท้ายจากตัวรวม
รูปภาพต่อไปนี้เป็นแผนภาพแนวคิดที่แสดงการประเมินตัวรวม
รูปที่ 2 การประเมินตัวรวม
ทำการคำนวณหรือกำหนดเงื่อนไขโดยใช้นิพจน์
ระบบจะใช้นิพจน์ภายในเครื่องมือสร้างข้อความและทริกเกอร์แบบมีเงื่อนไขเพื่อทำการคำนวณหรือกำหนดเงื่อนไข เมื่อใช้เครื่องมือสร้างการกำหนดค่าเมตริก (MCG) เพื่อเขียนออบเจ็กต์ JSON ของการกำหนดค่าเมตริก นิพจน์จะเขียนเป็นสตริงที่อ่านได้ซึ่งใช้สัญกรณ์จุดเพื่อเข้าถึงช่องของแหล่งข้อมูล (เช่น vehicle_speed.speed_value) และใช้การดำเนินการที่หลากหลาย MCG จะแปลสตริงเหล่านี้เป็นโครงสร้างแบบต้นไม้ที่เพิ่มประสิทธิภาพแล้ว ซึ่งคล้ายกับต้นไม้ไวยากรณ์นามธรรม (AST) เพื่อการประเมินในอุปกรณ์อย่างมีประสิทธิภาพในข้อความ protobuf MetricsConfig สุดท้าย
ตัวดำเนินการและฟังก์ชัน
นิพจน์รองรับตัวดำเนินการและฟังก์ชันชุดต่อไปนี้
- เลขคณิต: รองรับการบวก การลบ (ไบนารีและเอกภาค) การคูณ การหาร โมดูโล และยกกำลัง
- ตรรกะ: รองรับ AND, OR, NOT และ XOR
- เชิงสัมพันธ์: รองรับการตรวจสอบความเท่ากันและการเปรียบเทียบมากกว่าและน้อยกว่า
- รายการ: ตรวจสอบว่ารายการมีหรือไม่มีค่าที่เฉพาะเจาะจง
- การประทับเวลา: แสดงผลการประทับเวลา ณ เวลาที่ประเมินเป็นไมโครวินาที ประเภทนาฬิกาอาจเป็นนาฬิกาแบบเรียลไทม์ เวลาโมโนโทนิกตั้งแต่เริ่มต้นระบบ (รวมถึงเวลาพัก) หรือเวลาโมโนโทนิกตั้งแต่เริ่มต้นระบบหรือกลับมาทำงานครั้งล่าสุด
- ค่าสัมบูรณ์: แสดงผลค่าสัมบูรณ์ของจำนวน
- การปัดเศษ: ปัดเศษเป็นจำนวนเต็มที่ใกล้เคียงที่สุด (
round) แสดงผลจำนวนเต็มที่ใหญ่ที่สุดที่น้อยกว่าหรือเท่ากับจำนวน (floor) หรือแสดงผลจำนวนเต็มที่เล็กที่สุดที่มากกว่าหรือเท่ากับจำนวน (ceil)
ต่อไปนี้เป็นตัวอย่างนิพจน์ที่อ่านจากแหล่งข้อมูล 2 แหล่งและประเมินค่าเป็น true หากความเร็วของยานพาหนะเกิน 100 กม./ชม. และไม่มีประกาศเตือนเรื่องแรงดันลมยาง
(vehicle_speed.speed_value * 3.6) > 100 && tire_pressure.warning == false
ควบคุมโฟลว์การดำเนินการด้วยทริกเกอร์
ทริกเกอร์เป็นตัวจัดระเบียบการกำหนดค่าเมตริก โดยจะควบคุมเวลาที่ประมวลผลข้อมูลและเวลาที่สร้างรายงาน ทริกเกอร์แต่ละรายการต้องมีชื่อที่ไม่ซ้ำกัน
ทริกเกอร์มี 3 ประเภท ได้แก่
- ทริกเกอร์ข้อมูล: เริ่มทำงานเมื่อแหล่งข้อมูลที่มีการเชื่อมต่อแบบสมัครใช้บริการเผยแพร่ข้อความใหม่ (หลังจากการสุ่มตัวอย่างย่อย หากมีการกำหนดค่า)
- ทริกเกอร์เป็นระยะ: เริ่มทำงานตามช่วงเวลาที่กำหนด
- ทริกเกอร์แบบมีเงื่อนไข: เริ่มทำงานเมื่อเป็นไปตามเงื่อนไขทางตรรกะที่ระบุ
ทริกเกอร์แบบมีเงื่อนไข
ทริกเกอร์แบบมีเงื่อนไขจะฟังทริกเกอร์อื่นๆ (ทริกเกอร์ข้อมูล ทริกเกอร์เป็นระยะ หรือทริกเกอร์แบบมีเงื่อนไขอื่นๆ) และเมื่อทริกเกอร์รายการใดรายการหนึ่งเริ่มทำงาน ทริกเกอร์แบบมีเงื่อนไขจะประเมินนิพจน์ ทริกเกอร์แบบมีเงื่อนไขจะเริ่มทำงานก็ต่อเมื่อผลลัพธ์ของนิพจน์เป็นไปตามเงื่อนไขที่เฉพาะเจาะจงเท่านั้น
คุณสามารถกำหนดค่าทริกเกอร์แบบมีเงื่อนไขให้เริ่มทำงานตามเงื่อนไขหลายประเภทได้ ดังนี้
- ค่า: เมื่อนิพจน์ประเมินค่าเป็น
true(หรือค่าที่ไม่ใช่ 0) หรือfalse(หรือ 0) - ขอบเขตที่เพิ่มขึ้น: เมื่อนิพจน์บูลีนเปลี่ยนจาก
falseเป็นtrueหรือค่าตัวเลขเพิ่มขึ้น - ขอบเขตที่ลดลง: เมื่อนิพจน์บูลีนเปลี่ยนจาก
trueเป็นfalseหรือค่าตัวเลขลดลง - เมื่อมีการเปลี่ยนแปลง: เมื่อใดก็ตามที่ผลลัพธ์ของนิพจน์แตกต่างจากค่าก่อนหน้า
กรองการเปลี่ยนแปลงสถานะที่รบกวน
สำหรับทริกเกอร์ที่อิงตามอุปกรณ์หรือทริกเกอร์เมื่อมีการเปลี่ยนแปลง คุณสามารถกรองการเปลี่ยนแปลงสถานะสั้นๆ หรือการเปลี่ยนแปลงสถานะที่รบกวน (ข้อบกพร่อง) ได้โดยกำหนดให้เงื่อนไขอยู่ในสถานะใหม่เป็นระยะเวลาขั้นต่ำก่อนที่ทริกเกอร์จะเริ่มทำงาน
ตัวอย่างเช่น คุณสามารถกำหนดค่าทริกเกอร์ให้เริ่มทำงานก็ต่อเมื่อ vehicle_speed > 100
เปลี่ยนเป็น true และยังคงเป็น true อย่างน้อย 5 วินาที ซึ่งจะป้องกันไม่ให้ทริกเกอร์เริ่มทำงานเนื่องจากความเร็วที่อ่านได้เพิ่มขึ้นชั่วคราว นอกจากนี้ คุณยังกำหนดให้ค่าทั้งหมดที่เห็นในระหว่างระยะเวลาการรอคอยนี้เท่ากันทุกประการได้ด้วย
สร้างรายงานเมตริก
หลังจากประมวลผลข้อมูลแล้ว คุณจะกำหนดวิธีและเวลาที่จะจัดแพ็กเกจข้อมูลลงในรายงาน
รายงานจะกำหนดโดยใช้ การกำหนดค่ารายงานเมตริก ซึ่งใช้เครื่องมือสร้างข้อความ เพื่อกำหนดโครงสร้างและเนื้อหาของเอาต์พุต เมื่อทริกเกอร์รายการใดรายการหนึ่งของรายงานเริ่มทำงาน เครื่องมือสร้างข้อความจะประเมินการกำหนดช่องเพื่อสร้างเพย์โหลดข้อมูลของรายงาน
รายงานแต่ละฉบับที่สร้างขึ้นคืออินสแตนซ์ของข้อความ Protobuf MetricsReport ซึ่งจะรวมเอาต์พุตของเครื่องมือสร้างข้อความไว้ในช่อง payload และเพิ่มข้อมูลเมตา บริการการวัดและส่งข้อมูลจะเพิ่มข้อมูลเมตาต่อไปนี้ลงใน MetricsReport แต่ละรายการโดยอัตโนมัติ
- ตัวระบุที่ไม่ซ้ำกันทั่วโลก (UUID) สำหรับรายงาน
- หมายเลขรายงานตามลำดับ ซึ่งจะเพิ่มขึ้นสำหรับรายงานแต่ละฉบับที่การกำหนดค่ารายงานนี้สร้างขึ้น
- การประทับเวลาที่สร้างรายงาน
- เหตุผลในการสร้าง (เช่น ทริกเกอร์ตามกฎ หรือสร้างขึ้นเมื่อปิดระบบ)
- UUID และเวอร์ชันของการกำหนดค่าเมตริกที่สร้างรายงาน
- ชื่อของการกำหนดค่ารายงานเมตริก
การควบคุมการสร้างรายงาน
แม้ว่าโดยปกติแล้วระบบจะสร้างรายงานเพื่อตอบสนองต่อทริกเกอร์ แต่คุณก็กำหนดค่าให้สร้างรายงานในบางช่วงของวงจรการกำหนดค่าเมตริกได้เช่นกัน ดังนี้
- รายงานเมื่อเปิดใช้งาน: หากเปิดใช้ ระบบจะสร้างรายงานเริ่มต้นทันทีเมื่อมีการเปิดใช้งานการกำหนดค่าเมตริก
- รายงานสุดท้าย: หากเปิดใช้ ระบบจะสร้างรายงานสุดท้ายเมื่อมีการหยุดชั่วคราวหรือหยุดการเก็บรวบรวมข้อมูล หรือเมื่อบริการการวัดและส่งข้อมูลปิดลง รายงานนี้มีข้อมูลที่รวมไว้จนถึงจุดนั้น ซึ่งช่วยให้มั่นใจได้ว่าจะไม่มีข้อมูลสูญหายเมื่อสิ้นสุดเซสชัน
จัดการวงจรการเก็บรวบรวมข้อมูล
โดยค่าเริ่มต้น การกำหนดค่าเมตริกจะเริ่มเก็บรวบรวมและประมวลผลข้อมูลทันทีที่ไคลเอ็นต์เปิดใช้งาน และจะดำเนินการต่อไปจนกว่าไคลเอ็นต์จะปิดใช้งาน อย่างไรก็ตาม คุณสามารถควบคุมวงจรนี้ได้อย่างละเอียดมากขึ้นโดยกำหนดทริกเกอร์ที่จะเริ่มหรือหยุดการเก็บรวบรวมข้อมูลหรือการกำหนดค่าเมตริก ดังนี้
- ทริกเกอร์เริ่มต้น: หากมีการกำหนดไว้ การเก็บรวบรวมข้อมูลจะเริ่มขึ้นก็ต่อเมื่อทริกเกอร์นี้เริ่มทำงาน หากทริกเกอร์หยุดชั่วคราวการเก็บรวบรวมข้อมูลไว้ ทริกเกอร์เริ่มต้นจะกลับมาดำเนินการต่อ
- ทริกเกอร์หยุด: หากมีการกำหนดไว้ ทริกเกอร์นี้จะหยุดการเก็บรวบรวมข้อมูลชั่วคราว การรวมและการสร้างรายงานจะหยุดลงจนกว่าทริกเกอร์เริ่มต้นจะเริ่มทำงานอีกครั้ง
- ทริกเกอร์ปิดใช้งาน: ทริกเกอร์นี้จะปิดใช้งานการกำหนดค่าเมตริกในลักษณะเดียวกับการเรียก
deactivate_metrics_configจากไคลเอ็นต์
ตัวอย่างเช่น คุณสามารถกำหนดทริกเกอร์แบบมีเงื่อนไขที่จะเริ่มทำงานเมื่อ vehicle_state เปลี่ยนเป็น DRIVING เป็นทริกเกอร์เริ่มต้น และกำหนดทริกเกอร์อีกรายการที่จะเริ่มทำงานเมื่อ vehicle_state เปลี่ยนเป็น PARKED เป็นทริกเกอร์หยุด ซึ่งจะช่วยให้มั่นใจได้ว่าระบบจะเก็บรวบรวมข้อมูลเฉพาะในขณะที่ยานพาหนะกำลังเคลื่อนที่