-
Notifications
You must be signed in to change notification settings - Fork 277
feat: add opentelemetry tracer to record the sync trace #697
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Signed-off-by: yafeiaa <[email protected]>
Signed-off-by: yafeiaa <[email protected]>
Signed-off-by: yafeiaa <[email protected]>
Signed-off-by: yafeiaa <[email protected]>
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #697 +/- ##
==========================================
- Coverage 54.26% 53.24% -1.03%
==========================================
Files 64 65 +1
Lines 6164 6485 +321
==========================================
+ Hits 3345 3453 +108
- Misses 2549 2756 +207
- Partials 270 276 +6 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
PR Description
Purpose
This submission aims to integrate OpenTelemetry tracing functionality into the GitOps engine's synchronization process, enhancing the observability and debugging capabilities of synchronization operations.
Major Changes
Tracer
andSpan
interfaces to support tracing operations.syncContext
: Updated thesyncContext
structure to include tracing-related fields and created spans during the execution ofcreate
tasks,hook
tasks, andprune
tasks to record the duration of each task execution in Kubernetes.Impact
These changes will enhance the observability of the GitOps engine when handling synchronization tasks, making it easier for developers to perform performance analysis and troubleshoot issues.
This functionality has been thoroughly validated in our company's internal fork of the ArgoCD and GitOps engine projects. It helps us analyze the synchronization process in depth, improving synchronization speed and allowing all collaborators in our team to better understand the order in which ArgoCD applies resources to Kubernetes. This improvement not only enhances our observability but also fosters collaboration and communication within the team.
Effect Diagram
Below is an effect diagram showcasing the tracing information of synchronization tasks as used within our company:
If this commit can be merged, I will submit the corresponding changes to the
argoproj/argo-cd
project to enable this functionality in ArgoCD. Of course, I am more than willing to provide further explanations regarding the necessity of this feature if needed.