contribute/create-feature-request.md
Feature requests help us understand what you need from Grafana. This document guides you through writing effective feature requests that help maintainers understand your needs and prioritize improvements.
We're excited to hear your ideas! Before you submit a feature request, consider these resources:
When you're ready to submit a feature request, use the feature request template. The template has three sections that help maintainers understand what you need and why.
Here's an example of how all three sections work together in an actual feature request from the Grafana community. We'll analyze each section based on this example feature request.
This section describes the real problem or limitation you're facing.
Explain what's difficult, inefficient, or impossible with the current implementation. Focus on the problem rather than proposing a solution. This helps maintainers understand your use case and potentially find better solutions.
What to include:
What to avoid:
Example of a strong answer:
When using a datasource variable in dashboards and using the "Export" feature in a dashboard,
this will automatically create an input for the datasource(s) being used, but it will also
effectively override the use of the datasource variable in all panels.
This makes a confusing
experience when importing the dashboard, because users are prompted for an input, but the
selected datasource won't be reflected in the datasource variable, and any changes to the
datasource variable will not have any effect on the dashboard.
Example of a weak answer:
Dashboard export doesn't work well with variables.
The first example clearly explains what's broken, why it's confusing, and what the specific consequences are. The second example is too vague and doesn't explain the actual problem.
This section describes what you want Grafana to do differently.
Be specific and concrete about the expected behavior. If you're suggesting a UI change, describe the interaction or include a screenshot or sketch. If it's data or API related, provide an example query or expected output.
What to include:
What to avoid:
Example of a strong answer:
Ideal behavior here would be that when using the export feature, either:
1. No inputs section is created for datasource types that are used as datasource variables.
2. IF an input is created, it should only be used to replace the currently selected value of
the datasource variable, rather than override the datasource in panels.
Example of a weak answer:
Fix the dashboard export feature.
The first example provides clear, actionable options for how the feature should work. The second example is too vague and doesn't specify what the fix should do.
This section describes who benefits from this feature and in what context.
Help maintainers understand the scope and impact of your request. Be specific about user types, workflows, or scenarios where this feature matters.
What to include:
What to avoid:
Example of a strong answer:
Any Grafana Dashboard users or authors that use datasource variables.
Example of a weak answer:
Dashboard users.
The first example identifies the specific users and the feature they use (datasource variables). The second example is too generic and doesn't clarify which users or workflow are affected.
Follow these guidelines to increase the chances of your feature request being accepted:
Request one feature at a time. If you have multiple ideas, create separate feature requests for each one. This makes it easier to discuss, prioritize, and implement each feature independently.
Before submitting, search for similar requests. If you find an existing request that's close to your idea, add your use case and context to that discussion instead of creating a duplicate.
The more context you provide, the better maintainers can understand your needs. Include:
Maintainers might suggest different approaches to solve your problem. Be open to these alternatives as they might be easier to implement or more maintainable in the long term.
After submitting your feature request, monitor the discussion. Answer questions from maintainers and provide clarification when needed. This helps move your request forward.
If you want to implement the feature yourself, feel free to create a pull request following the pull request guidelines.
We welcome community contributions and appreciate your help making Grafana better!