-
Notifications
You must be signed in to change notification settings - Fork 2.7k
[mcp] Implement get_critical_path tool (Phase 3 Step 4) #7857
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: main
Are you sure you want to change the base?
Conversation
Codecov Report❌ Patch coverage is ❌ Your patch check has failed because the patch coverage (50.90%) is below the target coverage (95.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #7857 +/- ##
==========================================
- Coverage 95.46% 94.67% -0.79%
==========================================
Files 300 306 +6
Lines 15731 16008 +277
==========================================
+ Hits 15017 15156 +139
- Misses 560 686 +126
- Partials 154 166 +12
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Co-authored-by: yurishkuro <3523016+yurishkuro@users.noreply.github.com>
Co-authored-by: yurishkuro <3523016+yurishkuro@users.noreply.github.com>
Co-authored-by: yurishkuro <3523016+yurishkuro@users.noreply.github.com>
|
@copilot Make sure all new code has good test coverage, no less than 95%. |
- Added tests for getChildOfSpans function with 100% coverage - Added tests for sanitizeOverFlowingChildren with 96.2% coverage - Added tests for get_critical_path handler with 96.4% coverage - Refactored handler to use TraceGetter interface for better testability - Fixed testifylint issues - All packages now have >95% test coverage Co-authored-by: yurishkuro <3523016+yurishkuro@users.noreply.github.com>
Signed-off-by: Yuri Shkuro <yurishkuro@users.noreply.github.com>
Phase 3: Implement get_critical_path Tool (Tool #4)
Part of #7827
Summary
This PR implements the
get_critical_pathMCP tool as part of Phase 3 of the Jaeger MCP server implementation. The tool identifies the sequence of spans forming the critical latency path (the blocking execution path) in a distributed trace.Implementation Details
Critical Path Algorithm (Port from UI)
MCP Tool Handler
get_critical_pathtool handler that:Integration
Testing & Coverage
make fmtpassesmake lintpasses with 0 issuesmake testpasses (for jaegermcp package)Changes
internal/criticalpath/package with algorithm implementationinternal/handlers/package with tool handlersinternal/types/package with MCP tool typesOriginal prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.