Repository navigation
Conversation
This branch has not been deployed
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.
What Changed
MET-536: make OSS
/v1/callstraverse page-ending timestamp ties completely, using the unique database call identity rather than trace IDs. First OSS PR in P-MET-28, targetsmainat323fd3fbdbc84460b6bc63a8b1800e3e402f42e3.How It Works
Add opaque
cursorandpage:{next_cursor,has_more,limit}, retainingitemsunchanged. Order by(ts desc,id desc)with tuple continuation and boundedlimit+1lookahead. Cursor binds the OSS profile and environment/untagged/route/function filters; bearer auth still applies. Invalid/mismatched cursors and cursor+before return 400 before DB access. Preserve legacy timestamp-onlybefore; document migration and rollback limits.Coordinate with internal MET-536 / PR #999, based on MET-535 / internal PR #998. They share semantics but retain separate auth/profile scopes. No cross-repository Git ancestry or runtime dependency. Deploy additive servers before migrating paginating clients. No core/pricing, ingest transport or dashboard code changes.
QA Overview
uv pip install --python /private/tmp/met536-oss-venv/bin/python -e './core[dev]' -e './server[dev]'.MG_TEST_DATABASE_URL=<isolated disposable DB> /private/tmp/met536-oss-venv/bin/python -m pytest -q core/tests server/tests: 859 passed. New cursor/filter focused suite: 16 passed. Changed-file Ruff 0.15.21 and diff checks passed.mg-met536-oss-6d3f95a3, temporary loopback port override. Native synthetic ingest + real HTTP/DB: nine expected calls over five pages, seven tied timestamps with repeated trace IDs; route/function/environment distractors excluded; four invalid cursor/filter combinations return 400; legacy before returns only older call.poll_rowsat source2ad59c449ee36f48ea0ddd6c092d81af564aa7c4, file SHA2560ef2c8827d40f36dedc1117a448adbb43ea4c9888dc51c470e87b5fe7e883275, reads six expected synthetic rows with additive metadata. Zero provider calls. Existing OSS function detail consumesitems.