Protobuf definitions for the OpenTelemetry protocol (OTLP) (grpc依赖)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Bogdan Drutu 795cc815ce
Setup github action for auto-assign (#307)
4 years ago
.github Setup github action for auto-assign (#307) 4 years ago
.vscode Add release instructions for opentelemetry proto. (#133) 5 years ago
opentelemetry/proto Add schema_url fields as described in OTEP 0152 (#298) 4 years ago
.gitattributes Add .gitattributes to avoid mixed line endings. (#85) 5 years ago
.gitignore Add "gen" to .gitignore (#232) 4 years ago
CHANGELOG.md Mark metrics protocol as stable for the 0.9 release. (#305) 4 years ago
CONTRIBUTING.md Update links after master -> main branch change (#254) 4 years ago
LICENSE Initial commit 6 years ago
Makefile Upgrade proto docker, add support for JS and grpc-web (#306) 4 years ago
README.md Mark metrics protocol as stable for the 0.9 release. (#305) 4 years ago
RELEASING.md Update links after master -> main branch change (#254) 4 years ago

README.md

Language Independent Interface Types For OpenTelemetry

Build Check

The proto files can be consumed as GIT submodule or copied over and built directly in the consumer project.

The compiled files are published to central repositories (Maven, NPM...) from OpenTelemetry client libraries.

See contribution guidelines if you would like to make any changes.

Generate gRPC Client Libraries

To generate the raw gRPC client libraries use make gen-${LANGUAGE}. Current supported languages are:

  • cpp
  • csharp
  • go
  • java
  • objc
  • openapi (swagger)
  • php
  • python
  • ruby

Maturity Level

Component Maturity
Binary Protobuf Encoding
collector/metrics/* Stable
collector/trace/* Stable
collector/logs/* Alpha
common/* Stable
metrics/* Stable
resource/* Stable
trace/trace.proto Stable
trace/trace_config.proto Alpha
logs/* Alpha
JSON encoding
All messages Alpha

(See maturity-matrix.yaml for definition of maturity levels).

Note that maturity guarantees apply only to wire-level compatibility for the binary Protobuf serialization. Neither message, field, nor enum names of Protobuf messages are visible on the wire and are not considered part of the guarantees. We are free to make change to the names.

In the future when OTLP/JSON is declared stable, field names will also become part of the maturity guarantees, since field names are visible on the wire for JSON encoding.

Experiments

In some cases we are trying to experiment with different features. In this case we recommend using an "experimental" sub-directory instead of adding them to any protocol version. These protocols should not be used, except for development/testing purposes.

Another review must be conducted for experimental protocols to join the main project.