chore: fixes for llm tracking#180
Conversation
Summary of ChangesHello @mayankpande88, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces significant enhancements to the system's ability to monitor and trace LLM (Large Language Model) interactions and other L7 traffic. It focuses on improving the reliability and accuracy of data collection by addressing common challenges in eBPF-based tracing, such as race conditions in connection tracking and dynamic changes in Go runtime and kernel structures. The changes ensure that L7 metrics are more compliant with OpenTelemetry standards and that tracing works effectively across diverse application and kernel environments. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces significant enhancements to LLM tracking, HTTP/2 parsing, and the overall robustness of eBPF tracing, especially for Go TLS applications. Key improvements include aligning LLM metrics with OpenTelemetry GenAI semantic conventions, implementing dynamic Go TLS offset discovery, and introducing a connectionless HTTP/2 processing mechanism. The use of a ring buffer for L7 events and a retry mechanism for pending events greatly improves reliability and handles race conditions. Additionally, several map iterations are now protected by read locks to prevent concurrent access issues.
1a499d9 to
e903a77
Compare
…nfrastructure - Strict HTTP/2 detection requiring HEADERS frame with HPACK static table match - DNS protocol ordering fix to prevent DNS/HTTP/2 misclassification - HPACK fault tolerance for mid-stream HTTP/2 connection monitoring - HTTP/2 CONTINUATION frame support and per-fd parser isolation - LLM provider detection (OpenAI, Anthropic, Google Gemini, AWS Bedrock, Azure OpenAI) - Request/response payload structure analysis for provider identification - OTel GenAI semantic convention metrics (container_llm_*) - DNS cache lookup at L7 request time for hostname resolution - eBPF verifier-safe pointer arithmetic for frame scanning - Various protocol detection, memory optimization, and stability fixes
e903a77 to
5c06052
Compare
No description provided.