Multitenancy support: basic CPU/Memory limits, tenant identifiers, limiter extensions#3583
Multitenancy support: basic CPU/Memory limits, tenant identifiers, limiter extensions#3583jmacd wants to merge 7 commits into
Conversation
Copyedits and clarifications: - add Scope, Engine tenancy support, and Cardinality limits sections - add a paragraph on limiter-bucket condition evaluation - fix "over cardinality" typo and "share a pipeline" -> "share pipeline" Rename agent-multitenancy-design.md -> multitenancy-design.md and agent-multitenancy-diagram.svg -> multitenancy-diagram.svg, updating the diagram embed reference. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Pull request dashboard statusStatus last refreshed: 2026-07-25 22:03:13 UTC.
This automated status or its linked feedback items may be incorrect. If something looks wrong, please report it with the result you expected. If you believe this pull request is incorrectly routed as waiting on the author, comment |
There was a problem hiding this comment.
Pull request overview
Adds a set of design documents for multitenancy in the OTAP dataflow engine, covering tenant identification (“tenant tokens”), limiter policy configuration, and memory-management concepts, plus supporting diagrams.
Changes:
- Introduces a multitenancy overview doc and three focused design docs: tenant identity, limiter policies, and memory management.
- Adds two SVG diagrams to illustrate tenant-token request flow and regulated memory accounting.
- Documents example YAML configuration patterns for CPU/memory policies and conditional tenant-based limiter behavior.
Reviewed changes
Copilot reviewed 4 out of 6 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| rust/otap-dataflow/docs/multitenancy-tenant.md | New design doc for tenant token extraction, propagation, and condition lookup model. |
| rust/otap-dataflow/docs/multitenancy-tenant-diagram.svg | Diagram for request-context/token resolution and limiter flow. |
| rust/otap-dataflow/docs/multitenancy-overview.md | New overview doc linking to the detailed multitenancy design docs; includes CPU policy examples. |
| rust/otap-dataflow/docs/multitenancy-memory.md | New design doc for memory regulation concepts and example configuration. |
| rust/otap-dataflow/docs/multitenancy-memory-diagram.svg | Diagram illustrating regulated vs unaccounted memory and configured limits. |
| rust/otap-dataflow/docs/multitenancy-limiters.md | New design doc for rate/resource limiter policy schema, tenancy conditions, and operational behavior. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3583 +/- ##
==========================================
+ Coverage 86.23% 86.75% +0.51%
==========================================
Files 739 784 +45
Lines 292355 319867 +27512
==========================================
+ Hits 252116 277502 +25386
- Misses 39715 41841 +2126
Partials 524 524
🚀 New features to boost your workflow:
|
Change Summary
Replaces #3389, incorporating the feedback.
This is better aligned with dataflow engine Policies framework.
Major renaming:
tenant_tokeninstead oftenant_descriptorextractorsinstead ofactionsThe existing document was split into two parts, the -tenants.md and -limiters.md documents.
A new document on memory management policies is added, and a new overview links to the other three.
What issue does this PR close?
Closes Design and implement logical retained-work memory budgeting #3272
Closes Pipeline physical resource limits #1245
This is a documentation-only PR.