Zipkin
Zipkin collects request traces from your services and keeps them, so you can see how one call travelled through the system span by span. It accepts OpenTelemetry, Brave and Jaeger data, offers collectors for HTTP, Kafka and other transports, and its interface draws latency timelines and dependency graphs.
Developers use it to find the slow hop in a chain of services and to see which component produced an error, and it works alongside log and metric dashboards from the same stack.
Self-hosting keeps traces, which may contain user identifiers, inside your perimeter without per-span charges as traffic grows.