Skip to content

Commit 74adccc

Browse files
Document compatibility requirements for profiles
Profiles maintainers, please take a look at the pprof compatibility criteria added to CONTRIBUTING.md.
1 parent a05597b commit 74adccc

2 files changed

Lines changed: 27 additions & 11 deletions

File tree

CONTRIBUTING.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,16 @@ for general information about the project.
1212

1313
After making any changes to .proto files make sure to generate all
1414
implementation by running `make gen-all`.
15+
16+
## Profiles Compatibility Requirements
17+
18+
The Otel profile format in
19+
[profiles/v1experimental](opentelemetry/proto/profiles/v1experimental)
20+
is derived from
21+
[pprof](https://github.com/google/pprof/tree/main/proto) and is currently
22+
in experimental state. We would like to continue maintaining compatibility with pprof.
23+
All changes to profile proto should meet the following compatibility criteria:
24+
25+
- Every valid pprof profile is also a valid Otel profile AND,
26+
- Every Otel profile is a valid pprof profile, after any new fields introduced in
27+
Otel profile are discarded.

README.md

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -36,17 +36,20 @@ To generate the raw gRPC client libraries, use `make gen-${LANGUAGE}`. Currently
3636
1.0.0 and newer releases from this repository may contain unstable (alpha or beta)
3737
components as indicated by the Maturity table below.
3838

39-
| Component | Binary Protobuf Maturity | JSON Maturity |
40-
| --------- |--------------- | ------------- |
41-
| common/* | Stable | [Stable](docs/specification.md#json-protobuf-encoding) |
42-
| resource/* | Stable | [Stable](docs/specification.md#json-protobuf-encoding) |
43-
| metrics/\*<br>collector/metrics/* | Stable | [Stable](docs/specification.md#json-protobuf-encoding) |
44-
| trace/\*<br>collector/trace/* | Stable | [Stable](docs/specification.md#json-protobuf-encoding) |
45-
| logs/\*<br>collector/logs/* | Stable | [Stable](docs/specification.md#json-protobuf-encoding) |
46-
| profiles/\*<br>collector/profiles/* | Experimental | [Experimental](docs/specification.md#json-protobuf-encoding) |
47-
48-
(See [maturity-matrix.yaml](https://github.com/open-telemetry/community/blob/47813530864b9fe5a5146f466a58bd2bb94edc72/maturity-matrix.yaml#L57)
49-
for definition of maturity levels).
39+
| Component | Binary Protobuf Maturity | JSON Maturity |
40+
| --------- |--------------------------|------------------------------------------------------------------|
41+
| common/* | Stable | [Stable](docs/specification.md#json-protobuf-encoding) |
42+
| resource/* | Stable | [Stable](docs/specification.md#json-protobuf-encoding) |
43+
| metrics/\*<br>collector/metrics/* | Stable | [Stable](docs/specification.md#json-protobuf-encoding) |
44+
| trace/\*<br>collector/trace/* | Stable | [Stable](docs/specification.md#json-protobuf-encoding) |
45+
| logs/\*<br>collector/logs/* | Stable | [Stable](docs/specification.md#json-protobuf-encoding) |
46+
| profiles/\*<br>collector/profiles/* | Experimental ** | [Experimental](docs/specification.md#json-protobuf-encoding) ** |
47+
48+
** Additional requirements for profiles are [listed here](CONTRIBUTING.md#profiles-compatibility-requirements).
49+
50+
See [maturity-matrix.yaml](https://github.com/open-telemetry/community/blob/47813530864b9fe5a5146f466a58bd2bb94edc72/maturity-matrix.yaml#L57)
51+
for definition of maturity levels.
52+
5053

5154
## Stability Definition
5255

0 commit comments

Comments
 (0)