Improve prompb/readme.md (#17037)
buf.build / lint and publish (push) Waiting to run Details
CI / Go tests (push) Waiting to run Details
CI / More Go tests (push) Waiting to run Details
CI / Go tests with previous Go version (push) Waiting to run Details
CI / UI tests (push) Waiting to run Details
CI / Go tests on Windows (push) Waiting to run Details
CI / Mixins tests (push) Waiting to run Details
CI / Build Prometheus for common architectures (0) (push) Waiting to run Details
CI / Build Prometheus for common architectures (1) (push) Waiting to run Details
CI / Build Prometheus for common architectures (2) (push) Waiting to run Details
CI / Build Prometheus for all architectures (0) (push) Waiting to run Details
CI / Build Prometheus for all architectures (1) (push) Waiting to run Details
CI / Build Prometheus for all architectures (10) (push) Waiting to run Details
CI / Build Prometheus for all architectures (11) (push) Waiting to run Details
CI / Build Prometheus for all architectures (2) (push) Waiting to run Details
CI / Build Prometheus for all architectures (3) (push) Waiting to run Details
CI / Build Prometheus for all architectures (4) (push) Waiting to run Details
CI / Build Prometheus for all architectures (5) (push) Waiting to run Details
CI / Build Prometheus for all architectures (6) (push) Waiting to run Details
CI / Build Prometheus for all architectures (7) (push) Waiting to run Details
CI / Build Prometheus for all architectures (8) (push) Waiting to run Details
CI / Build Prometheus for all architectures (9) (push) Waiting to run Details
CI / Report status of build Prometheus for all architectures (push) Blocked by required conditions Details
CI / Check generated parser (push) Waiting to run Details
CI / golangci-lint (push) Waiting to run Details
CI / fuzzing (push) Waiting to run Details
CI / codeql (push) Waiting to run Details
CI / Publish main branch artifacts (push) Blocked by required conditions Details
CI / Publish release artefacts (push) Blocked by required conditions Details
CI / Publish UI on npm Registry (push) Blocked by required conditions Details
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run Details

* Improve propb/readme.md

Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com>

* commit

Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com>

---------

Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com>
This commit is contained in:
Minh Nguyen 2025-10-06 14:55:08 +03:00 committed by GitHub
parent 106e6f2c77
commit 50d1dc2577
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 50 additions and 6 deletions

View File

@ -1,9 +1,53 @@
The compiled protobufs are version controlled and you won't normally need to
re-compile them when building Prometheus.
This directory contains Protocol Buffer (protobuf) definitions for Prometheus'
remote read and write protocols. These definitions are used to serialize and
deserialize time series data, such as metrics, labels, samples, and queries,
for network communication to Prometheus.
If however you have modified the defs and do need to re-compile, run
`make proto` from the parent dir.
The files here are synced to [buf.build](https://buf.build/prometheus/prometheus),
a public protobuf schema registry, from the `main` branch of the Prometheus
repository.
In order for the [script](../scripts/genproto.sh) to run, you'll need `protoc` (version 3.15.8) in
your PATH.
## What This Package/Directory Hosts
Protobuf messages and services for:
- Remote Write: Sending time series data to Prometheus (e.g., `WriteRequest`,
`TimeSeries`).
- Remote Read: Querying data from Prometheus (e.g., `ReadRequest`, `Query`,
`ChunkedReadResponse`).
- Core types: Shared definitions like `Label`, `MetricMetadata`, and exemplars.
Key files include:
- `remote.proto`: Defines the remote read/write services and messages.
- `types.proto`: Common types used across protocols.
- `io/prometheus/client/metrics.proto`: Client metrics definitions.
- `io/prometheus/write/v2/types.proto`: Remote Write v2 protocol types.
## Stability Guarantees
These protobuf definitions follow the stability policies of the Prometheus
project. Backward-compatible changes may occur in minor releases, but breaking
changes are reserved for major versions (e.g., Prometheus 3.0). Experimental
or unstable features are clearly marked in the documentation.
## Related Specifications
- Remote Write Spec v1:
[https://prometheus.io/docs/specs/remote_write_spec/](https://prometheus.io/docs/specs/remote_write_spec/).
- Remote Write Spec v2:
[https://prometheus.io/docs/specs/prw/remote_write_spec_2_0/](https://prometheus.io/docs/specs/prw/remote_write_spec_2_0/).
- Experimental Prometheus client packages:
[https://github.com/prometheus/client_golang/tree/main/exp](https://github.com/prometheus/client_golang/tree/main/exp).
## How to Change or Contribute
To modify these definitions, view and edit the source in the Prometheus GitHub
repository: [https://github.com/prometheus/prometheus/tree/main/prompb](https://github.com/prometheus/prometheus/tree/main/prompb).
## How to Use
### Steps
- Run `make proto` in the root directory to regenerate the compiled protobuf
code.
- The compiled Go code is version-controlled in the repository, so you
typically don't need to re-generate unless making changes.