• Stats เป็นแอปสำหรับมอนิเตอร์ CPU, GPU, หน่วยความจำ, ดิสก์, เครือข่าย, แบตเตอรี่, เซนเซอร์, อุปกรณ์ Bluetooth และนาฬิกาหลายเขตเวลาจากแถบเมนูของ macOS
  • การติดตั้งทำได้โดยดาวน์โหลด Stats.dmg เวอร์ชันล่าสุดแล้วย้ายไปยังโฟลเดอร์ Applications หรือใช้ Homebrew ด้วย brew install stats
  • รองรับ macOS 12 Monterey ขึ้นไป ที่ออกเวอร์ชันทางการแล้ว และมีเวอร์ชัน legacy สำหรับระบบเก่าให้ดาวน์โหลดแยกต่างหาก
  • หากไม่เห็นไอคอนบนแถบเมนู อาจต้องเปิด Stats อย่างชัดเจนในส่วนควบคุมความเป็นส่วนตัว System Settings → Menu Bar ของ macOS 26
  • โมดูล Sensors และ Bluetooth ค่อนข้างไม่มีประสิทธิภาพเมื่อเทียบกับโมดูลอื่น และการปิดโมดูลเหล่านี้อาจลดผลกระทบต่อการใช้ CPU และประสิทธิภาพพลังงานได้ สูงสุด 50% ในบางกรณี

ฟีเจอร์ที่ Stats มีให้

  • Stats เป็นแอปพลิเคชันที่ช่วยให้ตรวจสอบสถานะระบบ macOS ได้จากแถบเมนู
  • สิ่งที่มอนิเตอร์ได้มีดังนี้
    • การใช้งาน CPU

    • การใช้งาน GPU

      • การใช้หน่วยความจำ
      • การใช้ดิสก์
      • การใช้เครือข่าย
      • ระดับแบตเตอรี่
      • การควบคุมพัดลม
      • ข้อมูลเซนเซอร์: อุณหภูมิ, แรงดันไฟฟ้า, กำลังไฟ
      • อุปกรณ์ Bluetooth
      • นาฬิกาหลายเขตเวลา

การติดตั้งและข้อกำหนด

  • ดาวน์โหลดเวอร์ชันล่าสุดได้จาก Stats.dmg
    • เปิด Stats.dmg ที่ดาวน์โหลดมา แล้วลากแอปไปยังโฟลเดอร์ Applications
  • รองรับการติดตั้งผ่าน Homebrew ด้วย
    • brew install stats
  • เวอร์ชัน legacy สำหรับระบบเก่ามีให้ที่ หน้าดาวน์โหลดแยกต่างหาก
  • เวอร์ชัน macOS ที่รองรับคือ macOS 12 Monterey ขึ้นไป ที่ออกเวอร์ชันทางการแล้ว

พฤติกรรมเกี่ยวกับแถบเมนูและวิดเจ็ต

  • ลำดับไอคอนบนแถบเมนูไม่ได้ถูกกำหนดโดย Stats แต่ถูกกำหนดโดย macOS
    • หลังติดตั้ง Stats ลำดับอาจเปลี่ยนไปหลังรีบูตครั้งแรก
    • ตั้งแต่ macOS Mojave 10.14 ขึ้นไป สามารถกดปุ่ม ⌘ ค้างไว้แล้วลากไอคอนไปยังตำแหน่งที่ต้องการเพื่อเปลี่ยนลำดับได้
  • หากไอคอน Stats ไม่ปรากฏบนแถบเมนู สาเหตุอาจมาจากการควบคุมความเป็นส่วนตัวแบบใหม่ของ macOS 26
    • ตำแหน่งอยู่ที่ System Settings → Menu Bar
    • หาก Stats กำลังทำงานอยู่ และเปิดใช้งานอย่างน้อยหนึ่งโมดูลกับวิดเจ็ตแล้ว แต่ยังไม่เห็นไอคอน ควรตรวจสอบการตั้งค่านี้
    • วิธีแก้คือเปิดท็อกเกิล Stats เป็น ON
    • รายละเอียดที่เกี่ยวข้องอยู่ใน issue #3120
  • หากข้อมูลไม่แสดงบนวิดเจ็ตเดสก์ท็อป เป็นเพราะฝั่ง Stats ปิดการสื่อสารไว้เป็นค่าเริ่มต้น
    • เหตุผลคือปัญหาภาระข้อมูลสูงของโปรเซสระบบ chronod ซึ่งทำหน้าที่สื่อสารระหว่างแอปกับวิดเจ็ต
    • วิธีแก้คือเปิดตัวเลือก macOS widgets เป็น ON ในการตั้งค่า Stats
    • รายละเอียดที่เกี่ยวข้องอยู่ใน issue #2733

ข้อจำกัดด้านประสิทธิภาพ เซนเซอร์ และการควบคุมพัดลม

  • Stats พยายามทำงานอย่างมีประสิทธิภาพ แต่การอ่านข้อมูลบางอย่างเป็นระยะมีต้นทุนไม่น้อย
  • แต่ละโมดูลมี ผลกระทบต่อพลังงาน และต้นทุนการใช้ CPU แตกต่างกัน
    • โดยเฉพาะโมดูล Sensors และ Bluetooth ถือว่าเป็นโมดูลที่ไม่มีประสิทธิภาพที่สุดกลุ่มหนึ่ง
    • การปิดใช้งานโมดูลเหล่านี้อาจลดผลกระทบต่อการใช้ CPU และประสิทธิภาพพลังงานได้ สูงสุด 50% ในบางกรณี
  • การควบคุมพัดลม เป็นโหมด legacy
    • จะไม่มีการอัปเดตหรือแก้ไขให้
    • ยังไม่ถูกลบออกจากแอป เพราะทำงานได้ค่อนข้างดีบน Mac รุ่นเก่า
    • ระบุว่าสามารถรับ PR สำหรับการแก้ไขหรือปรับปรุงได้ แต่ไม่มีเวลาและทรัพยากรที่จะซัพพอร์ตฟีเจอร์นี้
  • เซนเซอร์ CPU/GPU ไม่ได้เกี่ยวข้องโดยตรงกับจำนวนคอร์หรือคอร์ใดคอร์หนึ่ง
    • เซนเซอร์ CPU/GPU คือ เซนเซอร์โซนความร้อน ของ CPU/GPU
    • ตัวอย่างเช่น CPU มักแบ่งเป็นคลัสเตอร์คอร์ประหยัดพลังงานและคลัสเตอร์คอร์ประสิทธิภาพ โดยแต่ละคลัสเตอร์มีเซนเซอร์อุณหภูมิหลายตัว
    • CPU Efficient Core 1 ไม่ได้หมายถึงอุณหภูมิของคอร์ประหยัดพลังงานเดี่ยวหนึ่งคอร์ แต่หมายถึงเซนเซอร์อุณหภูมิตัวหนึ่งภายในคลัสเตอร์คอร์ประหยัดพลังงาน
    • Apple เปลี่ยนคีย์เซนเซอร์ใน SoC ใหม่แต่ละรุ่น จึงต้องใช้เวลาในการระบุค่า SMC ที่ตรงกับเซนเซอร์ที่เหมาะสม

API ภายนอกและคำขอเครือข่าย

  • Stats ใช้ API ภายนอก บางส่วน
    • https://api.mac-stats.com: ตรวจสอบอัปเดตและดึงที่อยู่ IP สาธารณะ
    • https://api.github.com: เส้นทางสำรองสำหรับตรวจสอบอัปเดต
  • API ทั้งสองใช้สำหรับตรวจสอบอัปเดต
  • การดึงที่อยู่ IP สาธารณะจำเป็นต้องส่งคำขอออกไปภายนอก
    • เนื่องจากไม่ต้องการใช้ผู้ให้บริการ third-party จึงใช้เซิร์ฟเวอร์ของตนเอง
  • ผู้ใช้ที่กังวลกับคำขอนี้มีทางเลือกดังนี้
    • เสนอ PR เพื่อให้ฟีเจอร์ทำงานได้โดยไม่ต้องใช้เซิร์ฟเวอร์ภายนอก
    • บล็อกเซิร์ฟเวอร์ทั้งสองด้วยแอปกรองเครือข่าย
    • หากบล็อก จะไม่สามารถรับอัปเดตหรือดู IP สาธารณะในโมดูลเครือข่ายได้

การจัดการ issue และวิธีมีส่วนร่วม

  • หากแอปแครช ควรตรวจสอบก่อนว่าใช้เวอร์ชันล่าสุดอยู่หรือไม่
    • มีความเป็นไปได้สูงว่าแพตช์ป้องกันการแครชถูกปล่อยออกมาแล้ว
    • หากยังมีปัญหาในเวอร์ชันล่าสุด ควรตรวจสอบ issue ที่เปิดอยู่
    • ควรเปิด issue ใหม่เฉพาะเมื่อ issue เดิมไม่ได้ครอบคลุมปัญหานั้น
  • หาก issue ถูกปิดโดยไม่มีคำตอบ โดยทั่วไปมีความเป็นไปได้สูงว่าเป็น issue ซ้ำ
    • สามารถค้นหา issue ที่ปิดแล้วเพื่อหาคำตอบเดิมได้
  • ขั้นตอนแรกเมื่อจะพัฒนาฟีเจอร์ใหม่หรือพบ bug คือการเปิด issue
    • ต้องพูดคุยเกี่ยวกับฟีเจอร์หรือปัญหาก่อน
    • ควรเปิด Pull request หลังจากมี issue เดิมอยู่แล้วและการพูดคุยเสร็จสิ้น
    • PR ที่เปิดโดยไม่มีการพูดคุยอาจถูกปิดโดยอัตโนมัติ
    • ข้อยกเว้นอาจมีสำหรับการเปลี่ยนภาษา และผู้มีส่วนร่วมที่เคยมีผลงานใหญ่แล้วและแนวทางการ implement สอดคล้องกันดี

ภาษาและไลเซนส์

  • Stats รองรับหลายภาษา เช่น English, Polski, Українська, Русский, 中文, Türkçe, ภาษาเกาหลี, German, Spanish, French, Italian, Japanese เป็นต้น
  • สามารถมีส่วนร่วมได้ด้วยการเพิ่มภาษาใหม่หรือปรับปรุงคำแปลที่มีอยู่
  • ไลเซนส์คือ MIT License

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น