Skip to content

refactor(analyzer): convert FsmCollection to associated-type form - #256

Merged
rapids-bot[bot] merged 1 commit into
rapidsai:mainfrom
johanpel:pr-fsm-collection
Jun 25, 2026
Merged

refactor(analyzer): convert FsmCollection to associated-type form#256
rapids-bot[bot] merged 1 commit into
rapidsai:mainfrom
johanpel:pr-fsm-collection

Conversation

@johanpel

@johanpel johanpel commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Description

Replace FsmCollection<F, T> with a single associated type Fsm, and drop the
uncalled contains_fsm_type. Lets a collection expose exactly one FSM type and
unblocks bounding generic code on it. No behavior change.

🤖 Generated with Claude Code

Related Issues

Part of #214, split off from #240

@johanpel johanpel added non-breaking Introduces a non-breaking change improvement Improves an existing functionality labels Jun 25, 2026
@johanpel
johanpel marked this pull request as ready for review June 25, 2026 09:58
@johanpel johanpel self-assigned this Jun 25, 2026
Comment thread crates/analyzer/src/fsm/collection.rs Outdated
Replace the FsmCollection<F, T> type parameters with a single associated
`type Fsm`, so a collection exposes exactly one FSM type (an application with
several kinds unifies them under one enum). Drop the unused contains_fsm_type
method. Also drop the now-redundant T parameter from InMemoryFsms (it was only
used in bounds; Fsm::TransitionType already carries the Transition bound), so
its impls need just `F: Fsm`. Update the InMemoryFsms and SimulatorModel impls.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@johanpel
johanpel force-pushed the pr-fsm-collection branch from e7e0af5 to 3d4b1fb Compare June 25, 2026 12:41
@johanpel

Copy link
Copy Markdown
Contributor Author

/merge

@rapids-bot
rapids-bot Bot merged commit 7f391d7 into rapidsai:main Jun 25, 2026
10 checks passed
@johanpel
johanpel deleted the pr-fsm-collection branch June 25, 2026 12:55
rapids-bot Bot pushed a commit that referenced this pull request Jul 13, 2026
# Description

Adds `POST /api/engines/{engine_id}/entities`: a paginated query listing a
query's FSM entities ranked by longest resource-usage span (tiebroken by UUID),
to back the UI's long-entities view. Additive — no timeline changes.

Request: optional scope (resource / group), query-relative window, filters
(`entity_type_name`, `min_usage_s`), sort, page, and a per-query `OperatorFilter`.
Contract lives in `quent-ui`; a generic `entities::list_entities` ranks any
`FsmCollection` FSM, with operator filtering applied by the analyzer (kept out of
the generic filter).

Functional test over the fixed scenario captures events in memory via
`CallbackExporter` and reconstructs them with a new
`quent-simulator-instrumentation::test_utils` helper.

Depends on #256 and #257 (merged).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

## Related Issues

Part of #214, isolated from #240

Authors:
  - Johan Peltenburg (https://github.com/johanpel)

Approvers:
  - Dhruv Vats (https://github.com/dhruv9vats)

URL: #258
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improves an existing functionality non-breaking Introduces a non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants