Topik ini menjelaskan cara menggunakan klien pelacakan sumber terbuka untuk melacak dan menganalisis pengecualian di Managed Service for OpenTelemetry.
Prasyarat
Klien sumber terbuka digunakan untuk melaporkan data ke Managed Service for OpenTelemetry. Untuk informasi lebih lanjut, lihat Deskripsi Koneksi.
Tetapkan informasi pengecualian untuk rentang
Spesifikasi pengecualian OpenTelemetry
Spesifikasi ini berlaku untuk pelaporan data menggunakan OpenTelemetry.
Berdasarkan spesifikasi pengecualian OpenTelemetry, informasi pengecualian tentang rentang disimpan dalam atribut peristiwa. Jika atribut suatu peristiwa mencakup exception.type, Managed Service for OpenTelemetry menganggap bahwa pengecualian terjadi pada rentang dan menampilkannya di halaman Pengecualian di konsol. Jika jejak tumpukan pengecualian tersedia, mereka dapat ditambahkan ke atribut exception.stacktrace. Anda kemudian dapat melihat jejak tumpukan pengecualian di halaman Pengecualian.
Jika Anda menggunakan SDK OpenTelemetry, Anda tidak perlu secara manual menambahkan atribut exception.type dan exception.stacktrace ke peristiwa. SDK menyediakan metode untuk mencatat pengecualian. Contoh kode berikut menunjukkan cara mencatat pengecualian untuk rentang menggunakan OpenTelemetry SDK untuk Java:
Span span = myTracer.startSpan("spanName");
try {
// Jalankan kode bisnis.
} catch (Throwable e) {
span.recordException(e);
throw e;
} finally {
span.end();
}Jika aplikasi Anda diinstrumen secara otomatis menggunakan OpenTelemetry, agen atau kerangka kerja secara otomatis menangkap informasi pengecualian dan melaporkannya ke server. Managed Service for OpenTelemetry mengidentifikasi informasi pengecualian tentang rentang dan menampilkannya di halaman Pengecualian.
Spesifikasi pengecualian OpenTracing
Spesifikasi ini berlaku untuk pelaporan data menggunakan Jaeger, SkyWalking, atau Zipkin.
Berdasarkan spesifikasi pengecualian OpenTracing, informasi pengecualian tentang rentang disimpan dalam field log. Jika field log mencakup event dan error.kind dengan nilai dari field peristiwa adalah "error", Managed Service for OpenTelemetry menganggap bahwa pengecualian terjadi pada rentang dan menampilkannya di halaman Pengecualian di konsol. Jika jejak tumpukan pengecualian tersedia, mereka dapat ditambahkan ke field stack. Anda kemudian dapat melihat jejak tumpukan pengecualian di halaman Pengecualian.
Melacak Pengecualian Menggunakan SDK OpenTracing
Contoh kode berikut menunjukkan cara mencatat pengecualian untuk rentang menggunakan SDK OpenTracing untuk Java:
public static void test() { Tracer tracer = GlobalTracer.get(); Span span = tracer.buildSpan("spanName").start(); try (Scope scope = tracer.activateSpan(span)) { // ... Jalankan kode bisnis. } catch (Exception e) { onException(e, span); } finally { span.finish(); } } public static void onException(Throwable throwable, Span span) { if (span != null) { Tags.ERROR.set(span, Boolean.TRUE); if (throwable != null) { span.log(errorLogs(throwable)); } } } private static Map<String, Object> errorLogs(Throwable throwable) { Map<String, Object> errorLogs = new HashMap<>(); errorLogs.put("event", Tags.ERROR.getKey()); errorLogs.put("error.object", throwable); errorLogs.put("error.kind", throwable.getClass().getName()); String message = throwable.getCause() != null ? throwable.getCause().getMessage() : throwable.getMessage(); if (message != null) { errorLogs.put("message", message); } StringWriter sw = new StringWriter(); throwable.printStackTrace(new PrintWriter(sw)); errorLogs.put("stack", sw.toString()); return errorLogs; }Melacak Pengecualian Menggunakan SkyWalking
SkyWalking menyediakan berbagai agen untuk instrumen non-intrusif. Dalam banyak kasus, agen mencatat informasi pengecualian dan melaporkannya ke server. Managed Service for OpenTelemetry mengidentifikasi informasi pengecualian tentang rentang dan menampilkannya di halaman Pengecualian.
Menganalisis pengecualian menggunakan Managed Service for OpenTelemetry
Setelah Anda menetapkan informasi pengecualian untuk rentang di sisi klien, Managed Service for OpenTelemetry menghasilkan statistik pada informasi pengecualian yang dilaporkan. Anda dapat membuka halaman Pengecualian di konsol Managed Service for OpenTelemetry untuk melihat informasi dan statistik pengecualian. Untuk informasi lebih lanjut, lihat Analisis Pengecualian.