How To Develop Transformations in Grafana

Hello,
I would like to see some new transformations added to Grafana. I’m a developper and I could probably code them myself, but I don’t have yet a good understanding of the architecture and structure related to transformation implementations in Grafana and did not find any documentation about this.

If someone knowledgeable about that could give me a kickstart on what files to look into, and what would be the steps in adding new transformations, it would be of a good help and save me a lot of code scraping time.

I think I figured out most of the code base:

  • Transformers related types definition
    grafana/packages/grafana-data/src/types/transformations.ts

  • Transformers logic
    grafana/packages/grafana-data/src/transformations/transformers

  • Transformers UI (for each transformation)
    grafana/public/app/core/components/TransformersUI

  • Transformation editor (dashboard)
    grafana/public/app/features/dashboard/components/TransformationsEditor/

I’m not sure how to properly register a new transformations. Seems like grafana/public/app/core/utils/standardTransformers.ts contains the list of registered transformations.

I guess I answered a lot of my questions by writing this post actually… but I’ll publish it anyway if someone wants to confirm or add details.

3 Likes