with one click
wide-events
// Conceptual guide to wide events (canonical log lines) for observability. Use when thinking about instrumentation strategy, span annotations, or designing what context to capture. Use when this capability is needed.
// Conceptual guide to wide events (canonical log lines) for observability. Use when thinking about instrumentation strategy, span annotations, or designing what context to capture. Use when this capability is needed.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | wide-events |
| description | Conceptual guide to wide events (canonical log lines) for observability. Use when thinking about instrumentation strategy, span annotations, or designing what context to capture. Use when this capability is needed. |
| metadata | {"author":"kriegcloud"} |
optimize(querying) ∧ ¬optimize(writing)
implementation := OTel spans + annotations wide-events := mental-model for annotation strategyannotate(span, context) where context = { business ∪ user ∪ technical ∪ outcome }
wide-event.fields := { identity: {traceId, spanId, service, operation} user: {userId, accountTier, accountAge, lifetimeValue} business: {featureFlags, experimentGroup, cartValue} performance: {durationMs, dbQueryCount, cacheHitRate, retryCount} outcome: {success, errorCode, httpStatus} }high-dimensionality → better-queryability high-cardinality(userId) → acceptable
scattered-logs := console.log("step1") >> console.log("step2") >> ... low-dimensionality := span.set("success", true) ∧ |fields| < 5 technical-only := {http.status, db.queries} ∧ ¬{user, business} span.setAttributes({ "request.operation", "user.id", "user.tier", "cart.items", "cart.value", "feature.*", "db.query_count", "cache.hit_rate", "request.success" })∀ span → attach(identity ∪ user ∪ business ∪ performance ∪ outcome)
retain(100%) := errors ∨ slow(>p99) ∨ vip retain(1-5%) := success ∧ fast before(instrument) → verify(answerable({ "failures where tier=premium ∧ feature.new_flow=true" "p99(latency) group by tier" "errors group by featureFlags" "full context for user X incident" }))¬queryable → ¬enough-context
cardinality := |unique values| (userId=high, httpMethod=low) dimensionality := |fields per event| (more → better) wide-event := canonical-log-line := one comprehensive record deciding(span-annotations) reviewing(instrumentation-coverage) debugging(incidents) → "what context was missing?" planning(new-service-observability) choosing(fields-to-index)Reference: See Article.md for full article by Boris Tane (loggingsucks.com)
Converted and distributed by TomeVault — claim your Tome and manage your conversions.