Skip to content

docs: align architecture.md terminology with the data layer#2084

Merged
elevran merged 3 commits into
llm-d:mainfrom
chethanuk:fix/issue-1307-arch-docs
Jul 22, 2026
Merged

docs: align architecture.md terminology with the data layer#2084
elevran merged 3 commits into
llm-d:mainfrom
chethanuk:fix/issue-1307-arch-docs

Conversation

@chethanuk

Copy link
Copy Markdown
Contributor

What type of PR is this?

/kind documentation

What this PR does / why we need it:

docs/architecture.md described a "Scrapers" component that no longer exists in the
code; the metrics-collection subsystem is now the Data Layer (data sources plus
extractors under pkg/epp/framework/plugins/datalayer/**). This addresses #1307 by
aligning the doc's terminology and cross-links with the current code and the upstream
llm-d/llm-d architecture docs:

  • Rename the stale "Scrapers" references to the Data Layer (Table of Contents and
    section heading, Overview, Core Goals, Routing Flow).
  • Describe the data layer's actual lifecycle:
flowchart LR
    S[Data Sources<br/>collect raw signals from pods] --> E[Extractors<br/>transform into typed attributes]
    E --> A[Endpoint attributes<br/>in the shared datastore]
    A --> Sc[Scorers read attributes]
Loading
  • Add a "Canonical llm-d architecture (upstream)" reference list plus inline "see
    upstream canonical" pointers (scheduling, configuration, datalayer).

Scope decision: this PR does the terminology + upstream-links alignment as one
coherent unit. Deeper content reconciliation the issue could also be read to want -
the single-InferencePool/single-EPP "Current Assumptions", the routing-flow
narrative versus upstream scheduling.md, and the config examples - is deliberately
left out. Those are substantive and, in the single-pool case, currently accurate for
this repo's code, so they warrant separate discussion rather than a blind rewrite to
match upstream prose. Divergences that are correct for this repo (default-parser
list, flow-control policy names) were re-verified against local code and left
unchanged.

Which issue(s) this PR fixes:

Part of #1307

Release note (write NONE if no user-facing change):

NONE

The architecture doc referred to a Scrapers component that no longer
exists; the metrics subsystem is the Data Layer (data sources plus
extractors). Rename the stale Scrapers references, describe the
Source -> Extract -> Attribute lifecycle, and link the canonical
upstream llm-d architecture docs the review comment pointed at.

Refs: llm-d#1307
Signed-off-by: ChethanUK <chethanuk@outlook.com>
The section body describes the data layer's Source -> Extract -> Attribute
lifecycle, but its heading and table-of-contents entry still read Metric
Scraping alone, leaving the last stale reference after the Scrapers -> Data
Layer rename. Update the heading and its TOC anchor to match.

Signed-off-by: ChethanUK <chethanuk@outlook.com>
@chethanuk
chethanuk requested a review from a team as a code owner July 19, 2026 14:15
@chethanuk
chethanuk requested review from ahg-g and elevran July 19, 2026 14:15
@github-actions github-actions Bot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. kind/documentation Categorizes issue or PR as related to documentation. labels Jul 19, 2026
Comment thread docs/architecture.md Outdated

- Scrapers collect metrics (e.g., memory usage, active adapters)
- Data is injected into the shared datastore for scorers
- Data sources collect metrics (e.g., memory usage, active adapters) from pods

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nits:
From an architecture perspective, the data sources periodicallt collect different kinds of data, not only metrics.
For example a models data source periodically lists /v1/models to determine the model/LoRA hosted by the engine.
The data layer defines several different types of source, not just "scarpers". There is an endpoint change notification source, a generic k8s change notification source, an endpoint discovery source, ...
Not sure how detailed this doc needs to be.

elevran
elevran previously approved these changes Jul 20, 2026

@elevran elevran left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/approve
/hold for nits

@elevran elevran self-assigned this Jul 20, 2026
@elevran

elevran commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

@chethanuk would you like to address the nits or should we merge as is (please cancel the hold to indicate)?

Review feedback on llm-d#2084: sources also poll served models via /v1/models
and include notification-based types, not only metric scrapers.

Signed-off-by: ChethanUK <chethanuk@outlook.com>
@elevran
elevran enabled auto-merge (squash) July 22, 2026 13:50
@elevran
elevran merged commit efb4db5 into llm-d:main Jul 22, 2026
29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/documentation Categorizes issue or PR as related to documentation. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants