Skip to content

New Relic Plugins: Support for Multiple Dashboards, APM Apps, and Multi-Account ConfigurationsΒ #7435

@thakkarpurvesh

Description

@thakkarpurvesh

Workspace

newrelic

πŸ”– Feature description

The New Relic Dashboard and APM plugins currently only support a single dashboard GUID and single application ID per entity:

Current limitation:

  • newrelic.com/dashboard-guid: accepts only one GUID
  • newrelic.com/application-id: accepts only one application ID
  • Proxy supports only one New Relic account/API key

Requested features:

  1. Support for multiple dashboard GUIDs per entity (comma-separated or array format)
  2. Support for multiple APM application IDs
  3. Multi-account support for different environments (dev/staging/production)

Affected plugins:

  • @backstage-community/plugin-newrelic-dashboard
  • @backstage-community/plugin-newrelic

🎀 Context

Why this is needed:

Modern microservices typically have:

  • Multiple dashboards tracking different aspects (infrastructure, business metrics, security, compliance)
  • Separate New Relic accounts per environment for isolation, security, and billing
  • Multiple application instances across regions/clusters

Real-world example:
A service my-api has:

  • Dev account dashboard: guid-dev-123
  • Staging account dashboard: guid-staging-456
  • Production account dashboard: guid-prod-789

Currently impossible to view all three in Backstage without creating three separate entities.

✌️ Possible Implementation

Option 1: Comma-separated values

annotations:
  newrelic.com/dashboard-guid: 'guid1,guid2,guid3'
  newrelic.com/application-id: 'id1,id2,id3'

Option 2: Array format

annotations:
  newrelic.com/dashboard-guids:
    - 'guid1'
    - 'guid2'

Option 3: Environment-specific annotations (for multi-account)

annotations:
  newrelic.com/dashboard-guid.dev: 'dev-guid'
  newrelic.com/dashboard-guid.staging: 'staging-guid'
  newrelic.com/dashboard-guid.production: 'prod-guid'

Code changes needed:

  • Update getDashboardEntity() to parse and accept array of GUIDs
  • Add UI component with tabs/accordion for multiple dashboards
  • Support multiple proxy endpoints for different accounts
  • Update isNewRelicDashboardAvailable to check any valid annotation

Technical investigation:
I inspected the plugin source at node_modules/@backstage-community/plugin-newrelic-dashboard/dist/components/NewRelicDashboard/DashboardEntityList.esm.js and confirmed getDashboardEntity() accepts only a single string value with no array parsing logic.

πŸ‘€ Have you spent some time to check if this feature request has been raised before?

  • I checked and didn't find similar issue

🏒 Have you read the Code of Conduct?

Are you willing to submit PR?

None

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions