-
Notifications
You must be signed in to change notification settings - Fork 469
chore(mcp): add server info metadata on client session "root" spans #15306
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
Conversation
…14828) ## Description Adds server info metadata to llm observability mcp client session "root" spans. This information includes - server name - server version - server title Additionally, adds similar tags to client tool spans: - For both client and server tool calls, mark which kind of tool call they are on a tag (as besides the name, which could vary for manual instrumentation, it is not apparent as they are just normal tool calls otherwise) - adds the mcp server name of the session the client tool call was used for Lastly, generally for the `mcp` integration, we now mark client tool calls as errors when the tool result returned from the mcp server was an error as well. MLOB-4147 ## Testing Add unit tests, and additionally, verified through internal testing against a staging hash in our frontend. ## Risks None
|
|
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 263 ± 4 ms. The average import time from base is: 269 ± 4 ms. The import time difference between this PR and base is: -6.2 ± 0.2 ms. Import time breakdownThe following import paths have shrunk:
|
Performance SLOsComparing candidate sabrenner/forward-port-14828-to-main (61eeba6) with baseline main (ee8f34d) 🟡 Near SLO Breach (3 suites)🟡 flasksimple - 18/18✅ appsec-getTime: ✅ 4.586ms (SLO: <4.750ms -3.5%) vs baseline: -0.4% Memory: ✅ 64.057MB (SLO: <66.500MB -3.7%) vs baseline: +5.0% ✅ appsec-postTime: ✅ 6.621ms (SLO: <6.750ms 🟡 -1.9%) vs baseline: -0.3% Memory: ✅ 64.191MB (SLO: <66.500MB -3.5%) vs baseline: +4.8% ✅ appsec-telemetryTime: ✅ 4.594ms (SLO: <4.750ms -3.3%) vs baseline: +0.2% Memory: ✅ 63.988MB (SLO: <66.500MB -3.8%) vs baseline: +4.8% ✅ debuggerTime: ✅ 1.857ms (SLO: <2.000ms -7.1%) vs baseline: +0.2% Memory: ✅ 47.886MB (SLO: <49.500MB -3.3%) vs baseline: +4.9% ✅ iast-getTime: ✅ 1.857ms (SLO: <2.000ms -7.1%) vs baseline: -0.3% Memory: ✅ 44.522MB (SLO: <49.000MB -9.1%) vs baseline: +5.1% ✅ profilerTime: ✅ 1.932ms (SLO: <2.100ms -8.0%) vs baseline: ~same Memory: ✅ 48.408MB (SLO: <50.000MB -3.2%) vs baseline: +4.7% ✅ resource-renamingTime: ✅ 3.376ms (SLO: <3.650ms -7.5%) vs baseline: +0.1% Memory: ✅ 54.363MB (SLO: <56.000MB -2.9%) vs baseline: +4.7% ✅ tracerTime: ✅ 3.366ms (SLO: <3.650ms -7.8%) vs baseline: +0.3% Memory: ✅ 54.392MB (SLO: <56.500MB -3.7%) vs baseline: +4.8% ✅ tracer-nativeTime: ✅ 3.364ms (SLO: <3.650ms -7.8%) vs baseline: +0.3% Memory: ✅ 54.320MB (SLO: <60.000MB -9.5%) vs baseline: +4.9% 🟡 otelspan - 22/22✅ add-eventTime: ✅ 38.816ms (SLO: <47.150ms 📉 -17.7%) vs baseline: +0.5% Memory: ✅ 38.919MB (SLO: <47.000MB 📉 -17.2%) vs baseline: +4.5% ✅ add-metricsTime: ✅ 258.121ms (SLO: <344.800ms 📉 -25.1%) vs baseline: +0.4% Memory: ✅ 43.332MB (SLO: <47.500MB -8.8%) vs baseline: +4.8% ✅ add-tagsTime: ✅ 316.742ms (SLO: <321.000ms 🟡 -1.3%) vs baseline: +1.3% Memory: ✅ 43.294MB (SLO: <47.500MB -8.9%) vs baseline: +4.8% ✅ get-contextTime: ✅ 78.966ms (SLO: <92.350ms 📉 -14.5%) vs baseline: +1.0% Memory: ✅ 39.206MB (SLO: <46.500MB 📉 -15.7%) vs baseline: +4.7% ✅ is-recordingTime: ✅ 36.462ms (SLO: <44.500ms 📉 -18.1%) vs baseline: +1.0% Memory: ✅ 38.859MB (SLO: <47.500MB 📉 -18.2%) vs baseline: +4.9% ✅ record-exceptionTime: ✅ 56.960ms (SLO: <67.650ms 📉 -15.8%) vs baseline: -0.4% Memory: ✅ 39.423MB (SLO: <47.000MB 📉 -16.1%) vs baseline: +5.1% ✅ set-statusTime: ✅ 42.786ms (SLO: <50.400ms 📉 -15.1%) vs baseline: +1.1% Memory: ✅ 38.828MB (SLO: <47.000MB 📉 -17.4%) vs baseline: +5.0% ✅ startTime: ✅ 35.539ms (SLO: <43.450ms 📉 -18.2%) vs baseline: +0.2% Memory: ✅ 38.780MB (SLO: <47.000MB 📉 -17.5%) vs baseline: +5.0% ✅ start-finishTime: ✅ 81.748ms (SLO: <88.000ms -7.1%) vs baseline: +0.2% Memory: ✅ 36.608MB (SLO: <46.500MB 📉 -21.3%) vs baseline: +4.9% ✅ start-finish-telemetryTime: ✅ 83.068ms (SLO: <89.000ms -6.7%) vs baseline: -0.2% Memory: ✅ 36.687MB (SLO: <46.500MB 📉 -21.1%) vs baseline: +5.1% ✅ update-nameTime: ✅ 36.985ms (SLO: <45.150ms 📉 -18.1%) vs baseline: +0.6% Memory: ✅ 39.035MB (SLO: <47.000MB 📉 -16.9%) vs baseline: +5.0% 🟡 tracer - 6/6✅ largeTime: ✅ 29.115ms (SLO: <32.950ms 📉 -11.6%) vs baseline: +0.6% Memory: ✅ 35.783MB (SLO: <36.500MB 🟡 -2.0%) vs baseline: +4.9% ✅ mediumTime: ✅ 2.891ms (SLO: <3.200ms -9.6%) vs baseline: +1.3% Memory: ✅ 34.092MB (SLO: <35.500MB -4.0%) vs baseline: +4.6% ✅ smallTime: ✅ 325.194µs (SLO: <370.000µs 📉 -12.1%) vs baseline: +0.1% Memory: ✅ 34.564MB (SLO: <35.500MB -2.6%) vs baseline: +5.1%
|
…#14828)
Description
Adds server info metadata to llm observability mcp client session "root" spans. This information includes
Additionally, adds similar tags to client tool spans:
Lastly, generally for the
mcpintegration, we now mark client tool calls as errors when the tool result returned from the mcp server was an error as well.MLOB-4147
Testing
Add unit tests, and additionally, verified through internal testing against a staging hash in our frontend.
Risks
None
Description
Testing
Risks
Additional Notes