sentry-docs icon indicating copy to clipboard operation
sentry-docs copied to clipboard

Sentry Distributed Tracing - App Architecture Diagram with its Sentry Trace

Open thinkocapo opened this issue 1 year ago • 2 comments

Core or SDK?

Platform/SDK

Which part? Which one?

all sdk's

Description

image image

Most Important Thing We Need - High Level

  • App Architecture Diagram
  • Sentry Trace (UI) that shows the corresponding Spans for everything connected in the App Architecture Diagram

We need

  • Distinction of Web vs Non-Web, written out in words before the diagram.
  • Vertically oriented flow of frontend-to-backend, instead of our horizontal left-to-right. see screenshots of the other vendors.
  • Sentry Trace that shows all of the apps+services in the diagram, all the http requests, any non-http requests (whether custom instrumented or not, that's a different question)
  • Highlight apps+services in grey (like in Lightstep's) which are not covered by auto-instrumentation (http propagation) so that way it's light-vs-day clear to a user what to expect.
  • Mention that custom instrumentation is needed for the non-http and put a hyperlink to a code example
  • Mention that "no agent necessary" and consider writing the benefits of our approach and the drawbacks of needing agents. Emphasize focus on developers, our vision.
  • Mention sentry-trace header is used
  • We don't need to worry about, "But the trace view UI will become outdated" because currently we don't show one whatsoever and this makes it super hard for a newcomer to sentry to understand what to expect

Problems with Sentry Diagram

  • "Browser" and "Backend" how about "Web App" or "Ecommerce App Forntend" and "Backend API" or "Springboot Server" something more realistic? AuthService|BillingService|OrderProcessing would be great.
  • More apps+servers. Enterprise Customers have hundreds of things, why are we only showing 3.
  • Caches&Queues (and the Sentry Trace View to show the right spans for it) are not shown
  • "Database Server" so is that an app you install an sdk in? I never have users+customers talk to me about "database server" or does that mean the VM/machine that a database is on? Or an app with its own REST API and its sole purpose is to talk to the database? I thought we'd only want to show apps+services with sdk's installed and then you see transaction.spans representing CRUD operations over to a database. I prefer we avoid confusion that you install a sdk inside a database
  • There's no app architecture visual nor a Sentry Trace (UI) for this +50 lines of text in the following explanation. It's a bit dull without the corresponding imagery: image

Suggested Solution

Do what Lighstep and NewRelic are doing in the screenshot I provided, but also provide the Sentry Trace Explorer (Sentry UI) of the corresponding data (spans) you see as a result.

thinkocapo avatar May 24 '24 09:05 thinkocapo

Assigning to @getsentry/support for routing ⏲️

getsantry[bot] avatar May 24 '24 09:05 getsantry[bot]

We already have the producer-to-consumer example for tracing a Message, like I'm asking for queues and messages. https://blog.sentry.io/troubleshooting-spring-boot-applications-with-sentry/

thinkocapo avatar Jun 13 '24 11:06 thinkocapo