TLDRTraditional observability focuses on production environments, while pre-production observability identifies issues earlier in the software development lifecycle, improving quality and accelerating delivery. This approach reduces costs, operational disruptions, and user impact by catching problems before they reach production
1. Decide upon a consistent logging format within the very least your application, and ideally your organization.
2. Include all the relevant context and metadata for all involved stakeholders, so properly align.
3. Use a standardized date format, we’ve all encountered our challenges with dates: what’s the format (dd/mm, mm/dd), in which timezone, and so on.
4. Make sure no sensitive data is logged, we don’t want a GDPR lawsuit hiding in the corner!
5. Be concise, vital information should be logged, but do not go over the top. You do not want to impact the performance by causing too much I/O, or making key information hard to spot.
When managing a database, speed and efficiency are crucial. As applications handle more data and become more complex, the performance of database queries plays a big role in keeping everything running smoothly. One of the best ways to make queries faster is by using indexes. Similar to a book’s index that helps you quickly find a topic, database indexes allow you to find specific data without searching through the entire database. This article explains the basics of indexing, how it improves query performance, and some simple tips for using indexes effectively. Whether your database is small or large, understanding how to use indexes can help keep your application fast and responsive.
Introduction: Spring boot profiling tools
Understanding Various Aspects of Profiling Performance Issues
key scenarios where Spring Boot profiling tools are essential
High Latency and Slow Response Times:
High CPU Usage
High Memory Usage and Memory Leaks
Slow Database Queries
Network Latency and I/O Issues
Increased Error Rates and Failures
TLDRTracing is a valuable tool in software development that helps prevent issues when making changes by providing visibility into system behavior and performance. It involves monitoring and recording the flow of data or events as they move through a system. Tracing in a distributed system includes components such as tracer, span, context propagation, correlation ID, instrumentation, data store, and visualization and analysis tools. OpenTracing, OpenTelemetry, Zipkin, and Jaeger are widely used distributed tracing libraries. Digma is an observability tool that provides insights and feedback during development
What is Test Coverage?
Test Coverage vs Code Coverage
What is the gap to have a true test coverage?
How can tracing data improve test coverage?
Relation between end-to-end tests and Tracing data
Let's get our hands dirty with real code
How Digma can help us to have better Test Coverage
Write integration test using MockWebServer
Write end-to-end tests without mocking interactions
Migration from a monolithic architecture to microservices presents challenges in identifying and managing dependencies within the codebase. Observability can help shine a light on code dependencies and provide insights for safer and more iterative refactoring. Digma, an IntelliJ plugin, can be used to collect and analyze tracing data to identify areas with high levels of runtime dependencies and reveal performance baselines.
Recently, I was looking to introduce robust integration testing to my company. Specifically working in Java with an SQL environment, I started exploring frameworks, tools, and approaches for conducting the integration. In this blog, I decided to share my journey around Java Integration testing.
When discussing Observability, OpenTelemetry is crucial because it enables organizations to understand the internal state of their systems through telemetry data. In this article, we will discuss the important role of OpenTelemetry in enabling Observability in Java applications.
When discussing Observability, OpenTelemetry is crucial because it enables organizations to understand the internal state of their systems through telemetry data. In this article, we will discuss the important role of OpenTelemetry in enabling Observability in Java applications.