---
title: "Graphite write proxy | Grafana Enterprise Metrics documentation"
description: "Graphite write proxy The Graphite write proxy accepts the ingest requests sent by Carbon-relay-ng and then translates the incoming Graphite metrics into Prometheus metrics. Once the metrics have been translated into Prometheus they get forwarded to the GEM distributor, which handles them the same way as it would handle any other Prometheus remote_write requests. The Graphite to Prometheus metric translation differentiates between untagged Graphite metrics and tagged Graphite metrics, the name mapping scheme for the two looks as following:"
---

> For a curated documentation index, see [llms.txt](/llms.txt). For the complete documentation index, see [llms-full.txt](/llms-full.txt).

# Graphite write proxy

The Graphite write proxy accepts the ingest requests sent by Carbon-relay-ng and then translates the incoming Graphite metrics into Prometheus metrics. Once the metrics have been translated into Prometheus they get forwarded to the GEM distributor, which handles them the same way as it would handle any other Prometheus `remote_write` requests. The Graphite to Prometheus metric translation differentiates between untagged Graphite metrics and tagged Graphite metrics, the name mapping scheme for the two looks as following:

##### Untagged Graphite metrics

Graphite metric: `some.test.metric`

In Prometheus: `graphite_untagged{__n000__="some", __n001__="test", __n002__="metric"}`

##### Tagged Graphite metrics

Graphite metric: `some.test.metric;my_tag=my_value;another_tag=another_value`

In Prometheus: `graphite_tagged{name="some.test.metric", my_tag="my_value", another_tag="another_value"}`
