CocaineCong / tangseng

Tangseng search engine including full text search and vector search base on golang. 基于go语言的搜索引擎,信息检索系统
https://cocainecong.github.io/tangseng/
Apache License 2.0
111 stars 29 forks source link

Feature Request: Add Jaeger to provide project with the capability of distributed tracing #54

Closed ozline closed 7 months ago

ozline commented 10 months ago

Background

This is a project that spans across go and python. We hope to provide certain observability for each request in order to monitor the project.

Introduce of Jaeger

Jaeger is an open-source, end-to-end distributed tracing system that helps developers monitor and troubleshoot complex, microservices-based architectures. It provides insights into the flow of requests within and between services, allowing developers to visualize the path of a request as it traverses through various components of a distributed system.

In the context of Go (Golang), Jaeger has a client library called "Jaeger-Client-Go" that allows developers to instrument their Go applications for distributed tracing. The Jaeger client library integrates with the OpenTracing API, which is a set of vendor-neutral APIs for distributed tracing.

Problem Description

We hope to be able to monitor the request chain of this project, providing us with a more intuitive, concise, and clear chain analysis during production or debugging.

In the new version of Jaeger, Jaeger provides support for OpenTelemetry. More Detail Please Visit here

So, you should carefully choose the local client SDK to support distributed tracing for both Go projects and Python projects (this should be done together).

How to solve this problem

The code strategy is similar to another issue(#53). You should first complete the implementation of distributed tracing on the Go project side, submit it and pass the code review, and then start developing the Python version. This will not take up much of your time.

CocaineCong commented 7 months ago

done