-
Notifications
You must be signed in to change notification settings - Fork 469
feat(langchain): add support for tracing RunnableLambda
#15477
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
…langchain-more-runnables
|
|
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 244 ± 2 ms. The average import time from base is: 246 ± 2 ms. The import time difference between this PR and base is: -2.68 ± 0.09 ms. Import time breakdownThe following import paths have shrunk:
|
Performance SLOsComparing candidate sabrenner/langchain-more-runnables (416d00a) with baseline main (17570f8) 📈 Performance Regressions (2 suites)📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 5.164µs (SLO: <10.000µs 📉 -48.4%) vs baseline: 📈 +25.1% Memory: ✅ 40.226MB (SLO: <41.000MB 🟡 -1.9%) vs baseline: +4.7% ✅ ospathbasename_noaspectTime: ✅ 1.081µs (SLO: <10.000µs 📉 -89.2%) vs baseline: -0.7% Memory: ✅ 40.324MB (SLO: <41.000MB 🟡 -1.6%) vs baseline: +5.1% ✅ ospathjoin_aspectTime: ✅ 6.153µs (SLO: <10.000µs 📉 -38.5%) vs baseline: -0.3% Memory: ✅ 40.403MB (SLO: <41.000MB 🟡 -1.5%) vs baseline: +5.2% ✅ ospathjoin_noaspectTime: ✅ 2.287µs (SLO: <10.000µs 📉 -77.1%) vs baseline: +0.3% Memory: ✅ 40.069MB (SLO: <41.000MB -2.3%) vs baseline: +4.5% ✅ ospathnormcase_aspectTime: ✅ 3.437µs (SLO: <10.000µs 📉 -65.6%) vs baseline: +0.2% Memory: ✅ 40.167MB (SLO: <41.000MB -2.0%) vs baseline: +4.7% ✅ ospathnormcase_noaspectTime: ✅ 0.572µs (SLO: <10.000µs 📉 -94.3%) vs baseline: -0.4% Memory: ✅ 40.246MB (SLO: <41.000MB 🟡 -1.8%) vs baseline: +4.7% ✅ ospathsplit_aspectTime: ✅ 4.735µs (SLO: <10.000µs 📉 -52.7%) vs baseline: -0.4% Memory: ✅ 40.324MB (SLO: <41.000MB 🟡 -1.6%) vs baseline: +5.1% ✅ ospathsplit_noaspectTime: ✅ 1.592µs (SLO: <10.000µs 📉 -84.1%) vs baseline: +0.5% Memory: ✅ 40.246MB (SLO: <41.000MB 🟡 -1.8%) vs baseline: +4.9% ✅ ospathsplitdrive_aspectTime: ✅ 3.613µs (SLO: <10.000µs 📉 -63.9%) vs baseline: -1.2% Memory: ✅ 40.285MB (SLO: <41.000MB 🟡 -1.7%) vs baseline: +4.9% ✅ ospathsplitdrive_noaspectTime: ✅ 0.695µs (SLO: <10.000µs 📉 -93.1%) vs baseline: ~same Memory: ✅ 40.285MB (SLO: <41.000MB 🟡 -1.7%) vs baseline: +4.8% ✅ ospathsplitext_aspectTime: ✅ 4.560µs (SLO: <10.000µs 📉 -54.4%) vs baseline: +1.1% Memory: ✅ 40.167MB (SLO: <41.000MB -2.0%) vs baseline: +4.1% ✅ ospathsplitext_noaspectTime: ✅ 1.380µs (SLO: <10.000µs 📉 -86.2%) vs baseline: +0.5% Memory: ✅ 40.206MB (SLO: <41.000MB 🟡 -1.9%) vs baseline: +4.7% 📈 telemetryaddmetric - 30/30✅ 1-count-metric-1-timesTime: ✅ 3.393µs (SLO: <20.000µs 📉 -83.0%) vs baseline: 📈 +15.7% Memory: ✅ 34.800MB (SLO: <35.500MB 🟡 -2.0%) vs baseline: +5.1% ✅ 1-count-metrics-100-timesTime: ✅ 200.564µs (SLO: <220.000µs -8.8%) vs baseline: -0.9% Memory: ✅ 34.839MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +5.3% ✅ 1-distribution-metric-1-timesTime: ✅ 3.265µs (SLO: <20.000µs 📉 -83.7%) vs baseline: -1.2% Memory: ✅ 34.800MB (SLO: <35.500MB 🟡 -2.0%) vs baseline: +4.9% ✅ 1-distribution-metrics-100-timesTime: ✅ 217.818µs (SLO: <230.000µs -5.3%) vs baseline: +0.4% Memory: ✅ 34.760MB (SLO: <35.500MB -2.1%) vs baseline: +5.2% ✅ 1-gauge-metric-1-timesTime: ✅ 2.136µs (SLO: <20.000µs 📉 -89.3%) vs baseline: -1.4% Memory: ✅ 34.741MB (SLO: <35.500MB -2.1%) vs baseline: +4.8% ✅ 1-gauge-metrics-100-timesTime: ✅ 136.369µs (SLO: <150.000µs -9.1%) vs baseline: -0.2% Memory: ✅ 34.819MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +5.3% ✅ 1-rate-metric-1-timesTime: ✅ 3.079µs (SLO: <20.000µs 📉 -84.6%) vs baseline: ~same Memory: ✅ 34.741MB (SLO: <35.500MB -2.1%) vs baseline: +4.7% ✅ 1-rate-metrics-100-timesTime: ✅ 214.920µs (SLO: <250.000µs 📉 -14.0%) vs baseline: -0.1% Memory: ✅ 34.918MB (SLO: <35.500MB 🟡 -1.6%) vs baseline: +5.0% ✅ 100-count-metrics-100-timesTime: ✅ 20.375ms (SLO: <22.000ms -7.4%) vs baseline: +0.2% Memory: ✅ 34.800MB (SLO: <35.500MB 🟡 -2.0%) vs baseline: +5.0% ✅ 100-distribution-metrics-100-timesTime: ✅ 2.281ms (SLO: <2.300ms 🟡 -0.8%) vs baseline: +0.3% Memory: ✅ 34.859MB (SLO: <35.500MB 🟡 -1.8%) vs baseline: +5.1% ✅ 100-gauge-metrics-100-timesTime: ✅ 1.407ms (SLO: <1.550ms -9.2%) vs baseline: +0.7% Memory: ✅ 34.760MB (SLO: <35.500MB -2.1%) vs baseline: +4.9% ✅ 100-rate-metrics-100-timesTime: ✅ 2.227ms (SLO: <2.550ms 📉 -12.7%) vs baseline: +0.5% Memory: ✅ 34.780MB (SLO: <35.500MB -2.0%) vs baseline: +5.1% ✅ flush-1-metricTime: ✅ 4.693µs (SLO: <20.000µs 📉 -76.5%) vs baseline: +0.4% Memory: ✅ 35.055MB (SLO: <35.500MB 🟡 -1.3%) vs baseline: +5.6% ✅ flush-100-metricsTime: ✅ 174.586µs (SLO: <250.000µs 📉 -30.2%) vs baseline: -0.6% Memory: ✅ 35.154MB (SLO: <35.500MB 🟡 -1.0%) vs baseline: +4.9% ✅ flush-1000-metricsTime: ✅ 2.170ms (SLO: <2.500ms 📉 -13.2%) vs baseline: -0.3% Memory: ✅ 35.960MB (SLO: <36.500MB 🟡 -1.5%) vs baseline: +4.8% 🟡 Near SLO Breach (16 suites)🟡 coreapiscenario - 10/10 (1 unstable)
|
ncybul
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! I left a few comments but nothing major, so I will go ahead and approve. Feel free to ping me if you'd like another look or have questions about any of the comments.
releasenotes/notes/langchain-runnable-lambda-cec8e99164d081d1.yaml
Outdated
Show resolved
Hide resolved
) ## Description One of the tests added in #15477 asserts a list of span links, but since we only care about content and not order, asserting the raw lists sometimes flaked if the list was out of order (which doesn't matter for span links). so instead, since we cannot hash them into a set because they're dicts, we assert one expected element at a time. ## Testing updating the test itself, will check on the health of it after it merges ## Risks none, passed still locally
Description
Adds APM and LLM Observability support for tracing
RunnableLambdaoperations. Additionally, makes sure span linking happens automatically as well.Testing
Added unit tests, verified locally as well.
Risks
None.