System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry) · Pelajaran

Atribut Span, Peristiwa, dan Status

Pelajari cara memperkaya span dengan atribut bermakna, mencatat peristiwa berwaktu, dan menetapkan status span agar jejak bersifat diagnostik, bukan sekadar data waktu.

Pelajaran 4 dari 413 langkah

Atribut Span, Peristiwa, dan Status adalah pelajaran System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry) gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry), dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry) mencakup 4 pelajaran total.

Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.

Beyond Timing

A span knows its duration automatically, but raw timing is rarely enough. Enriching spans with attributes, events, and status makes traces tell a story.

Span Attributes

Attributes are key-value pairs that add context to a span, like the route handled or the number of rows returned.

span.set_attribute("http.route", "/orders/:id")
span.set_attribute("db.rows", 42)

Use Conventions

Prefer standard semantic-convention keys for common data so backends understand them. Use custom keys only for domain-specific context.

standard: http.response.status_code
custom: order.tier

Keep Attributes Bounded

Like metric labels, avoid high-cardinality or huge values. Do not stuff entire payloads into an attribute.

  • Good: order count, region
  • Bad: full request body, raw stack trace as attribute

Span Events

An event is a timestamped annotation inside a span marking something that happened at a moment, like a retry or cache miss.

span.add_event("cache.miss", { "key": "user:42" })

Recording Exceptions

Exceptions are recorded as a special event capturing the type, message, and stack, so failures show up in the trace timeline.

try:
    do_work()
except Exception as e:
    span.record_exception(e)

Span Status

Status tells whether the operation succeeded. The default is Unset; set Error on failure so backends can highlight broken spans.

span.set_status(StatusCode.ERROR, "payment declined")

Status vs Recording Exceptions

Recording an exception adds detail but does not by itself mark the span failed. Always also set the status to Error.

span.record_exception(e)
span.set_status(StatusCode.ERROR)

Attributes vs Events

Use attributes for facts true for the whole span; use events for things that happen at a point in time within it.

Naming Spans Well

Span names should be low cardinality, describing the operation type, not the specific instance. Put the variable part in attributes.

name: "GET /orders/:id"   (good)
name: "GET /orders/48213" (bad)

A Well-Formed Span

A diagnostic span has a clean name, a few bounded attributes, events for notable moments, and an accurate status.

Quick Check

Pick the correct statement about span status.

Recap

You learned to enrich spans with bounded attributes (preferring semantic conventions), to mark point-in-time moments and failures with events and record_exception, and to set status to Error explicitly. Low-cardinality span names plus rich context turn traces into real diagnostics.

Gratis untuk memulai

Belajar System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry) dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
12
Pelajaran
48

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Atribut Span, Peristiwa, dan Status” gratis?

Ya — teks lengkap “Atribut Span, Peristiwa, dan Status” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry), upgrade ke CoddyKit PRO. Kursus System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry) mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Atribut Span, Peristiwa, dan Status”?

Pelajari cara memperkaya span dengan atribut bermakna, mencatat peristiwa berwaktu, dan menetapkan status span agar jejak bersifat diagnostik, bukan sekadar data waktu. Kamu berlatih System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry) dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry)?

Tidak diperlukan pengalaman sebelumnya. System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry) di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Atribut Span, Peristiwa, dan Status” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry) ini?

Ya. Setiap pelajaran System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry) menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Teknik Instrumentasi Otomatis
  2. Praktik Terbaik Instrumentasi Manual
  3. Propagasi Konteks dan Bagasi
  4. Atribut Span, Peristiwa, dan Status
← Kembali ke System Observability: Logging, Metrics & Tracing (ELK + OpenTelemetry)