Skip to content

feat: Filter platform metadata at the source - #911

Merged
gfieni merged 3 commits into
masterfrom
feat/filter-metadata-from-source
Aug 20, 2026
Merged

feat: Filter platform metadata at the source#911
gfieni merged 3 commits into
masterfrom
feat/filter-metadata-from-source

Conversation

@gfieni

@gfieni gfieni commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

This pull request allows users to explicitly select which Kubernetes pod labels and OpenStack server metadata are exposed on reports.

Instead of propagating all available platform metadata and filtering it for each report, metadata is filtered and normalized when synchronizing with the platform API. The selected entries are stored in a flat structure and added to reports through shared metadata registries.

The OpenStack processor also uses incremental server synchronization to avoid performing a full refresh at every polling interval.

Add utilities functions to normalize platform metadata names into
lowercase ASCII identifiers and build source-to-normalized mappings.
@gfieni gfieni self-assigned this Aug 20, 2026
@gfieni
gfieni requested a review from a team as a code owner August 20, 2026 12:50
@gfieni gfieni added the enhancement New feature or request label Aug 20, 2026
@codecov

codecov Bot commented Aug 20, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.97436% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 80.28%. Comparing base (28fde80) to head (8fe74e9).
⚠️ Report is 6 commits behind head on master.

Files with missing lines Patch % Lines
src/powerapi/processor/pre/k8s/monitor_agent.py 95.45% 2 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #911      +/-   ##
==========================================
+ Coverage   77.22%   80.28%   +3.06%     
==========================================
  Files          83       86       +3     
  Lines        3144     3176      +32     
==========================================
+ Hits         2428     2550     +122     
+ Misses        716      626      -90     
Files with missing lines Coverage Δ
src/powerapi/cli/common_cli_parsing_manager.py 100.00% <100.00%> (ø)
src/powerapi/cli/generator.py 89.54% <100.00%> (+0.14%) ⬆️
src/powerapi/processor/pre/k8s/actor.py 100.00% <100.00%> (+16.00%) ⬆️
src/powerapi/processor/pre/k8s/handlers.py 100.00% <100.00%> (+30.76%) ⬆️
...rc/powerapi/processor/pre/k8s/metadata_registry.py 100.00% <100.00%> (ø)
...rc/powerapi/processor/pre/k8s/pod_event_handler.py 100.00% <100.00%> (ø)
src/powerapi/processor/pre/openstack/actor.py 100.00% <100.00%> (+33.33%) ⬆️
src/powerapi/processor/pre/openstack/handlers.py 100.00% <100.00%> (+27.58%) ⬆️
...erapi/processor/pre/openstack/metadata_registry.py 100.00% <100.00%> (ø)
.../powerapi/processor/pre/openstack/monitor_agent.py 88.88% <100.00%> (+15.81%) ⬆️
... and 3 more

... and 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

gfieni added 2 commits August 20, 2026 14:56
Allow users to expose selected Kubernetes pod labels as normalized
report metadata instead of propagating every available label.
…ver metadata

Only propagate explicitly selected server metadata instead of adding
every available entry to reports.
@gfieni
gfieni force-pushed the feat/filter-metadata-from-source branch from 039f243 to 8fe74e9 Compare August 20, 2026 12:56
@sonarqubecloud

Copy link
Copy Markdown

@gfieni
gfieni merged commit 5ea6065 into master Aug 20, 2026
10 checks passed
@gfieni
gfieni deleted the feat/filter-metadata-from-source branch August 20, 2026 13:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant