You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by "wu-sheng (via GitHub)" <gi...@apache.org> on 2026/09/26 02:47:26 UTC
[PR] Name LangChain files for their header's time, and keep a stream's origins in one order [skywalking-ai-sessionizer]
wu-sheng opened a new pull request, #45:
URL: https://github.com/apache/skywalking-ai-sessionizer/pull/45
The OAP's Java view builder must produce the same `asz.view` document as asz for the same files. Comparing the two on real landed files found two bugs in asz itself:
- **A LangChain file was named apart from its header's time.** The LangChain collector read the clock once per pass for the file's name, and once per file for the collected time `at` in its header. A server that stores files by session and sequence names a file from its header, as the OAP does, so it named every LangChain file differently from asz. On a real root, all 50 LangChain files differed, by up to 99 milliseconds. None of the 7,185 Claude Code files did. One time now serves the pass, as in every other adapter. Files landed before this keep their names, because landed files are never rewritten.
- **A stream's `opened_by` changed from one read to the next.** It was built by ranging over the fold's relations, a Go map. So a stream with several candidate origins listed them in a different order on each read: five reads of a real conversation gave three orders. They are now in relation id order, as the `relations` list is.
Tests:
- `TestAFileIsNamedForTheTimeItsHeaderSays` lands a real LangChain capture with a clock that moves on every read. It fails with either half of the collector fix undone, the transcript files or the body files.
- `TestAStreamsOriginsKeepOneOrder` renders a stream with three origins 50 times. It fails on the first render without the sort.
After both fixes, the OAP's documents equal asz's on every real conversation whose files were landed after the fix:
- 8 real Claude Code 2.1.282 sessions with calls to real MCP servers, recorded by the plugin;
- 21 LangChain conversations from the real client captures.
On the older real root, 60 of 65 are identical. The other 5 differ only in the names of LangChain files landed before the fix.
`make check` passes.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Name LangChain files for their header's time, and keep a stream's origins in one order [skywalking-ai-sessionizer]
Posted by "wu-sheng (via GitHub)" <gi...@apache.org>.
wu-sheng merged PR #45:
URL: https://github.com/apache/skywalking-ai-sessionizer/pull/45
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@skywalking.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org