* Update milvus project name
3.9 KiB
Opentracing User Guide
This guide mainly describes the use of jaeger and the commonly used display meanings.
Jaeger, inspired by Dapper and OpenZipkin, is a distributed tracing platform created by Uber Technologies and donated to Cloud Native Computing Foundation. It can be used for monitoring microservices-based distributed systems:
- Distributed context propagation
- Distributed transaction monitoring
- Root cause analysis
- Service dependency analysis
- Performance / latency optimization
See also:
- Jaeger documentation for getting started, operational details, and other information.
- Blog post Evolving Distributed Tracing at Uber.
- Tutorial / walkthrough Take OpenTracing for a HotROD ride.
We mainly use jaeger as a implementation of opentracing.
Two request: Insert Request and Search Request in milvus system is traced at this stage.
Jaeger Home page
Lookup by Trace ID
The use of the search box requires configuration of the log collection system. For example, if the log collection system collects the log, if it is an error log, find the Trace ID. Search in jaeger to quickly locate the error. So as to quickly solve the problem
Search
Service
Filter with service name
Operation
Operation in Service, eg request name, function name
Tags
Set tag to facilitate search. Tag is defined in code
Lookback
Filter with time.
Min Duraton Max Duration
The minimum and maximum request duration, you can use this condition to find the time-consuming and short-term requests
Limit Result
The max number of result
Search result
You can search through the above conditions, and those that meet the conditions will appear in the right half.
The detailed information of search result.
- The upper left corner identifies the service name: tracing, Root span name: Insert grpc received and The first half of the Trace ID 46874e2.
- The duration of the entire request is shown in the upper right corner.
- 10675 Span means that there are 10675 operations, see the number of operations for each service in the middle. And the trace time is shown in the right.
- The user can select multiple trace with the box in the upper left, and then compare with them to find something different. For example, different insert request may take a different time. At this time, you can select two for comparison, and the comparison can be very easy to know which trace went wrong
Detailed trace information
Click the search result. You can analyze the detail trace information.
- Duration: Total time consume.
- Service: The number of service called.
- Depth: Call chain depth.
- Total Spans: This call consists of 10 spans
- To enter the details, look at the left half first, showing the call chain of the entire request. The black represents the service name, and the gray kid represents the span name defined in the code.
- The duration of the right half of the code call. The length represents the time consumed by the Span in the entire call chain.
Span Detail information
Click the Span to see the detailed span information such as the last span in the picture above.
- Tags contains a series of custom tags. You can mark in the code what type of call this Span is, request method, call result, call, etc. All the information it contains can be filtered by the Tags on the homepage.
- Process can locate which specific server processing this data.
- Logs are the logs printed by this span during the call.
More
More usage guides will be updated in the future