Metric Aggregation Rule
Roll up raw numeric metadata fields from lower-level entities to hierarchy levels such as project, organization, account, or system.
Metric aggregation rules roll up a raw numeric field stored in entity metadata to higher levels in your organizational hierarchy. The aggregated value is ingested as a new metadata property on the target hierarchy entity.
Common sources for metric fields:
Properties ingested via the Catalog Ingestion API
DORA metrics synced from a CD integration (e.g.
metadata.integration_properties.HarnessCD.changeFailureRatePercent,metadata.integration_properties.HarnessCD.deploymentFrequencyPerSprint)Custom properties defined in entity YAML
Metric aggregation works with any entity kind, including custom kinds.
Create a metric aggregation rule
Step 1: Confirm the field exists on your source entities
Open any source entity in the catalog, click View YAML, and check Raw YAML or Ingested Properties for the field you intend to aggregate.
If the field is missing, ingest it first via the Catalog Ingestion API or a CD integration.
Finding the correct field path: Use the dot-notation key exactly as it appears in the YAML, including casing. For example:
metadata:
avgDeploymentTime: 45The field path would be metadata.avgDeploymentTime. Field paths are case-sensitive.
Step 2: Fill in the rule form
Navigate to Configure → Aggregation Rules and click + New Aggregation Rule.
Aggregation Type
Yes
Select METRIC
Metric / Field to Aggregate
Yes
Dot-notation path from Step 1, e.g. metadata.avgDeploymentTime
Aggregation Formula
Yes
Choose the operation: Average (mean across all), Sum (total), Min (lowest), Max (highest), Median (middle value)
Aggregation Property Name
Yes
Name of the new property written to hierarchy entities, e.g. avg_deployment_time
Description
No
Write a brief description about the rule you create
Roll-up scope
Select the hierarchy levels where the aggregated value should be stored. You can select multiple levels simultaneously.
Account
All matching entities in the entire account
Organization
All matching entities within each organization
Project
All matching entities within each project
System
All matching entities associated with each system
Team
All matching entities owned by each team and its sub-teams
Configure entities to aggregate from
All filters are combined with AND logic.
Aggregation Scope
No
Restrict to a specific account, org, or project. Leave blank (*) for all.
Entity Kind
No
e.g. Component or hierarchy
Entity Type
No
e.g. service
Owners
No
Filter by owner
Tags
No
Filter by tags
Lifecycle
No
Filter by lifecycle stage
Click Save. The rule appears in your Aggregation Rules list with a SUCCESS status once the first computation completes.
Step 3: Verify the value is ingested
Open the hierarchy entity where the aggregated value should appear (for example, the account entity). Click View YAML → Ingested Properties and confirm the new property is present.
If the property is missing, check that:
The field path in your rule exactly matches the key in entity metadata (casing matters).
At least one entity in your aggregation scope has the field present.
The rule status is SUCCESS. If it shows an error, click Compute from the three-dot menu to trigger a fresh run.
Step 4: Surface the value in the catalog layout
The aggregated value is stored as a metadata property but does not appear on the entity page automatically. Add a StatsCard to the hierarchy entity's catalog layout to display it.
Navigate to Configure → Layout → Catalog Entities → Hierarchy → select the entity type → Edit Layout.
Add a StatsCard referencing the aggregated property using <+metadata.propertyName> syntax given below:
Save the layout. The aggregated value now appears as a card on the hierarchy entity page.
Use cases
Use case 1: DORA metrics from CD integration
Result: metadata.Max Change Failure Rate is available on project, organization, and account entities.
Use case 2: Custom ingested properties
Aggregate any custom property ingested via the Catalog Ingestion API.
Result: metadata.max_MTTR is available on project and organization entities.
Use case 3: Hierarchical aggregation
Result: metadata.avg_unit_test_coverage is available on organization and account entities.
Frequently asked questions
Last updated
Was this helpful?