-
Notifications
You must be signed in to change notification settings - Fork 475
feat(mcp): intent capture #15693
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?
feat(mcp): intent capture #15693
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
|
|
d009b08 to
d2c3cf4
Compare
be675d2 to
a4bda51
Compare
Performance SLOsComparing candidate jb/intent-capture (034c4f9) with baseline jb/use-common-trace-for-mcp-server-tool-calls (b516f25) 📈 Performance Regressions (3 suites)📈 iastaspects - 118/118✅ add_aspectTime: ✅ 18.008µs (SLO: <20.000µs -10.0%) vs baseline: 📈 +21.5% Memory: ✅ 42.566MB (SLO: <43.250MB 🟡 -1.6%) vs baseline: +4.8% ✅ add_inplace_aspectTime: ✅ 14.985µs (SLO: <20.000µs 📉 -25.1%) vs baseline: ~same Memory: ✅ 42.526MB (SLO: <43.250MB 🟡 -1.7%) vs baseline: +4.8% ✅ add_inplace_noaspectTime: ✅ 0.337µs (SLO: <10.000µs 📉 -96.6%) vs baseline: ~same Memory: ✅ 42.625MB (SLO: <43.500MB -2.0%) vs baseline: +5.0% ✅ add_noaspectTime: ✅ 0.545µs (SLO: <10.000µs 📉 -94.6%) vs baseline: -1.6% Memory: ✅ 42.546MB (SLO: <43.500MB -2.2%) vs baseline: +4.7% ✅ bytearray_aspectTime: ✅ 17.997µs (SLO: <30.000µs 📉 -40.0%) vs baseline: -0.6% Memory: ✅ 42.703MB (SLO: <43.500MB 🟡 -1.8%) vs baseline: +5.0% ✅ bytearray_extend_aspectTime: ✅ 23.869µs (SLO: <30.000µs 📉 -20.4%) vs baseline: -0.1% Memory: ✅ 42.507MB (SLO: <43.500MB -2.3%) vs baseline: +4.7% ✅ bytearray_extend_noaspectTime: ✅ 2.750µs (SLO: <10.000µs 📉 -72.5%) vs baseline: -0.3% Memory: ✅ 42.625MB (SLO: <43.500MB -2.0%) vs baseline: +5.1% ✅ bytearray_noaspectTime: ✅ 1.486µs (SLO: <10.000µs 📉 -85.1%) vs baseline: ~same Memory: ✅ 42.585MB (SLO: <43.500MB -2.1%) vs baseline: +4.8% ✅ bytes_aspectTime: ✅ 16.635µs (SLO: <20.000µs 📉 -16.8%) vs baseline: +0.7% Memory: ✅ 42.605MB (SLO: <43.500MB -2.1%) vs baseline: +4.9% ✅ bytes_noaspectTime: ✅ 1.435µs (SLO: <10.000µs 📉 -85.7%) vs baseline: +0.9% Memory: ✅ 42.546MB (SLO: <43.500MB -2.2%) vs baseline: +4.8% ✅ bytesio_aspectTime: ✅ 55.700µs (SLO: <70.000µs 📉 -20.4%) vs baseline: +0.7% Memory: ✅ 42.566MB (SLO: <43.500MB -2.1%) vs baseline: +4.8% ✅ bytesio_noaspectTime: ✅ 3.296µs (SLO: <10.000µs 📉 -67.0%) vs baseline: +0.4% Memory: ✅ 42.644MB (SLO: <43.500MB 🟡 -2.0%) vs baseline: +5.0% ✅ capitalize_aspectTime: ✅ 14.673µs (SLO: <20.000µs 📉 -26.6%) vs baseline: +0.2% Memory: ✅ 42.526MB (SLO: <43.500MB -2.2%) vs baseline: +4.6% ✅ capitalize_noaspectTime: ✅ 2.590µs (SLO: <10.000µs 📉 -74.1%) vs baseline: -0.6% Memory: ✅ 42.585MB (SLO: <43.500MB -2.1%) vs baseline: +5.0% ✅ casefold_aspectTime: ✅ 14.673µs (SLO: <20.000µs 📉 -26.6%) vs baseline: -0.2% Memory: ✅ 42.644MB (SLO: <43.500MB 🟡 -2.0%) vs baseline: +5.1% ✅ casefold_noaspectTime: ✅ 3.160µs (SLO: <10.000µs 📉 -68.4%) vs baseline: -0.3% Memory: ✅ 42.664MB (SLO: <43.500MB 🟡 -1.9%) vs baseline: +4.9% ✅ decode_aspectTime: ✅ 15.599µs (SLO: <30.000µs 📉 -48.0%) vs baseline: +0.3% Memory: ✅ 42.526MB (SLO: <43.500MB -2.2%) vs baseline: +4.6% ✅ decode_noaspectTime: ✅ 1.605µs (SLO: <10.000µs 📉 -84.0%) vs baseline: -0.5% Memory: ✅ 42.566MB (SLO: <43.500MB -2.1%) vs baseline: +5.0% ✅ encode_aspectTime: ✅ 18.209µs (SLO: <30.000µs 📉 -39.3%) vs baseline: 📈 +23.4% Memory: ✅ 42.526MB (SLO: <43.500MB -2.2%) vs baseline: +4.8% ✅ encode_noaspectTime: ✅ 1.494µs (SLO: <10.000µs 📉 -85.1%) vs baseline: -0.3% Memory: ✅ 42.605MB (SLO: <43.500MB -2.1%) vs baseline: +4.9% ✅ format_aspectTime: ✅ 171.387µs (SLO: <200.000µs 📉 -14.3%) vs baseline: -0.3% Memory: ✅ 42.605MB (SLO: <43.250MB 🟡 -1.5%) vs baseline: +4.7% ✅ format_map_aspectTime: ✅ 191.198µs (SLO: <200.000µs -4.4%) vs baseline: -0.1% Memory: ✅ 42.644MB (SLO: <43.500MB 🟡 -2.0%) vs baseline: +4.9% ✅ format_map_noaspectTime: ✅ 3.804µs (SLO: <10.000µs 📉 -62.0%) vs baseline: ~same Memory: ✅ 42.664MB (SLO: <43.250MB 🟡 -1.4%) vs baseline: +5.2% ✅ format_noaspectTime: ✅ 3.141µs (SLO: <10.000µs 📉 -68.6%) vs baseline: -0.9% Memory: ✅ 42.605MB (SLO: <43.250MB 🟡 -1.5%) vs baseline: +5.0% ✅ index_aspectTime: ✅ 15.360µs (SLO: <20.000µs 📉 -23.2%) vs baseline: -0.7% Memory: ✅ 42.546MB (SLO: <43.250MB 🟡 -1.6%) vs baseline: +4.8% ✅ index_noaspectTime: ✅ 0.461µs (SLO: <10.000µs 📉 -95.4%) vs baseline: -1.6% Memory: ✅ 42.526MB (SLO: <43.500MB -2.2%) vs baseline: +4.8% ✅ join_aspectTime: ✅ 17.147µs (SLO: <20.000µs 📉 -14.3%) vs baseline: ~same Memory: ✅ 42.605MB (SLO: <43.500MB -2.1%) vs baseline: +4.8% ✅ join_noaspectTime: ✅ 1.559µs (SLO: <10.000µs 📉 -84.4%) vs baseline: +0.2% Memory: ✅ 42.625MB (SLO: <43.250MB 🟡 -1.4%) vs baseline: +5.0% ✅ ljust_aspectTime: ✅ 20.802µs (SLO: <30.000µs 📉 -30.7%) vs baseline: -0.1% Memory: ✅ 42.684MB (SLO: <43.250MB 🟡 -1.3%) vs baseline: +5.0% ✅ ljust_noaspectTime: ✅ 2.714µs (SLO: <10.000µs 📉 -72.9%) vs baseline: -0.4% Memory: ✅ 42.625MB (SLO: <43.250MB 🟡 -1.4%) vs baseline: +5.0% ✅ lower_aspectTime: ✅ 17.919µs (SLO: <30.000µs 📉 -40.3%) vs baseline: +0.2% Memory: ✅ 42.664MB (SLO: <43.500MB 🟡 -1.9%) vs baseline: +5.1% ✅ lower_noaspectTime: ✅ 2.436µs (SLO: <10.000µs 📉 -75.6%) vs baseline: -0.2% Memory: ✅ 42.566MB (SLO: <43.250MB 🟡 -1.6%) vs baseline: +4.9% ✅ lstrip_aspectTime: ✅ 21.836µs (SLO: <30.000µs 📉 -27.2%) vs baseline: 📈 +23.4% Memory: ✅ 42.546MB (SLO: <43.250MB 🟡 -1.6%) vs baseline: +4.6% ✅ lstrip_noaspectTime: ✅ 1.857µs (SLO: <10.000µs 📉 -81.4%) vs baseline: -0.2% Memory: ✅ 42.526MB (SLO: <43.500MB -2.2%) vs baseline: +4.6% ✅ modulo_aspectTime: ✅ 166.920µs (SLO: <200.000µs 📉 -16.5%) vs baseline: +0.4% Memory: ✅ 42.546MB (SLO: <43.500MB -2.2%) vs baseline: +4.2% ✅ modulo_aspect_for_bytearray_bytearrayTime: ✅ 174.450µs (SLO: <200.000µs 📉 -12.8%) vs baseline: ~same Memory: ✅ 42.526MB (SLO: <43.500MB -2.2%) vs baseline: +4.4% ✅ modulo_aspect_for_bytesTime: ✅ 168.810µs (SLO: <200.000µs 📉 -15.6%) vs baseline: +0.1% Memory: ✅ 42.585MB (SLO: <43.500MB -2.1%) vs baseline: +4.7% ✅ modulo_aspect_for_bytes_bytearrayTime: ✅ 171.688µs (SLO: <200.000µs 📉 -14.2%) vs baseline: ~same Memory: ✅ 42.684MB (SLO: <43.500MB 🟡 -1.9%) vs baseline: +4.6% ✅ modulo_noaspectTime: ✅ 3.678µs (SLO: <10.000µs 📉 -63.2%) vs baseline: +0.4% Memory: ✅ 42.605MB (SLO: <43.500MB -2.1%) vs baseline: +4.9% ✅ replace_aspectTime: ✅ 212.337µs (SLO: <300.000µs 📉 -29.2%) vs baseline: +0.2% Memory: ✅ 42.566MB (SLO: <44.000MB -3.3%) vs baseline: +4.6% ✅ replace_noaspectTime: ✅ 2.899µs (SLO: <10.000µs 📉 -71.0%) vs baseline: ~same Memory: ✅ 42.605MB (SLO: <43.500MB -2.1%) vs baseline: +5.1% ✅ repr_aspectTime: ✅ 1.471µs (SLO: <10.000µs 📉 -85.3%) vs baseline: +2.8% Memory: ✅ 42.625MB (SLO: <43.500MB -2.0%) vs baseline: +4.8% ✅ repr_noaspectTime: ✅ 0.525µs (SLO: <10.000µs 📉 -94.8%) vs baseline: -0.1% Memory: ✅ 42.585MB (SLO: <43.500MB -2.1%) vs baseline: +4.8% ✅ rstrip_aspectTime: ✅ 19.141µs (SLO: <30.000µs 📉 -36.2%) vs baseline: +0.4% Memory: ✅ 42.605MB (SLO: <43.500MB -2.1%) vs baseline: +4.8% ✅ rstrip_noaspectTime: ✅ 1.938µs (SLO: <10.000µs 📉 -80.6%) vs baseline: +0.4% Memory: ✅ 42.605MB (SLO: <43.500MB -2.1%) vs baseline: +4.8% ✅ slice_aspectTime: ✅ 15.862µs (SLO: <20.000µs 📉 -20.7%) vs baseline: -0.8% Memory: ✅ 42.546MB (SLO: <43.500MB -2.2%) vs baseline: +4.5% ✅ slice_noaspectTime: ✅ 0.595µs (SLO: <10.000µs 📉 -94.1%) vs baseline: -0.1% Memory: ✅ 42.546MB (SLO: <43.500MB -2.2%) vs baseline: +4.7% ✅ stringio_aspectTime: ✅ 53.918µs (SLO: <80.000µs 📉 -32.6%) vs baseline: -0.4% Memory: ✅ 42.566MB (SLO: <43.500MB -2.1%) vs baseline: +4.9% ✅ stringio_noaspectTime: ✅ 3.634µs (SLO: <10.000µs 📉 -63.7%) vs baseline: +0.2% Memory: ✅ 42.605MB (SLO: <43.500MB -2.1%) vs baseline: +5.0% ✅ strip_aspectTime: ✅ 17.744µs (SLO: <20.000µs 📉 -11.3%) vs baseline: +0.2% Memory: ✅ 42.605MB (SLO: <43.500MB -2.1%) vs baseline: +4.9% ✅ strip_noaspectTime: ✅ 1.870µs (SLO: <10.000µs 📉 -81.3%) vs baseline: +0.3% Memory: ✅ 42.605MB (SLO: <43.500MB -2.1%) vs baseline: +5.0% ✅ swapcase_aspectTime: ✅ 18.454µs (SLO: <30.000µs 📉 -38.5%) vs baseline: +0.5% Memory: ✅ 42.566MB (SLO: <43.500MB -2.1%) vs baseline: +4.9% ✅ swapcase_noaspectTime: ✅ 2.812µs (SLO: <10.000µs 📉 -71.9%) vs baseline: +0.3% Memory: ✅ 42.605MB (SLO: <43.500MB -2.1%) vs baseline: +5.0% ✅ title_aspectTime: ✅ 18.195µs (SLO: <30.000µs 📉 -39.4%) vs baseline: -0.5% Memory: ✅ 42.546MB (SLO: <43.000MB 🟡 -1.1%) vs baseline: +4.9% ✅ title_noaspectTime: ✅ 2.682µs (SLO: <10.000µs 📉 -73.2%) vs baseline: +0.5% Memory: ✅ 42.546MB (SLO: <43.500MB -2.2%) vs baseline: +4.9% ✅ translate_aspectTime: ✅ 20.600µs (SLO: <30.000µs 📉 -31.3%) vs baseline: +0.2% Memory: ✅ 42.585MB (SLO: <43.500MB -2.1%) vs baseline: +4.7% ✅ translate_noaspectTime: ✅ 4.317µs (SLO: <10.000µs 📉 -56.8%) vs baseline: -0.5% Memory: ✅ 42.723MB (SLO: <43.500MB 🟡 -1.8%) vs baseline: +4.9% ✅ upper_aspectTime: ✅ 17.835µs (SLO: <30.000µs 📉 -40.5%) vs baseline: -0.6% Memory: ✅ 42.526MB (SLO: <43.500MB -2.2%) vs baseline: +4.8% ✅ upper_noaspectTime: ✅ 2.442µs (SLO: <10.000µs 📉 -75.6%) vs baseline: -0.4% Memory: ✅ 42.585MB (SLO: <43.500MB -2.1%) vs baseline: +4.9% 📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 5.175µs (SLO: <10.000µs 📉 -48.3%) vs baseline: 📈 +21.8% Memory: ✅ 42.467MB (SLO: <43.500MB -2.4%) vs baseline: +4.6% ✅ ospathbasename_noaspectTime: ✅ 4.281µs (SLO: <10.000µs 📉 -57.2%) vs baseline: -0.6% Memory: ✅ 42.526MB (SLO: <43.500MB -2.2%) vs baseline: +4.6% ✅ ospathjoin_aspectTime: ✅ 6.221µs (SLO: <10.000µs 📉 -37.8%) vs baseline: -0.7% Memory: ✅ 42.605MB (SLO: <43.500MB -2.1%) vs baseline: +5.1% ✅ ospathjoin_noaspectTime: ✅ 6.346µs (SLO: <10.000µs 📉 -36.5%) vs baseline: +0.6% Memory: ✅ 42.507MB (SLO: <43.500MB -2.3%) vs baseline: +4.8% ✅ ospathnormcase_aspectTime: ✅ 3.584µs (SLO: <10.000µs 📉 -64.2%) vs baseline: -1.2% Memory: ✅ 42.566MB (SLO: <43.500MB -2.1%) vs baseline: +4.9% ✅ ospathnormcase_noaspectTime: ✅ 3.619µs (SLO: <10.000µs 📉 -63.8%) vs baseline: -0.5% Memory: ✅ 42.625MB (SLO: <43.500MB -2.0%) vs baseline: +5.0% ✅ ospathsplit_aspectTime: ✅ 4.926µs (SLO: <10.000µs 📉 -50.7%) vs baseline: ~same Memory: ✅ 42.467MB (SLO: <43.500MB -2.4%) vs baseline: +4.6% ✅ ospathsplit_noaspectTime: ✅ 5.010µs (SLO: <10.000µs 📉 -49.9%) vs baseline: -0.7% Memory: ✅ 42.585MB (SLO: <43.500MB -2.1%) vs baseline: +5.1% ✅ ospathsplitdrive_aspectTime: ✅ 3.786µs (SLO: <10.000µs 📉 -62.1%) vs baseline: +0.7% Memory: ✅ 42.625MB (SLO: <43.500MB -2.0%) vs baseline: +5.1% ✅ ospathsplitdrive_noaspectTime: ✅ 0.743µs (SLO: <10.000µs 📉 -92.6%) vs baseline: -0.1% Memory: ✅ 42.585MB (SLO: <43.500MB -2.1%) vs baseline: +5.1% ✅ ospathsplitext_aspectTime: ✅ 4.604µs (SLO: <10.000µs 📉 -54.0%) vs baseline: ~same Memory: ✅ 42.546MB (SLO: <43.500MB -2.2%) vs baseline: +4.7% ✅ ospathsplitext_noaspectTime: ✅ 4.641µs (SLO: <10.000µs 📉 -53.6%) vs baseline: -0.3% Memory: ✅ 42.585MB (SLO: <43.500MB -2.1%) vs baseline: +4.9% 📈 telemetryaddmetric - 30/30✅ 1-count-metric-1-timesTime: ✅ 3.366µs (SLO: <20.000µs 📉 -83.2%) vs baseline: 📈 +13.8% Memory: ✅ 34.878MB (SLO: <35.500MB 🟡 -1.8%) vs baseline: +4.8% ✅ 1-count-metrics-100-timesTime: ✅ 199.938µs (SLO: <220.000µs -9.1%) vs baseline: +0.1% Memory: ✅ 34.859MB (SLO: <35.500MB 🟡 -1.8%) vs baseline: +4.8% ✅ 1-distribution-metric-1-timesTime: ✅ 3.331µs (SLO: <20.000µs 📉 -83.3%) vs baseline: +1.3% Memory: ✅ 34.937MB (SLO: <35.500MB 🟡 -1.6%) vs baseline: +5.2% ✅ 1-distribution-metrics-100-timesTime: ✅ 213.959µs (SLO: <230.000µs -7.0%) vs baseline: ~same Memory: ✅ 34.859MB (SLO: <35.500MB 🟡 -1.8%) vs baseline: +5.0% ✅ 1-gauge-metric-1-timesTime: ✅ 2.194µs (SLO: <20.000µs 📉 -89.0%) vs baseline: ~same Memory: ✅ 34.859MB (SLO: <35.500MB 🟡 -1.8%) vs baseline: +4.8% ✅ 1-gauge-metrics-100-timesTime: ✅ 136.910µs (SLO: <150.000µs -8.7%) vs baseline: -0.4% Memory: ✅ 34.918MB (SLO: <35.500MB 🟡 -1.6%) vs baseline: +5.2% ✅ 1-rate-metric-1-timesTime: ✅ 3.130µs (SLO: <20.000µs 📉 -84.4%) vs baseline: +0.5% Memory: ✅ 34.819MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +4.7% ✅ 1-rate-metrics-100-timesTime: ✅ 213.569µs (SLO: <250.000µs 📉 -14.6%) vs baseline: +0.3% Memory: ✅ 34.839MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +4.9% ✅ 100-count-metrics-100-timesTime: ✅ 19.979ms (SLO: <22.000ms -9.2%) vs baseline: ~same Memory: ✅ 34.918MB (SLO: <35.500MB 🟡 -1.6%) vs baseline: +5.5% ✅ 100-distribution-metrics-100-timesTime: ✅ 2.255ms (SLO: <2.550ms 📉 -11.6%) vs baseline: +0.5% Memory: ✅ 34.918MB (SLO: <35.500MB 🟡 -1.6%) vs baseline: +4.9% ✅ 100-gauge-metrics-100-timesTime: ✅ 1.411ms (SLO: <1.550ms -9.0%) vs baseline: ~same Memory: ✅ 34.898MB (SLO: <35.500MB 🟡 -1.7%) vs baseline: +5.0% ✅ 100-rate-metrics-100-timesTime: ✅ 2.182ms (SLO: <2.550ms 📉 -14.4%) vs baseline: -0.3% Memory: ✅ 34.859MB (SLO: <35.500MB 🟡 -1.8%) vs baseline: +4.8% ✅ flush-1-metricTime: ✅ 4.561µs (SLO: <20.000µs 📉 -77.2%) vs baseline: -0.2% Memory: ✅ 34.878MB (SLO: <35.500MB 🟡 -1.8%) vs baseline: +5.0% ✅ flush-100-metricsTime: ✅ 174.907µs (SLO: <250.000µs 📉 -30.0%) vs baseline: -0.2% Memory: ✅ 35.252MB (SLO: <35.500MB 🟡 -0.7%) vs baseline: +5.2% ✅ flush-1000-metricsTime: ✅ 2.172ms (SLO: <2.500ms 📉 -13.1%) vs baseline: -0.4% Memory: ✅ 36.058MB (SLO: <36.500MB 🟡 -1.2%) vs baseline: +4.8% 🟡 Near SLO Breach (16 suites)🟡 coreapiscenario - 10/10 (1 unstable)
|
d2c3cf4 to
27d832b
Compare
a4bda51 to
42d186c
Compare
27d832b to
a4eaacc
Compare
575ed27 to
ce8ed74
Compare
ab23500 to
ea4d2c8
Compare
8ee9505 to
b6f9cd4
Compare
6cc15a8 to
b522376
Compare
63ab520 to
c111f68
Compare
950abe3 to
9d0af43
Compare
Codeowners resolved as |
c111f68 to
dd30b02
Compare
9d0af43 to
b516f25
Compare
dd30b02 to
034c4f9
Compare

Description
Add user intent capture to tools as an opt-in feature per the design in the tech spec.
The same functionality as the other SDKs DataDog/dd-trace-go#4209 and DataDog/dd-trace-go#4123
In summary, this means modifying the tool schemas to add an intent parameter for the client to pass, then recording that value on the span.
Because this is visible to users and mutates the schema and data, it's opt-in.
Testing
Ensured the intent does come through on the span
Risks
Unlike most tracers, this does mutate data which could lead to unexpected behavior for the server or client.
Additional Notes