README.md
1# Deprecation note
2
3This repository used to contain the [protocol
4buffer](https://developers.google.com/protocol-buffers) code that defined both
5the data model and the exposition format of Prometheus metrics.
6
7Starting with v2.0.0, the [Prometheus
8server](https://github.com/prometheus/prometheus) does not ingest the
9protobuf-based exposition format anymore. Currently, all but one of the
10[official instrumentation
11libraries](https://prometheus.io/docs/instrumenting/clientlibs/) do not expose
12the protobuf-based exposition format. The [Go instrumentation
13library](https://github.com/prometheus/client_golang), however, has been built
14around the protobuf-based data model. As a byproduct thereof, it is still able
15to expose the protobuf-based exposition format. The Go instrumentation library
16is the only remaining repository within the [Prometheus GitHub
17org](https://github.com/prometheus) directly using the prometheus/client_model
18repository.
19
20Therefore, formerly existing support for languages other than Go (namely C++,
21Java, Python, Ruby) has been removed from this repository. If you are a 3rd
22party user of those languages, you can go back to [commit
2314fe0d1](https://github.com/prometheus/client_model/commit/14fe0d1b01d4d5fc031dd4bec1823bd3ebbe8016)
24to keep using the old code, or you can consume
25[`metrics.proto`](https://github.com/prometheus/client_model/blob/master/metrics.proto)
26directly with your own protobuf tooling. Note, however, that changes of
27`metrics.proto` after [commit
2814fe0d1](https://github.com/prometheus/client_model/commit/14fe0d1b01d4d5fc031dd4bec1823bd3ebbe8016)
29are solely informed by requirements of the Go instrumentation library and will
30not take into account any requirements of other languages or stability concerns
31for the protobuf-based exposition format.
32
33Check out the [OpenMetrics project](https://openmetrics.io/) for the future of
34the data model and exposition format used by Prometheus and others.
35