Skip to main content

3 posts tagged with "Distributed Tracing"

View All Tags

Monitoring and Distributed Tracing for Java in Kubernetes with BitDive

· 5 min read
Dmitry Turmyshev
Product Manager | Developer Experience and Software Quality

TL;DR: Cloud-native observability shouldn't require root access or manual instrumentation inside containers. BitDive provides a Trace-Based Quality Gate for Kubernetes, capturing method-level traces from pods and transforming them into Trace Replay suites that run anywhere.


Java Observability in Kubernetes

Monitoring and Optimizing Java Workloads in Kubernetes with BitDive

Monitoring and optimizing Java workloads in Kubernetes presents unique challenges. From the dynamic nature of microservices to the complexity of distributed systems, traditional tools often fall short. BitDive offers a revolutionary approach to code-level observability and real-time monitoring, purpose-built for Kubernetes environments.

Microservices Monitoring - Mastering Distributed System Observability

· 5 min read
Evgenii Frolikov
Senior Java Architect | Expert in High-Load Systems & JVM Internals

TL;DR: Monitoring microservices isn't just about finding bottlenecks, it's about recording the "Golden Path" of cross-service interactions. BitDive captures distributed traces and transforms them into automated Integration Tests, providing the Real Runtime Data for complex service meshes.


BitDive Microservices Monitoring - Centralized observability and distributed tracing for complex Java systems

Microservices architecture offers businesses flexibility, independent development teams, and the ability to scale individual services. However, the more complex and distributed a system is, the more pressing it becomes to have centralized monitoring and a clear view of how services interact.

Using Flame Graphs to Visualize Method Execution Times in Distributed Systems

· 5 min read
Evgenii Frolikov
Senior Java Architect | Expert in High-Load Systems & JVM Internals

TL;DR: The Trace is the Test. In distributed microservices, BitDive captures cross-service spans and transforms them into deterministic JUnit Replay Plans. By using flame graphs as the blueprint, BitDive allows you to verify complex distributed logic end-to-end as Real Runtime Data.


At BitDive.io, we leverage flame graphs not for traditional CPU profiling, but for visualizing the time (in milliseconds) that each method in a span consumes. This approach is especially suited for distributed systems with microservices running across different servers and processors. In this post, we will explain why flame graphs are effective for this use case, how they can help uncover bottlenecks in distributed architectures, and why this method could be more suitable for your system's needs.