Error Occured while plotting the chart" with custom (dimensions & metrics) in the API dashboard

Hi Team,

We are getting an error while monitoring in the dashboard while changing the dimension parameter in custom report.

Navigation of Dimensions:

Error message(custom dimension defined in the policy) → HTTP Status Code (default dimension)

while navigating through the above dimensions we are getting the error .

While creating a new custom charts in the dashboard and adding the dimensions , I am unable to navigate it through the plot in the graph and getting the above error “Error Occured while plotting the chart”.

Queries :

  1. Does the dimension have any hierarchy maintained in the backend ?If so do we have any documention.

  2. What could be the cause/meaning of this error!

We would like to monitor the error messages in the APIM through dashboard where we stuck with this, a response would be a great support for us !

Thanks and Regards,

Vaisu Raj

Hi @vaisu_Raj ,

Great questions. This is a common issue when working with custom dimensions in Apigee Analytics. Let’s get this sorted out for you.

To answer your first query directly: No, Apigee Analytics does not have a strict, documented hierarchy that dimensions must follow. The system is designed to be flexible. However, the way data is collected can create relationships that cause errors like the one you’re seeing.


What’s Causing the “Error Occurred while plotting the chart”?

The root cause of this error is almost always data sparsity. Here’s what that means in your situation:

Your custom dimension (let’s call it custom_error_message) is likely being set by a policy only when an error occurs. Your other dimension, HTTP Status Code, exists for every single transaction, whether it’s a success (200) or an error (4xx, 5xx).

Think of your analytics data like a spreadsheet:

Transaction ID API Proxy HTTP Status Code custom_error_message
1 products-v1 200 (not set)
2 products-v1 500 “Backend Timeout”
3 users-v1 200 (not set)
4 users-v1 404 “User Not Found”

When you create a report that starts with your custom_error_message dimension, Apigee first gathers all the transactions where that dimension exists (rows 2 and 4). When you then try to “drill down” and view this data by HTTP Status Code, the analytics system gets confused trying to re-process this pre-filtered, sparse dataset, and the query fails, leading to the plotting error.


Recommended Solution: How to Monitor Your Errors :+1:

Instead of relying on a complex drill-down, the best practice is to create a dedicated custom report specifically for monitoring your errors. This approach is more reliable and gives you the exact view you need.

Here’s how to set it up:

  1. Navigate to Analyze → Custom Reports → Reports.

  2. Click + Custom Report to create a new one.

  3. Give it a clear name, like “Backend Error Analysis”.

  4. Set the Metric: Choose a metric like Traffic or Policy Errors.

  5. Set the Dimensions: This is the key step. Add both dimensions you care about.

    • Your custom dimension (e.g., custom_error_message)

    • HTTP Status Code

  6. Create a Filter: This is what makes the report powerful. You need to tell it to only look at error traffic from the start.

    • Create a filter where HTTP Status Code greater than or equal to 400.

Now, when you run this report, it will correctly show you a breakdown of your custom error messages and the corresponding status codes, because it was designed from the beginning to only look at relevant error data.

Once this report is working, you can easily add it to your main dashboard for at-a-glance monitoring. This will solve the plotting error and allow you to effectively monitor your custom error messages.

Let me know if that helps!

1 Like