Datadog เป็นแพลตฟอร์มการสังเกตการณ์บนคลาวด์ที่รวมการตรวจสอบโครงสร้างพื้นฐาน, APM, การบันทึกและประสบการณ์ดิจิทัลไว้ในอินเทอร์เฟซเดียว แพลตฟอร์มรวบรวมเมตริก, เทรซและล็อกจากเซิร์ฟเวอร์, คอนเทนเนอร์และอุปกรณ์มือถือแบบเรียลไทม์ ช่วยให้ทีมค้นหาสาเหตุของปัญหาได้อย่างรวดเร็ว ตาม Datadog, 2025 แพลตฟอร์มประมวลผลข้อมูลมากกว่า 2.5 เพตาไบต์ ทุกวันจากลูกค้าหลายพันรายทั่วโลก สำหรับนักพัฒนาแอปมือถือ Datadog นำเสนอ SDK ดั้งเดิมสำหรับ Android และ iOS พร้อมการรวบรวมเมตริกประสิทธิภาพอัตโนมัติ
ประเด็นสำคัญ
Datadog เป็นแพลตฟอร์มการตรวจสอบและการสังเกตการณ์บนคลาวด์ที่เปิดตัวในปี 2010 โดย Olivier Pomel และ Alexis Lê-Quôc แพลตฟอร์มมีแดชบอร์ดแบบรวมสำหรับรวบรวมเมตริก, ล็อกและเทรซจากโครงสร้างพื้นฐาน, แอปพลิเคชันและอุปกรณ์ผู้ใช้ แตกต่างจากโซลูชันแบบจุด, Datadog รวม APM, ล็อก, การตรวจสอบโครงสร้างพื้นฐาน, Synthetic Monitoring และ RUM ไว้ในผลิตภัณฑ์เดียว
สถาปัตยกรรมของ Datadog สร้างขึ้นบนเอเจนต์ — โปรแกรมน้ำหนักเบาที่ติดตั้งบนเซิร์ฟเวอร์หรือฝังในแอปพลิเคชัน เอเจนต์รวบรวมข้อมูลและส่งไปยังโครงสร้างพื้นฐานคลาวด์ Datadog ผ่านการเชื่อมต่อที่เข้ารหัส สำหรับแพลตฟอร์มมือถือ, Datadog มี SDK ดั้งเดิมที่ทำงานบน Android (Kotlin, Java) และ iOS (Swift, Objective-C)
ตามรายงาน Gartner Magic Quadrant for APM and Observability (2024), Datadog ได้รับการยอมรับว่าเป็นผู้นำในหมวดหมู่การสังเกตการณ์ด้วยชุดความสามารถแบบบูรณาการที่กว้างที่สุด แพลตฟอร์มนี้ใช้โดยบริษัทอย่าง Samsung, Adidas และ Peloton เพื่อตรวจสอบอุปกรณ์นับล้านทุกวัน
สำหรับทีมมือถือ, Datadog มีคุณค่าเป็นพิเศษเพราะเชื่อมต่อประสิทธิภาพแบ็กเอนด์กับประสบการณ์ผู้ใช้บนอุปกรณ์ หาก API เริ่มตอบสนองช้าลง, Datadog จะแสดงไม่เพียงเวลาตอบสนองของเซิร์ฟเวอร์ แต่ยังแสดงว่ามันส่งผลต่อเวลาเริ่มต้นหรือการเรนเดอร์หน้าจอบนรุ่นโทรศัพท์เฉพาะอย่างไร
Infrastructure Monitoring ติดตามเมตริก CPU, หน่วยความจำ, ดิสก์และเครือข่ายสำหรับเซิร์ฟเวอร์, คอนเทนเนอร์และคลัสเตอร์ Kubernetes APM (Application Performance Monitoring) รวบรวมเทรซสำหรับแต่ละคำขอที่ผ่านระบบกระจายและแสดงความหน่วงในแต่ละช่วง การจัดการล็อกจะรวบรวมล็อกทั้งหมด — ตั้งแต่ระบบไปจนถึงแอปพลิเคชัน — พร้อมการค้นหาข้อความแบบเต็มและความสามารถในการสร้างเมตริกจากล็อก Synthetic Monitoring จำลองสถานการณ์ผู้ใช้จากตำแหน่งทางภูมิศาสตร์ต่างๆ Real User Monitoring (RUM) รวบรวมข้อมูลจากอุปกรณ์ผู้ใช้จริง รวมถึงโทรศัพท์มือถือและแท็บเล็ต
Datadog ใช้โมเดล จ่ายตามการใช้งาน พร้อมราคาตามผลิตภัณฑ์: โฮสต์โครงสร้างพื้นฐาน, โฮสต์ APM, ล็อก (ปริมาณเป็นกิกะไบต์), เซสชัน RUM และการทดสอบ Synthetic แต่ละผลิตภัณฑ์จะถูกเรียกเก็บแยกต่างหาก ช่วยให้คุณจ่ายเฉพาะฟีเจอร์ที่ใช้ ราคาเริ่มต้นที่ 15 ดอลลาร์ต่อโฮสต์ต่อเดือนสำหรับการตรวจสอบโครงสร้างพื้นฐานและ 1 ดอลลาร์ต่อ 10,000 เซสชัน RUM สตาร์ทอัพสามารถสมัครโปรแกรม Datadog for Startups พร้อมเครดิตสูงถึง 100,000 ดอลลาร์
Application Performance Monitoring (APM) ใน Datadog เป็นระบบการติดตามแบบกระจายที่ติดตามแต่ละคำขอตั้งแต่เริ่มต้นจนถึงการดำเนินการที่ซ้อนกันทั้งหมดเสร็จสมบูรณ์ APM จะตรวจจับเฟรมเวิร์กและไลบรารียอดนิยมโดยอัตโนมัติ: Spring Boot, Django, Express.js, ASP.NET Core และอื่นๆ สำหรับแต่ละคำขอ, APM จะสร้าง flame graph — การแสดงเวลาดำเนินการในทุกเส้นทางโค้ดด้วยภาพ
Flame graph แสดงให้เห็นว่าการเรียกใช้ฟังก์ชันหรือคำขอบริการภายนอกแต่ละรายการใช้เวลาเท่าใด หากเมธอดฐานข้อมูลใช้เวลา 2 วินาทีแทนที่จะเป็น 200 มิลลิวินาทีตามที่คาดไว้ จะเห็นได้ทันทีบนกราฟ Datadog APM รองรับ OpenTelemetry — มาตรฐานเปิดสำหรับการรวบรวมเทเลเมทรี — ช่วยให้คุณเชื่อมต่อเครื่องมือจากผู้ให้บริการที่เข้ากันได้
ตาม Benchling Engineering Blog (2024), การย้ายไปยัง Datadog APM ลดเวลาในการวินิจฉัยเหตุการณ์ของทีมจาก 45 นาทีเหลือ 8 นาทีผ่านการเชื่อมโยงเทรซกับล็อกและเมตริกอัตโนมัติ สถานการณ์หลักคือการเชื่อมโยงเทรซกับล็อก: ด้วย ID เทรซเดียว, คุณสามารถค้นหาล็อกทั้งหมดที่เกี่ยวข้องกับคำขอเฉพาะได้โดยไม่ต้องค้นหาด้วยตนเอง
แผนผังบริการ เป็นกราฟที่สร้างโดยอัตโนมัติของบริการทั้งหมดในระบบและการเชื่อมต่อระหว่างกัน แต่ละบริการจะแสดงเป็นโหนด, และการเชื่อมต่อระหว่างโหนดแสดงการเรียกที่เกิดขึ้นระหว่างบริการ สีของโหนดสะท้อนสถานะสุขภาพ: เขียว — การทำงานปกติ, เหลือง — ความหน่วงเพิ่มขึ้น, แดง — ข้อผิดพลาด แผนผังบริการช่วยระบุได้อย่างรวดเร็วว่าบริการใดเป็นคอขวด แม้ไม่มีความรู้เกี่ยวกับสถาปัตยกรรมมาก่อน
import datadog.trace.api.Trace;
import io.opentelemetry.api.trace.Span;
public class PaymentService {
@Trace(resourceName = "PaymentService.processPayment")
public PaymentResult processPayment(Order order) {
Span span = Tracer.buildSpan("validate.payment").start();
try {
PaymentGateway gateway = new PaymentGateway();
PaymentResult result = gateway.charge(order.getAmount());
span.setTag("payment.provider", "stripe");
return result;
} finally {
span.close();
}
}
}
Real User Monitoring (RUM) ใน Datadog รวบรวมข้อมูลจากอุปกรณ์ผู้ใช้จริง — เวลาโหลดหน้าจอ, การตอบสนองต่อการสัมผัส, การใช้หน่วยความจำ, ความถี่ ANR (Application Not Responding) และอัตราการขัดข้อง RUM SDK สำหรับ Android และ iOS ถูกรวมเข้ากับแอปพลิเคชันและสร้างเซสชันโดยอัตโนมัติ, จัดกลุ่มเหตุการณ์ทั้งหมดภายในการโต้ตอบผู้ใช้ครั้งเดียว
แต่ละเซสชัน RUM มีลำดับเหตุการณ์: การเปิดหน้าจอ, การแตะปุ่ม, คำขอเครือข่าย, การเลื่อน สำหรับแต่ละเหตุการณ์, Datadog จะบันทึกการประทับเวลา, ระยะเวลาและคุณลักษณะทางเทคนิคของอุปกรณ์: รุ่น, OS, เวอร์ชันแอป, ประเภทการเชื่อมต่อ ซึ่งช่วยให้กรองเมตริกตามเวอร์ชันและอุปกรณ์เฉพาะ ตัวอย่างเช่น คุณสามารถเห็นว่าเวลาเริ่มต้นเพิ่มขึ้นบน Android 14 กับรุ่น Samsung ที่เฉพาะเจาะจง
RUM ถูกรวมเข้ากับ APM อย่างแน่นหนา: หากเซสชันผู้ใช้สิ้นสุดลงด้วยข้อผิดพลาดบนหน้าจอชำระเงิน, Datadog จะแสดงเทรซแบ็กเอนด์ที่เกี่ยวข้องโดยอัตโนมัติ ซึ่งช่วยเร่งการวินิจฉัยได้ 5-7 เท่าเมื่อเทียบกับการจับคู่ล็อกฟร้อนท์เอนด์และแบ็กเอนด์ด้วยตนเอง สำหรับทีมมือถือ, RUM ยังมีรายการเฝ้าดู — สรุปประจำสัปดาห์เกี่ยวกับการลดลงของเมตริกสำคัญ
Datadog RUM รวบรวม รายงานการขัดข้อง โดยอัตโนมัติพร้อม stacktrace แบบเต็ม รวมถึงหมายเลขบรรทัดของโค้ดต้นทาง สำหรับ Android, ทำงานผ่านการรวมกับ ACRA หรือ Firebase Crashlytics; สำหรับ iOS — ผ่าน PLCrashReporter แต่ละการขัดข้องจะเชื่อมโยงกับเซสชันผู้ใช้, ช่วยให้สามารถเล่นลำดับการกระทำที่นำไปสู่การขัดข้องซ้ำได้ RUM ยังติดตาม ANR — หนึ่งในเหตุการณ์ที่สำคัญที่สุดสำหรับแอปพลิเคชัน Android หากแอปไม่ตอบสนองนานกว่า 5 วินาที, Datadog จะบันทึก ANR และแสดง dump เธรดแบบเต็ม ณ เวลาที่ UI ถูกบล็อก
การจัดการล็อก ใน Datadog จะรวบรวมล็อกแอปพลิเคชันและโครงสร้างพื้นฐานทั้งหมดในพื้นที่เก็บข้อมูลเดียวพร้อมการค้นหาข้อความแบบเต็ม ล็อกมือถือ (เหตุการณ์วิเคราะห์, ข้อผิดพลาด API, เทเลเมทรี) จะถูกส่งจากอุปกรณ์ผ่าน SDK และรวมกับล็อกเซิร์ฟเวอร์โดยใช้ตัวระบุร่วม Datadog จะแยกล็อกเป็นฟิลด์ที่มีโครงสร้างโดยอัตโนมัติ: ระดับ (INFO, WARN, ERROR), บริการ, โฮสต์, การประทับเวลา, ข้อความ
สำหรับการกรองล็อก, Datadog ใช้ภาษาคิวรีของตัวเองที่รองรับ ไวลด์การ์ด, นิพจน์ปกติและแง่มุม ล็อกสามารถจัดกลุ่มตามรูปแบบ — Datadog จะตรวจจับรูปแบบที่ซ้ำกันโดยอัตโนมัติและแสดงเป็นคลัสเตอร์เดียว ซึ่งมีประโยชน์อย่างยิ่งเมื่อวิเคราะห์ล็อกนับพันจากอุปกรณ์มือถือ: ข้อผิดพลาดที่เหมือนกันจะถูกจัดกลุ่มและนักพัฒนาเห็นไม่ใช่ 10,000 บรรทัด แต่เป็น 10 คลัสเตอร์พร้อมความถี่ในการเกิด
เมตริก เป็นอนุกรมเวลาเชิงตัวเลขที่รวบรวมในช่วงเวลาตั้งแต่ 1 วินาที Datadog รองรับเมตริกสามประเภท: gauge (ค่าปัจจุบัน), count (ผลรวมในช่วง) และ rate (อัตราการเปลี่ยนแปลง) สำหรับแอปพลิเคชันมือถือ, เมตริกแบบกำหนดเองสามารถติดตามจำนวนการเปิดหน้าจอ, เวลาดำเนินการของสถานการณ์ทางธุรกิจหลักหรือความถี่ในการใช้ฟีเจอร์เฉพาะ เมตริกแบบกำหนดเองจะถูกส่งผ่าน DogStatsD — โปรโตคอลที่เข้ากันได้กับ StatsD พร้อมส่วนขยาย Datadog
import com.datadog.android.Datadog
import com.datadog.android.log.Logger
class PaymentAnalytics {
private val logger = Logger.Builder()
.setDatadogLogsEnabled(true)
.setNetworkInfoEnabled(true)
.setBundleWithTraceEnabled(true)
.build()
fun trackCheckout(orderId: String, amount: Double) {
logger.info(
"Checkout initiated for order {orderId}",
mapOf(
"order.id" to orderId,
"order.amount" to amount,
"payment.method" to "credit_card"
)
)
}
}
SDK Datadog สำหรับ Android และ iOS มีชุดโมดูลแบบรวม: Core (การเริ่มต้น), RUM (การตรวจสอบประสบการณ์ผู้ใช้), Logs (การส่งล็อก), Trace (การติดตามคำขอ) สำหรับ Android, SDK จะถูกเพิ่มผ่าน Gradle; สำหรับ iOS — ผ่าน CocoaPods หรือ Swift Package Manager หลังจากติดตั้ง, SDK จะเริ่มต้นใน Application.onCreate (Android) หรือ AppDelegate (iOS) โดยส่ง client token, สภาพแวดล้อมและชื่อแอปพลิเคชัน
สำหรับการติดตามคำขอเครือข่ายอัตโนมัติบน Android, ใช้ OkHttp Interceptor; บน iOS — NSURLProtocol หรือ URLSession delegate Datadog ยังรองรับการรวมกับไคลเอนต์ HTTP ยอดนิยม: Retrofit, Apollo GraphQL, Ktor, Alamofire หลังจากเชื่อมต่อ Interceptor, แต่ละคำขอ HTTP จะเชื่อมโยงกับเซสชัน RUM และเทรซ APM โดยอัตโนมัติ, สร้างห่วงโซ่เดียวจากไคลเอนต์ไปยังเซิร์ฟเวอร์
dependencies {
// SDK หลักและโมดูล RUM
implementation "com.datadoghq:dd-sdk-android-core:2.15.0"
implementation "com.datadoghq:dd-sdk-android-rum:2.15.0"
// การรวม OkHttp สำหรับการติดตามอัตโนมัติ
implementation "com.datadoghq:dd-sdk-android-okhttp:2.15.0"
// การรายงานการขัดข้อง NDK
implementation "com.datadoghq:dd-sdk-android-ndk:2.15.0"
}
import DatadogCore
import DatadogRUM
import DatadogLogs
@main class AppDelegate: UIResponder, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
Datadog.initialize(
with: DatadogConfiguration.builder(
clientToken: "your_client_token",
environment: "production"
).build()
)
RUM.enable(
with: RUMConfiguration(applicationID: "your_rum_app_id")
)
return true
}
}
Datadog มี ตัวแก้ไขแดชบอร์ดแบบกราฟิก ที่คุณสามารถรวมกราฟเมตริก, ตารางล็อก, แผนผังต้นไม้การกระจายข้อผิดพลาดและวิดเจ็ต SLO แดชบอร์ดรองรับตัวแปรเทมเพลต — ตัวอย่างเช่น, คุณสามารถสร้างแดชบอร์ดเดียวสำหรับบริการทั้งหมดและสลับบริบทโดยใช้เมนูแบบเลื่อนลงพร้อมชื่อบริการ แต่ละแดชบอร์ดสามารถเผยแพร่ในโหมดอ่านอย่างเดียวสำหรับผู้มีส่วนได้ส่วนเสียภายนอกผ่านลิงก์สาธารณะ
ระบบ มอนิเตอร์ (การแจ้งเตือน) ช่วยให้กำหนดเงื่อนไขเกณฑ์สำหรับเมตริกใดๆ: หากความหน่วงเกิน 500 มิลลิวินาทีนานกว่า 5 นาที — ส่งการแจ้งเตือนไปยัง Slack, PagerDuty หรืออีเมล Datadog รองรับเงื่อนไขประกอบ: “หากข้อผิดพลาด 5xx > 1% และจำนวนคำขอ > 1000/นาที, เพิ่มลำดับความสำคัญเป็นวิกฤต” สำหรับทีมมือถือ, มอนิเตอร์การตรวจจับการถดถอยมีประโยชน์อย่างยิ่ง — Datadog จะเปรียบเทียบเมตริกปัจจุบันกับเส้นฐานในอดีตโดยอัตโนมัติและแจ้งเตือนเมื่อมีการลดลงที่มีนัยสำคัญทางสถิติ
ตาม Gartner Peer Insights (2024), เวลาแก้ไขเฉลี่ย (MTTR) สำหรับทีมที่ใช้มอนิเตอร์ Datadog พร้อมการเชื่อมโยงอัตโนมัติลดลง 35% ในเดือนแรกหลังการนำไปใช้ ซึ่งทำได้เนื่องจากการแจ้งเตือนแต่ละครั้งไม่เพียงมีเงื่อนไขการเรียกใช้ แต่ยังมีลิงก์ไปยังแดชบอร์ด, ล็อกและเทรซที่เกี่ยวข้อง — นักพัฒนาไม่ต้องสลับระหว่างเครื่องมือ
คำถามที่พบบ่อย
Datadog โดดเด่นด้วยแพลตฟอร์มแบบรวมที่รวม เมตริก, ล็อก, เทรซและ RUM ไว้ในอินเทอร์เฟซเดียว แตกต่างจาก Grafana + Prometheus (เฉพาะเมตริก) หรือ ELK (เฉพาะล็อก), Datadog ให้การเชื่อมโยงในตัวระหว่างข้อมูลทุกประเภทโดยไม่ต้องกำหนดค่าการรวมด้วยตนเอง
ราคาเริ่มต้นที่ 1 ดอลลาร์ ต่อ 10,000 เซสชัน RUM ต่อเดือน สำหรับโปรเจกต์ขนาดเล็กที่มี 50,000 เซสชันต่อเดือน, ค่าใช้จ่ายจะอยู่ที่ประมาณ 5 ดอลลาร์ APM และล็อกถูกเรียกเก็บแยกต่างหาก สตาร์ทอัพสามารถสมัครโปรแกรม Datadog for Startups พร้อมเครดิตสูงถึง 100,000 ดอลลาร์สำหรับปีแรก
SDK Datadog รองรับ Android (API 21+, Kotlin และ Java), iOS (iOS 13+, Swift และ Objective-C) และ React Native มีการรวมจากชุมชนสำหรับ Flutter และ Xamarin SDK เผยแพร่ผ่าน Maven Central, CocoaPods และ Swift Package Manager
Datadog มี Data Scrubbing — การลบ PII ออกจากล็อกและข้อมูล RUM โดยอัตโนมัติ สามารถกำหนดกฎการปกปิด: แทนที่อีเมล, หมายเลขโทรศัพท์และบัตรเครดิตด้วยแฮชหรือเครื่องหมายดอกจัน ข้อมูลถูกเข้ารหัสระหว่างการส่ง (TLS 1.3) และในการจัดเก็บ (AES-256)
ได้, คุณสามารถใช้เฉพาะโมดูล Logs โดยไม่มี APM และ RUM ในกรณีนี้, คุณจ่ายเฉพาะปริมาณล็อกเท่านั้น Datadog เรียกเก็บเงินแต่ละผลิตภัณฑ์แยกต่างหาก, ช่วยให้คุณเริ่มต้นด้วยโมดูลเดียวและเพิ่มโมดูลอื่นตามต้องการโดยไม่ต้องรวมใหม่
สรุป
เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร
IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ
อ่านเพิ่มเติม