Repository navigation
feat(chart): krateo-sse-proxy 0.1.14 — image 1.1.8, the map-only events predicate - #67
Merged
Merged
Conversation
…ts predicate The /events composition predicate is now ONE indexed map lookup (sse-proxy#20/#22). 0.1.13's tokenbf prefilter pruned the scan ~1.7x but left the JSONExtractString half parsing every surviving row; removing it takes the pathological 0-row case from 18.49s to 0.42s (medians, shipped SELECT shape, 3 interleaved rounds, against a 1.33s unfiltered control). Safe because otel-collector#11 returns a root composition's own metadata.uid as its composition-id, so a composition's OWN reconcile events are labelled too: 1,612 of devday-milan's 1,613 own events over 12h on krateo-057. COST, recorded next to the version so it is not lost: rows written while composition-id stamping was broken have no label and are now invisible to the panel. That decay is fixed going forward by otel-collector 1.0.4 (#22/#24), but affected rows persist for otel_logs' 7-day TTL. Concentrated on components rolled during the window (v1-12-42 0/8, v0-3-413 0/6), not on long-lived compositions (v0-1-0 3224/3225, v0-3-0 8159/8165). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TKr1VTGULAn529wFiLdkpf
braghettos
added a commit
that referenced
this pull request
Oct 14, 2026
… cursor and windowed /events (#69) The poll cursor no longer wraps Timestamp in a function. Per poll, EXPLAIN goes from 53 parts / 731 granules to 1 part / 1 granule, which frees ~3.25 of ClickHouse's 4 cores on krateo-057. /events tries the newest window first and returns results identical to the unbounded query (sse-proxy#25/#26; reviewer-small PASS). values.yaml image.tag is bumped together with appVersion, as in #65 and #67. The pinned tag takes precedence over the .Chart.AppVersion default, so an appVersion-only bump would keep rendering 1.1.8. Claude-Session: https://claude.ai/code/session_01EzZ1gXDHbHVhPh2bbE8yfi Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ships sse-proxy 1.1.8, which completes sse-proxy#20.
0.1.13shipped thetokenbfprefilter (~1.7×, an ~870ms floor).1.1.8removes theJSONExtractStringhalf entirely, so the/eventscomposition predicate becomes one indexed map lookup covered by the existingidx_log_attr_valuebloom:Measured on krateo-057
Shipped SELECT shape,
FORMAT Null, medians of 3 interleaved rounds:ORThe 0-row case was the pathological one — nothing early-exits at
LIMIT 200.Browser-side, a3 measured the events widgets at 3.8–4.1 s post-
1.1.7, against every snowplow-served widget on the same page at 91 ms median. These two widgets are the entire gap between the composition-detail page and the 1 s cold bar.Why it is safe
otel-collector#11 made
resolveFromK8sreturn a root composition's ownmetadata.uidas its composition-id, so a composition's own reconcile events are labelled like its children's. Measured: 1,612 of devday-milan's 1,613 own events over 12h carried the label.The cost, recorded next to the version
Rows written while composition-id stamping was broken have no label and are now invisible to the panel. That decay is fixed going forward by otel-collector 1.0.4, but affected rows persist for
otel_logs' 7-day TTL:v0-1-0v0-3-0v1-12-42v0-3-413So the loss is concentrated on components rolled during the decay window, not on the long-lived compositions that appear in demos.
Still unproven: otel-collector#24 itself. The roll of this chart mints
composition.krateo.io/v0-1-14— the first group/version created while the current collector pod has been running — which is the first non-vacuous test of it.🤖 Generated with Claude Code
https://claude.ai/code/session_01TKr1VTGULAn529wFiLdkpf