Key Concepts
Key Concepts
Overview
Perspectives in Harness CACM provide powerful cost analysis capabilities through customizable views of your cloud spending data. This guide covers the key concepts and features available in Perspectives.
Perspective Drilldown

Total Cost: The total cost of the resources in the Perspective.
Budget: The budget for the resources in the Perspective.
Forecasted Cost: The forecasted cost of the resources in the Perspective.
Recommendations: The recommendations for the resources in the Perspective.
Group By

You can create a Perspective for your resources using rules and filters. The filters are used to group the resources. The following are the supported filters:
Cost Categories: You can create a perspective by filtering based on the cost categories you have created. To create cost categories, see Use Cost Categories.
Region: Each AWS, GCP, or Azure region you're currently running services in.
Product: Each of your active products with its cloud costs.
Cloud Provider: Filter and group costs by the cloud service provider (AWS, GCP, Azure, or Kubernetes clusters) to analyze spending across different cloud platforms.
Label: Each label that you assign to your AWS resources. You can select a label name to get more granular details of your label. For more information, go to Tagging your AWS resources. For tags to appear in the Perspective, you must activate the user-defined cost allocation tags in the AWS Billing and Cost Management console. For more information, go to Activating User-Defined Cost Allocation Tags. CACM updates the tag keys as follows:
For the user-defined tags,
user_prefix is added.For the AWS system tags,
aws_prefix is added.The characters that do not follow regex
[a-zA-Z0-9_]are changed to_.The tags are case-sensitive. If the tags are specified as
UserNameandusername, then the number suffix_<Number>is added to the tag. For example,UserNameandusername_1.
Label V2: Preserves the original structure from AWS similar to how GCP, Azure and Cluster tags are stored. See Understanding the Difference: Label vs. Label V2 and Migrate from Label to Label V2.
Grouping Options by Data Source
CACM provides various grouping options to analyze your cloud costs based on different dimensions. Select the appropriate tab to view available grouping options for each cloud provider, container platform, or external data source.
AWS Grouping Options
CACM allows you to view your AWS costs at a glance, understand what is costing the most, and analyze cost trends across all your Amazon Web Services:
Account
Cost by AWS account connected via Harness AWS Cloud Provider, showing account name and ID
Billing Entity
Distinguishes between AWS Marketplace transactions and other AWS service purchases (Learn more)
Instance Type
Cost by Amazon EC2 instance type (e.g., t2.micro, m5.large)
Line Item Type
Cost by charge type (Usage, Tax, Credit, etc.) (Learn more)
Payer Account
Cost by AWS account that pays for member accounts in an AWS Organization
Service
Cost by AWS service (EC2, S3, RDS, etc.)
Usage Type
Cost by specific resource usage measurement (e.g., BoxUsage:t2.micro(Hrs) for EC2 t2.micro instance hours)
Azure Grouping Options
Analyze your Microsoft Azure costs across services, resource groups, and other dimensions:
Benefit Name
Cost by benefit applied to resources (Enterprise Agreement discounts, Azure Hybrid Benefit, etc.)
Billing Account ID
Cost by unique billing account identifier
Billing Account Name
Cost by billing account name
Charge Type
Cost by charge type (Usage, Purchase, Refund, etc.)
Frequency
Cost by charge frequency (OneTime, Recurring, UsageBased)
Instance ID
Cost by specific resource instance identifier
Meter
Cost by usage meter (Compute Hours, IP Address Hours, Data Transfer, etc.)
Meter Category
Cost by meter category (Cloud Services, Networking, etc.)
Meter Subcategory
Cost by meter subcategory (A6 Cloud Services, ExpressRoute, etc.)
Pricing Model
Cost by pricing structure (Pay-as-you-go, Reserved Instance, etc.)
Publisher Name
Cost by Marketplace service publisher
Publisher Type
Cost by publisher type (Microsoft/Azure, Marketplace, AWS)
Reservation ID
Cost by reservation instance identifier
Reservation Name
Cost by reservation instance name
Resource
Cost by specific Azure resource
Resource GUID
Cost by resource unique identifier
Resource Group Name
Cost by resource group
Resource Name
Cost by resource name
Resource Type
Cost by resource type (Virtual Machine, Storage Account, App Service, etc.)
Service Name
Cost by Azure service (Virtual Machines, App Service, DNS, etc.)
Service Tier
Cost by service tier (VMs, Dv3, Dsv3, etc.)
Subscription ID
Cost by subscription identifier
Subscription Name
Cost by subscription name
GCP Grouping Options
Analyze your Google Cloud Platform costs across products, projects, and other dimensions:
Billing Account
Cost by billing account, allowing tracking across multiple linked projects
Invoice Month
Cost by billing period
Product
Cost by GCP product (Compute Engine, Cloud Storage, BigQuery, etc.)
Project
Cost by GCP project
SKU
Cost by specific SKU, representing the billable unit for GCP services
External Data Grouping Options
Analyze costs from external data sources that you've integrated with CCM:
Account ID
Cost by account identifier from external data sources
Account Name
Cost by account name from external data sources
Billing Account ID
Cost by billing account identifier from external systems
Billing Account Name
Cost by billing account name from external systems
Provider Name
Cost by provider or vendor name from external data
Resource
Cost by specific resource from external data sources
SKU
Cost by SKU or product identifier from external systems
Data Source
Cost by external data source name or identifier
Category
Cost by custom categories defined in your external data
Cost Center
Cost by organizational cost center from external systems
Department
Cost by department or business unit from external data
Project
Cost by project identifier from external systems
Team
Cost by team or group from external data sources
Custom Field 1
Cost by first custom field defined in external data
Custom Field 2
Cost by second custom field defined in external data
Custom Field 3
Cost by third custom field defined in external data
Custom Field 4
Cost by fourth custom field defined in external data
Custom Field 5
Cost by fifth custom field defined in external data
Kubernetes & Container Grouping Options
Analyze costs for your Kubernetes clusters and ECS environments with these grouping options:
Cluster Name
Total cost, cost trend, idle cost, unallocated cost, and efficiency score for each cluster name
Cluster Type
Cost by cluster type (e.g., ECS, Kubernetes)
Namespace
Cost of each Kubernetes namespace in the cluster (not applicable to ECS clusters)
Namespace ID
Cost of each Kubernetes namespace ID in the cluster
Workload
Cost of each Kubernetes workload or ECS service, with workload types identified as Kubernetes pods or ECS tasks
Workload ID
Cost of each Kubernetes workload ID
Node
Cost of each Kubernetes node or ECS instance
Storage
Cost of persistent volumes in your Kubernetes cluster (Learn more about Persistent Volumes)
Application
Sum of your Harness Application costs
Environment
Cost of cloud platform infrastructures grouped by environment (Dev, QA, Stage, Production, etc.)
Service
Cost of your microservices and applications
Cloud Provider
Cost of your cloud platforms (AWS, Kubernetes, etc.)
ECS Service
Cost of ECS services running task definition instances (Learn more about ECS Services)
ECS Launch Type
Cost by launch type (Fargate or EC2)
ECS Launch Type ID
Cost by unique identifier for an Amazon ECS launch type
ECS Service ID
Cost by unique identifier for an ECS service
ECS Task
Cost of each ECS task (smallest deployable unit in Amazon ECS)
ECS Task ID
Cost by unique identifier for an ECS task
Preferences

General Preferences
Show Others: The default perspective graph displays only the top 12 cost items. Enable this option to group all remaining costs into an "Others" category, ensuring you see your complete spending picture.
Show Anomalies: Highlight unusual spending patterns or sudden cost changes in your visualizations. This feature makes it easy to spot potential issues or unexpected charges that may require investigation. The number of anomalies are shown on the Group By graph in a red triangle.

Show Negative Cost: Displays instances where discounts exceed the actual billing amount, resulting in negative cost values in your reports. Displays the negative cost with a dotted red bar and labels it as NegativeCost in the legend. To view it, please select "Group By" as None because in other Group Bys, it might not appear in the top 12 entries.
Show Unallocated costs on clusters: In certain graphs, you may come across an item labeled as Unallocated. This entry is included to provide a comprehensive view of all costs. When you examine the Total Cost in the perspective, it encompasses the costs of all items, including the unallocated cost. This option is available only in perspectives with cluster rules. The Show "unallocated" costs on clusters option is only available in the chart when the Group By is using Cluster and the following options are selected:
Namespace
Namespace ID
Workload
Workload ID
ECS Task
ECS Task ID
ECS Service ID
ECS Service
ECS Launch Type ID
ECS Launch Type

Cloud-Based Preferences
Dynamic Perspective Reports
What are Dynamic Perspective Reports?
Dynamic Perspective Reports are a new capability that allows you to generate, schedule, and manage cost reports directly from your Perspectives. Create reports from your perspectives to bookmark specific filter and grouping configurations. No need to rebuild the same view repeatedly just save it once and access it anytime. Reports dynamically include all relevant data columns based on your selected grouping criteria and filters. This ensures consistency between your interactive perspective view and exported reports.
Navigate to the specific Perspective you wish to create a report for.
Click the Download/Save as Report button in the upper-right corner of the Perspective view
Report Details
Name: Provide a name for your report
Group By: Select how data should be organized using available grouping options
Time Period: Choose from Last 7 Days, Last 30 Days, Last Month, or This Month
Granularity: Select Daily, Weekly, or Monthly data points
Filters: Apply specific filters to focus your report
Data Columns: Customize which metrics and dimensions appear in your report. The system automatically suggests relevant columns based on your Group By selection, but you can add or remove specific data points to tailor the report to your requirements.
Export Rows up to: Set maximum number of data rows to include
Exclude rows with cost below: Optionally exclude rows below a specified cost value
Delivery Options:
Scheduled Delivery: Set specific date and time for automated delivery and frequency (Daily, Weekly, Monthly, Quarterly, Yearly). You can add up to 50 recipient email addresses (comma-separated)
Immediate Download: Download Perspective Chart data or Table data as CSV

To view and manage all your saved reports: Navigate to Cloud Costs > Perspectives > Saved Reports
The Saved Reports page provides a comprehensive view of all your configured reports with the following options:
Report Creation: Create new reports by clicking +New Report > Perspective
Report Management: View information for each report including:
Report name and scheduled delivery frequency
Associated perspective
Time period selected for data
Creation and modification metadata
Report Actions: You can:
Edit or Delete a report.
Subscribe or unsubscribe from scheduled deliveries.
Dynamic Cost Categories Toggle

The Dynamic toggle on the Perspective page gives you control over how cost category rules are applied to your cost data. It lets you balance real-time accuracy with faster performance.
Internal Working:

If Dynamic ON (Runtime Mode):
Perspectives apply cost category rules as soon as the page loads (dynamically).
Any recent changes to cost category rules (even from a few minutes ago) are reflected immediately.
⏱️ Load times may be slower since rules are processed at runtime.
If Dynamic OFF (Stored Data Mode):
Harness CACM evaluates cost category rules during the daily data ingestion process and persists the results in a dedicated dataset. This optimized dataset contains pre-computed rule evaluations for the current month's cost data.
When Dynamic Toggle is OFF, Perspectives use cost category rules from the stored dataset.
This ensures ⚡ faster performance since stored data is used without any computations at runtime.
Note that if in case, CACM's daily process of updating the dataset is still running, stored data is not available and only Dynamic ON (runtime calculation) is available and a message will be displayed on the UI to inform.

Label Migration: Label vs. Label V2
Harness CACM is transitioning from the traditional Label system to the enhanced Label V2 system. Support for the legacy Label system will be discontinued in the coming months.
Label (Legacy): Normalizes AWS tags. GCP, Azure and Clusters tags are not normalized.
Label V2 (New): Preserves the original structure from AWS similar to how GCP, Azure and Cluster tags are stored.
Key Benefits of Label V2:
Original tags: Displays your original cloud tag keys exactly as they appear in AWS, Azure, or GCP
Improved Performance: Enhanced data processing and query performance
After Label V2, AWS labels are stored as-is without any normalization.
Who Needs to Migrate?
✅ Migration Required
Label V2 will replace the current Labels in the next release. Harness CACM will automatically migrate your existing rules. However, if your scripts reference Labels in Perspectives or CCs, you’ll need to update them manually to use Label V2. Existing Labels will also continue to work without interruption
🆕 No Migration Needed
If you're a new user or haven't used Labels in your Perspectives, simply use Label V2 for all new configurations.
How to Migrate
Identify affected components: Review all Perspectives that use Label-based grouping or filtering
Update each component: Edit each Perspective. Locate all instances where you've defined rules, filters, or grouping using AWS Labels. Change the selection from "Label" to "Label V2". Save your changes
Verify your updates: After updating the Perspective, confirm that your cost data appears correctly. Ensure all previously configured Label-based filters work as expected
Label (Original Format) normalizes AWS tags as follows:
User-defined tags: Adds
user_prefix (e.g.,environmentbecomesuser_environment)AWS system tags: Adds
aws_prefix (e.g.,aws:createdBybecomesaws_createdBy)Special characters: Characters not matching
[a-zA-Z0-9_]are replaced with_Case sensitivity: For duplicate tag names with different cases (e.g.,
UserNameandusername), a numeric suffix is added (UserNameandusername_1)
Label V2 preserves the original tag structure without these modifications
So, when migrating from Label to Label V2 in your API calls:
Change the
identifierfromLABELtoLABEL_V2Change the
identifierNamefromLabeltoLabel V2For AWS, identify all Labels that start with
user_oraws_prefixes and replace them with the actual tag key (without the prefix). For other cloud providers, no Label prefix changes are needed.
Here's how the API request format changes:
Earlier every request had the Label field as:
Now the request has the Label V2 field as:
Similarly, for fieldId:
Earlier:
Now:
Earlier every request had the Label field as:
Now the request has the Label V2 field as:
Similarly, for labels.key:
Earlier:
Now:
Please refer the following API docs for details:
Organize Perspectives using Folders
You can organize Perspectives by adding them to folders. The number of Folders that can be created is 2000.
Click New folder, name the folder, and then select the Perspectives you want to add.

You can also add a Perspective to a folder when you create it or move it to a folder when you edit it.


Last updated
Was this helpful?