Purpose-built for microservices-based environments, the Coralogix Service Flows feature allows you to rapidly investigate the radius of the impact of different services over time and troubleshoot issues immediately as part of Application Performance Monitoring.
To enjoy the feature at present, contact us via our in-app chat or by emailing [email protected].
Use Service Flows to:
A user visits an e-commerce website and clicks on a product to view its details. This action initiates a service flow. The flow begins when the user’s request reaches a service and ends when the service sends back the product details as a response. During this flow, several operations occur: the service might query a database to retrieve the product information, call external services for current pricing, and execute internal logic to prepare the content for display. Each of these operations represents a sub-flow. The service flow breakdown shows how these sub-flows collectively contribute to the request’s overall response time and performance.
Simply put, a service flow denotes a singular logical unit of work in a software application. More precisely, it encompasses the function and method calls constituting that unit of work. Each flow consists of a root span, an operation that serves as its entry point and triggers all other related operations.
Every service flow may contain hundreds, if not thousands of spans, grouped per operation name. An operation is a logical entity consolidating all spans with the same action type.
A sub-flow is a collection of related operations, the constituent functions that break down the various service operations into a service flow and collectively structure its performance. Examples include external service calls and database calls. Each sub-flow provides insights into its performance and how it affects the flow over time.
Coralogix’s APM captures and monitors the performance metrics associated with each sub-flow, making up the service flow. This information helps identify bottlenecks, optimize code, and ensure a smooth and efficient user experience during the entire purchase process.
What is the difference between Service Flows and Distributed Tracing?
The primary distinction between Service Flows and Distributed Tracing features is in the analysis context and depth. Service Flows examine the entire sequence of events over time within a service. This method thoroughly explains how different parts of the flow interact and evolve over time, providing deep insights into the internal dynamics of service requests.
While Distributed Tracing is adept at capturing snapshots of individual operations at specific moments, it does not effectively identify long-term bottlenecks within the overall flow. Service Flows addresses this by delivering a detailed analysis that helps pinpoint and comprehend the underlying causes of performance issues across the entire service flow.
In essence, the Service Flows feature enhances the capabilities of Distributed Tracing by examining the collective impact of operations within a service flow, thus offering a more comprehensive view of their influence on the flow’s performance over time.
Users must configure custom instrumentation to define, report, and monitor service flows. Doing so connects all sub-flows or service operations to a particular service flow.
To add sub-flows to a service flow, use custom instrumentation for any of the following languages:
The Service Flow Screen lets you identify service flows that may be good candidates for fine-tuning performance problems or resolving errors. It presents a high-level overview of all of the selected app’s service flows, presented as operations.
STEP 1. To view information about your app’s service flows, navigate to APM > Service Flows from your Coralogix toolbar.
STEP 2. Select the Flow Type and filter to view the service flows of interest.
STEP 3. Clicking on a service flow for further investigation will transfer you to the Sub-Flow Screen.
The Sub-Flow Screen summarizes the performance of the succeeding operations of the flow root operation, the entry point for your service flow.
Subflow Summary. Each row presents a sub-flow with its contextual data, allowing you to get a focused view of the flow bottlenecks.
Flow Traces. Hover over any flow trace and click on the ellipsis to access an action menu for each flow trace: obtain a trace link, export to JSON, view the raw span, or see the entire trace map.
Visualizations. Visualize flow traces in either Gantt or map mode. These formats provide powerful visual tools to comprehend the relationships between sub-flows within the flow.
|Introduction to Application Performance Monitoring
Our world-class customer success team is available 24/7 to walk you through your setup and answer any questions that may come up.
Contact us via our in-app chat or by emailing [email protected].