Skip to content

Commit 1e733bf

Browse files
authored
Merge pull request #208 from perftool-incubator/feat-cpu-cache-domain-schema
2 parents 9cf7337 + cec90a0 commit 1e733bf

3 files changed

Lines changed: 9 additions & 0 deletions

File tree

CLAUDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ Supporting document types: `param`, `tag`, `config_*`
4141
- `.base` files define index mappings for each document type
4242
- `build.sh` / `Makefile` generate actual template commands
4343
- `init.sh` initializes the OpenSearch indices
44+
- All indices are `"dynamic": "strict"` — every `metric_desc.names` breakout dimension a tool/benchmark might emit must be pre-registered as an explicit `keyword`/`double` field in `metric_desc.base`, or indexing rejects it. `dynamic_templates` do NOT provide an exception to this (verified empirically) — a field matching a `dynamic_templates` glob is rejected exactly like any other unregistered field under `"dynamic": "strict"`. A dimension family with an unbounded/platform-dependent set of names (e.g. one field per CPU cache level) still needs each concrete name registered explicitly (e.g. `shared-l1-domain` .. `shared-l4-domain`) rather than a wildcard shortcut.
4445

4546
## Code Style
4647
- JavaScript: Prettier formatting enforced (2-space indent, checked in CI via `cdm-ci.yaml`)

queries/cdmq/cdm.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,10 @@ indexDefs['v8dev']['metric_desc']['mappings']['properties']['metric_desc'] = {
278278
mode: { type: 'keyword' },
279279
socket: { type: 'keyword' },
280280
domain: { type: 'keyword' },
281+
'shared-l1-domain': { type: 'keyword' },
282+
'shared-l2-domain': { type: 'keyword' },
283+
'shared-l3-domain': { type: 'keyword' },
284+
'shared-l4-domain': { type: 'keyword' },
281285
cluster: { type: 'keyword' },
282286
container: { type: 'keyword' },
283287
cgroup: { type: 'keyword' },

templates/metric_desc.base

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@
4848
"mode": { "type": "keyword" },
4949
"socket": { "type": "keyword" },
5050
"domain": { "type": "keyword" },
51+
"shared-l1-domain": { "type": "keyword" },
52+
"shared-l2-domain": { "type": "keyword" },
53+
"shared-l3-domain": { "type": "keyword" },
54+
"shared-l4-domain": { "type": "keyword" },
5155
"cluster": { "type": "keyword" },
5256
"container": { "type": "keyword" },
5357
"cgroup": { "type": "keyword" },

0 commit comments

Comments
 (0)