# Data source plugins

Guides for optimizing and adding capabilities to data source plugins.

* [Add support for annotation queries](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-support-for-annotation-queries.md)Add support for annotation queries in your data source plugin.
* [Add authentication](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-authentication-for-data-source-plugins.md)How to add authentication for data source plugins.
* [Add features for Explore queries](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-features-for-explore-queries.md)Add features to Explore queries in Grafana plugin development.
* [Add logs, metrics, and traces to plugin backends](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-logs-metrics-traces-for-backend-plugins.md)How to add logs, metrics and traces to plugin backend components.
* [Add query migrations](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-migration-handler-for-backend-data-source.md)How to add a query migration handler to your Grafana backend data source plugin for seamless updates.
* [Add query editor help](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-query-editor-help.md)How to add a help component to query editors in Grafana.
* [Add resource handler for data source plugins](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-resource-handler.md)Learn how to add a resource handler for data source plugins.
* [Query different data with a router or multiplexer](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-router.md)Add a router or multiplexer to your plugin backend to query different data types.
* [Support external dashboards](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-support-for-externally-shared-dashboards.md)How to add support for externally share dashboards (previously called Public dashboards).
* [Add support for Private Data Source Connect (PDC)](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-support-for-pdc.md)Add support for Private Data Source Connect (PDC) functionality to your Grafana plugin.
* [Add support for variables](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-support-for-variables.md)Add support for variables in Grafana plugin development.
* [Add default variables and links](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-default-variables-and-links.md)Learn how to register default variables and dashboard links from a data source plugin.
* [Convert frontend to backend component](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/convert-a-frontend-datasource-to-backend.md)Learn how to migrate a data source plugin frontend-only code into a backend component.
* [Create data frames](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/create-data-frames.md)A guide to working with data frames in plugin development.
* [Validate fields in the config editor](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/validate-config-editor-fields.md)How to use the DataSourceConfigValidationAPI to validate fields in your data source config editor.
* [Error handling](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/error-handling.md)How to handle errors in data source plugins.
* [Use data proxy to fetch frontend data](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/fetch-data-from-frontend.md)Learn how to use the data proxy API to fetch data from frontend code in data source and app plugins in Grafana
* [Add dashboards](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/include-dashboards.md)Include dashboards in Grafana data source plugins.
* [Profile a plugin's backend](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/profile-backend-plugin.md)How to profile a plugin's backend.
* [Support SQL expressions](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/sql-requirements.md)Requirements for data source plugins to support SQL expressions.
