Urgent.News

What's breaking now, across thousands of outlets.

Tech

The request we could not follow across four services

A customer sent us a screenshot of a 500 error with a timestamp. That was all we had. The request had passed through an API gateway, an auth service, an orders service, and a payments service, and each of them logged beautifully in its own format, into its own index, with no shared identifier anywhere. Finding that one request meant grepping four log stores by timestamp window and guessing which…

On receiving a screenshot of a 500 error with a timestamp, our team spent ninety minutes trying to trace the path of a single request across four services. The request had passed through an API gateway, an authentication service, an orders service, and a payments service, each logging the event in its own format and index without any shared identifier.

Eventually, we managed to correlate the request using a user ID present in three of the four services, but the fourth service only logged an internal account key, which we had to join through a database query.

The lack of a correlation ID, a single identifier generated at the edge and passed through every service, made it difficult to connect the dots. Once we added this simple piece, the ninety-minute search transformed into a single query that revealed the full path of the request. Retrofitting the correlation ID required changes to every internal HTTP call and asynchronous message, as well as ensuring that all log statements included the ID in structured context for indexing instead of regexing.

Observing the system after implementing the correlation ID was enlightening. We discovered that requests thought to make only two downstream calls actually made nine. An unnoticed retry loop doubled traffic to one service, and a cache that was assumed to be hot was constantly being missed, instantly visible as a gap in the trace. While logs describe events, traces describe causality. Without the ability to follow a request end to end, debugging a distributed system becomes like interviewing witnesses who never met.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

I built a salon website that its owner can run without a developer

I just built a salon website that doesn't need a developer every time something needs to change And that's the part I'm most excited about.

  • Salon website built without developer requirement
  • Fully customizable and multi-page using Next.js, Tailwind CSS, Strapi CMS
  • Multi-purpose system for various businesses

The Redistribution Gap: How Platforms, Cost, and Language Divide Content—and How to Turn It to Your Advantage

The Redistribution Gap: How Social Media, Language, Perspective, and Cost Control Access to Information—and How to Benefit From It We live in a world where information can be created faster than ever…

  • Platforms like social media don't share content equally across all channels
  • Language barriers prevent non-English speakers from accessing information
  • Cost of access can create a fragmented digital experience for users

ArgoCD SSO with AWS IAM Identity Center (via Dex SAML)

A short, reproducible guide to wiring ArgoCD login to AWS Identity Center using ArgoCD's bundled Dex as a SAML service provider.

  • Configure ArgoCD to use AWS IAM Identity Center for SSO via Dex SAML.
  • Map App attribute to Subject format ${user:subject} for persistent email in IAM Identity Center.

More from Friday 4 September →