{"id":450,"date":"2026-05-07T00:00:00","date_gmt":"2026-05-07T00:00:00","guid":{"rendered":"https:\/\/wordpress.securinsight.ca\/index.php\/2026\/05\/07\/workers-automatic-tracing-across-durable-object-and-worker-subrequests\/"},"modified":"2026-05-07T00:00:00","modified_gmt":"2026-05-07T00:00:00","slug":"workers-automatic-tracing-across-durable-object-and-worker-subrequests","status":"publish","type":"post","link":"https:\/\/wordpress.securinsight.ca\/index.php\/2026\/05\/07\/workers-automatic-tracing-across-durable-object-and-worker-subrequests\/","title":{"rendered":"Workers &#8211; Automatic tracing across Durable Object and Worker subrequests"},"content":{"rendered":"<p>You can now get a single unified trace across Worker-to-Worker subrequests, with trace context propagating automatically. Previously, <a href=\"https:\/\/developers.cloudflare.com\/workers\/observability\/traces\/\">automatic tracing<\/a> produced disconnected traces when a Worker called another Worker through a <a href=\"https:\/\/developers.cloudflare.com\/workers\/runtime-apis\/bindings\/service-bindings\/\">service binding<\/a> or <a href=\"https:\/\/developers.cloudflare.com\/durable-objects\/\">Durable Object<\/a>.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/developers.cloudflare.com\/_astro\/2026-04-28-worker-to-worker-context-prop.Db1qNQJL_BUxyi.webp\" alt=\"Unified trace showing nested spans across a Durable Object subrequest and a service binding call\" \/><\/p>\n<p>This means you can:<\/p>\n<ul>\n<li>Follow a request through your entire Worker architecture in one trace view<\/li>\n<li>See service binding and Durable Object calls as nested child spans instead of separate traces<\/li>\n<li>Debug cross-Worker request flows in the Cloudflare dashboard or in an external observability platform via <a href=\"https:\/\/developers.cloudflare.com\/workers\/observability\/exporting-opentelemetry-data\/\">OpenTelemetry<\/a><\/li>\n<\/ul>\n<p><a href=\"https:\/\/developers.cloudflare.com\/workers\/observability\/traces\/#how-to-enable-tracing\">Tracing must be enabled<\/a> in your Wrangler configuration for traces to be recorded. Checkout <a href=\"https:\/\/developers.cloudflare.com\/workers\/observability\/traces\/\">Workers tracing<\/a> to get started.<\/p>\n<p>Up next, we are working on external trace context propagation using <a href=\"https:\/\/www.w3.org\/TR\/trace-context\/\" target=\"_blank\">W3C Trace Context standards<\/a>, which will allow traces from your Workers to link with traces from services outside of Cloudflare.<\/p>","protected":false},"excerpt":{"rendered":"<p>You can now get a single unified trace across Worker-to-Worker subrequests, with trace context propagating automatically. Previously, automatic tracing produced disconnected traces when a Worker called another Worker through a service binding or Durable Object. This means you can: Follow a request through your entire Worker architecture in one trace view See service binding and [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-450","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/wordpress.securinsight.ca\/index.php\/wp-json\/wp\/v2\/posts\/450","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.securinsight.ca\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.securinsight.ca\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.securinsight.ca\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.securinsight.ca\/index.php\/wp-json\/wp\/v2\/comments?post=450"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.securinsight.ca\/index.php\/wp-json\/wp\/v2\/posts\/450\/revisions"}],"wp:attachment":[{"href":"https:\/\/wordpress.securinsight.ca\/index.php\/wp-json\/wp\/v2\/media?parent=450"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.securinsight.ca\/index.php\/wp-json\/wp\/v2\/categories?post=450"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.securinsight.ca\/index.php\/wp-json\/wp\/v2\/tags?post=450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}