Skip to content

feat(benchmark-scripts): add smart-kiosk v2v benchmark orchestrator - #253

Open
sainijit wants to merge 4 commits into
intel-retail:mainfrom
sainijit:performance-improvement
Open

sainijit wants to merge 4 commits into
intel-retail:mainfrom
sainijit:performance-improvement

Conversation

@sainijit

Copy link
Copy Markdown
Contributor

PR Checklist

  • Added label to the Pull Request for easier discoverability and search
  • Commit Message meets guidelines as indicated in the URL https://github.com/intel-retail/performance-tools/blob/main/CONTRIBUTING.md
  • Every commit is a single defect fix and does not mix feature addition or changes
  • Unit Tests have been added for new changes
  • Updated Documentation as relevant to the changes
  • All commented code has been removed
  • If you've added a dependency, you've ensured license is compatible with repository license and clearly outlined the added dependency.
  • PR change contains code related to security
  • PR introduces changes that breaks compatibility with other modules (If YES, please provide details below)

What are you changing?

Issue this PR will close

close: #issue_number

Anything the reviewer should know when reviewing this PR?

Test Instructions if applicable

If the there are associated PRs in other repositories, please link them here (i.e. intel-retail/performance-tools )

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
sachinkaushik
sachinkaushik previously approved these changes Sep 22, 2026
saikiransayabugari and others added 3 commits October 6, 2026 15:36
…d mark

The orchestrator always passed --explicit-end-mark, so the harness told
kiosk-core when each turn ended. Endpointing delay is part of voice-to-voice
latency and part of what a hands-free customer waits through, so forcing it
out of the measurement made the published number structurally unable to show
it.

Natural endpointing is now the default. --explicit_end_mark is still
available for isolating processing latency, but it is opt-in and documented
as excluding endpointing.

DEFAULT_RUNS drops from 12 to 8 so that the default sweep over all scripted
conversations lands on a turn count that supports a p95.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Supports voice-enabled-interactions PR intel-retail#112 review item 13.

kiosk-core now stamps every turn with one stable stream id instead of the
per-turn session_id, so consolidated_metrics.csv collapses from one
"Based on 1 total calls" row per turn against an opaque UUID into the single
aggregate row the consolidator exists to produce.

That breaks this script's own collector, which stored one timestamp per id and
would have reported a single transaction for the whole run, so pair events as
a stack instead: sort by timestamp and match each end to the most recent
unmatched start. This also still handles the older per-turn ids.

kiosk-core emits for every completed turn, including the discarded warmup --
production instrumentation has no concept of a warmup. This script already
filtered those out of its own summary via since_ms, but consolidate-metrics
reads the logs directly and was averaging warmup turns in. Prune them once the
stack is down (they cannot be rewritten while kiosk-core holds them open
through a RotatingFileHandler), keeping the unfiltered original as
*.txt.with-warmup -- deliberately not .txt, so the consolidator's glob does
not pick it back up.

Verified on an 88-turn run: 99 paired transactions before pruning, 88 after,
consolidating to one aggregate row.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Supports voice-enabled-interactions PR intel-retail#112 review item 18.

The metrics-collector samples CPU, GPU, NPU and memory for the whole time the
stack is up -- image pulls, the health wait, the discarded warmup, teardown --
so an average over the raw counter files describes a mostly-idle stack rather
than the turns being measured.

Write results/measured_window.json with the epoch-ms span the measured turns
ran over, which the application's scripts/trim_metrics_to_window.py uses to
narrow those files before consolidating. Best-effort: failing to write it
leaves the counters un-trimmed, which is the previous behaviour rather than a
failed run.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants