sentry-docs
sentry-docs copied to clipboard
Sentry Distributed Tracing - App Architecture Diagram with its Sentry Trace
Core or SDK?
Platform/SDK
Which part? Which one?
all sdk's
Description
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-traceheader 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:
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.
Assigning to @getsentry/support for routing ⏲️
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/