Mar Witek
90d · built 2026-09-08
Performance
What Mar Witek shipped in the selected window, measured in ETV, and how it compares with the 90 days before it.
Effective capacity
+25.2engineers
delivers like 26.2 (26.2x pre-AI)
Output (ETV)
3.7ETV
+312.4% vs 0.9 prior
Features share
92.6%
+36.4 pp vs prior window
Fixes share
0.0%
±0 pp vs prior window
Work mix
92.6% Features2.7% Maintenance2.7% Tests1.9% Docs0% Fixes
10 commits over 90 days, ending 2026-09-08.
Daily performance
Daily ETV, stacked by Features, Maintenance, Tests, Docs and Fixes.
Repository spread
Where this developer's commits land. Concentrated work (top1 > 80%) vs polymath spread (top1 < 30%).
| Repo | Commits | ETV |
|---|---|---|
| foundations | 7 | 3.6 |
| workerd | 1 | 0.1 |
| cloudflare-docs | 1 | 0.0 |
Most impactful commits
Top 10 by ETV in the last 90 days.
- 2.4ETVAdd user-facing tracing pipeline Adds a user-facing span pipeline to `foundations`, parallel to and independent of the existing internal tracing pipeline. Application code emits spans into a separate harness that exports OTLP over HTTP on a Unix domain socket, with per-trace routing metadata (an application-defined `RoutingMetadata`) attached to each span and carried to the endpoint in a configurable header, plus W3C `traceparent` continuation in and out. The public API lives in a dedicated `tracing::user_tracing` module that mirrors the top-level internal-tracing functions (`start_trace`, `span`, `add_span_tags!`, ...), plus a top-level `dual_span` that records into both pipelines at once; `#[span_fn(user = true)]` emits a dual span. The user span rides on `TelemetryContext`, so it propagates across `.await`, spawns, and hooks without manual threading. Two rules shape the surface: the user and internal pipelines are fully independent (separate harnesses, scope stacks, and exporters), and the public surface speaks W3C. Sampling is not configured inside foundations -- per-request activation is driven by the caller. Everything is gated behind the `user-tracing` cargo feature.github.com-cloudflare-foundations · 68988e2b · 2026-07-16
- 0.5ETVfeat(telemetry): add deferred user span activationgithub.com-cloudflare-foundations · 4b61a952 · 2026-09-03
- 0.5ETVAdd an owned UserSpan handle for user tracing The user-tracing API is built around an ambient scope stack: `span()` parents under whatever is current and hands back an RAII guard that pops on drop. The scope stack is a `ThreadLocal` and its guard is deliberately `!Send`, so a span can never be held across an await point. That model can't express a per-request span in a service whose request pipeline is a state machine of separate callbacks rather than a call tree. The span outlives every individual callback, so there is no lexical scope for it to live in, and the only `Send` escape hatch available today is `into_context()` — which is meant for propagating into a future, and drags a snapshot of the whole ambient `TelemetryContext` along with it. `UserSpan` is an owned, `Send` handle to a user span, detached from the scope stack. It can live in a struct field, cross threads, and be finished in a different callback from the one that started it. The span is reported when the last reference to it drops. That is normally the handle, though `enter()` takes its own, as does any context built from the resulting scope. Parents are named explicitly rather than inferred from a stack, because spans in a callback-driven pipeline overlap without nesting: an upstream fetch can still be unfinished while response-side work that is not part of it is running, so "innermost active span" is the wrong parent. A handle is always usable — there is no `Option`. When no trace is active, or it wasn't sampled, or no pipeline is configured, the handle is inactive: tagging does nothing, children are inactive in turn, nothing is reported. This keeps `if let Some(span)` out of call sites, and mirrors how cf-rustracing's own inactive spans already behave. `user_tracing::start_trace` and `w3c_traceparent` are re-expressed on top of the new type, and `create_user_span` now shares its child-construction with `UserSpan::child`, so each behaviour has a single implementation. `enter()` bridges back to the ambient API for callers that prefer it. Purely additive: no existing caller changes. `Tag` is now re-exported, since it appears in the `set_tags` bound.github.com-cloudflare-foundations · b4c910aa · 2026-08-11
- 0.1ETVrefactor(telemetry): distinguish deferred user spansgithub.com-cloudflare-foundations · a968d68d · 2026-09-03
- 0.1ETVAdd SpanContext::toTraceparent()github.com-cloudflare-workerd · 20e92f41 · 2026-08-08
- 0.1ETVfeat(telemetry): attach user spans to contextsgithub.com-cloudflare-foundations · c47af8c9 · 2026-09-03
- 0.0ETVCorrect the UserSpan lifetime docs The type claimed the span is reported when the handle is dropped. It is reported when the last reference dropsgithub.com-cloudflare-foundations · 74ab2c7a · 2026-08-12
- 0.0ETVCollapse duplicate span write-lock matches onto with_write `write_current_span` and `write_current_user_span` each open-coded the same three-way match over `SharedSpanHandle` to obtain a write guard, including an `unreachable!` arm for the inactive case. `SharedSpanHandle::with_write` already does exactly this, so both now call it. The cached `is_sampled` check stays in front of both. Writing to an unsampled span is a no-op regardless, since an unsampled span is `Span(None)`, but the flag is stored outside the lock precisely so the common path doesn't have to take a write guard to discover there is nothing to do. The inactive arm becomes a no-op rather than a panic. It remains unreachable either way: a handle can't be `Inactive` when `is_sampled` is true. `with_write` loses its `user-tracing` cfg now that an unconditional caller uses it.github.com-cloudflare-foundations · d190926a · 2026-08-11
- 0.0ETV[Workers] Add release note for v8 version 15.3 update (#33078)github.com-cloudflare-cloudflare-docs · 6e3b5b14 · 2026-08-28