jaegertracing/jaeger-idl

A set of shared data model definitions used by Jaeger components.

104

stars

178

commits

Go

primary language

Sep 10, 2026

updated

jaegertracing.io/

README

jaeger-idl Build Status Coverage Status

A set of shared Thrift and Protobuf data model definitions used by the Jaeger components.

As of Jan 2025 this repository also hosts Go code:

  • implementation of Jaeger-v1 domain model
    • Previous import path "github.com/jaegertracing/jaeger/model"
    • New import part is "github.com/jaegertracing/jaeger-idl/model/v1"
  • protoc-generated Go types for api_v2
    • Previous import path "github.com/jaegertracing/jaeger/proto-gen/api_v2"
    • New import part is "github.com/jaegertracing/jaeger-idl/proto-gen/api_v2"
  • All Thrift-generated types
    • Previous import path "github.com/jaegertracing/jaeger/thrift-gen/{agent,jaeger,sampling,zipkincore}"
    • New import part is "github.com/jaegertracing/jaeger-idl/thrift-gen/..."

Generating code

This repository only include Go code for some of the Thrift and Protobuf modules. It also runs Thrift and protoc generators as part of the CI to verify all IDL files. See the Makefile for example. In particular, the classes for different languages can be compiled using the jaegertracing/protobuf Docker image (see README).

To generate the stubs for your own purposes:

  • clone the repository
  • run make proto-all or make thrift-all
  • the stubs will be generated under .thrift-gen-polyglot/gen-{lang} for Thrift and .proto-gen-polyglot/{lang} for Protobuf

Compatibility

The Jaeger repositories that use these IDL files usually import this repository as a Git submodule, so you can verify which revision of the IDLs is being used by looking at the submodule commit sha, e.g. in GitHub it will show like this [->] idl @ d64c4eb.

Contributing

See CONTRIBUTING.

License

Apache 2.0 License.

Contributors

(top 30 of 37)

yurishkuro

54 commits

renovate-bot

35 commits

pavolloffay

12 commits

black-adder

11 commits

jaegertracing/jaeger-idl

A set of shared data model definitions used by Jaeger components.

104

stars

178

commits

Go

primary language

Sep 10, 2026

updated

jaegertracing.io/

README

jaeger-idl Build Status Coverage Status

A set of shared Thrift and Protobuf data model definitions used by the Jaeger components.

As of Jan 2025 this repository also hosts Go code:

  • implementation of Jaeger-v1 domain model
    • Previous import path "github.com/jaegertracing/jaeger/model"
    • New import part is "github.com/jaegertracing/jaeger-idl/model/v1"
  • protoc-generated Go types for api_v2
    • Previous import path "github.com/jaegertracing/jaeger/proto-gen/api_v2"
    • New import part is "github.com/jaegertracing/jaeger-idl/proto-gen/api_v2"
  • All Thrift-generated types
    • Previous import path "github.com/jaegertracing/jaeger/thrift-gen/{agent,jaeger,sampling,zipkincore}"
    • New import part is "github.com/jaegertracing/jaeger-idl/thrift-gen/..."

Generating code

This repository only include Go code for some of the Thrift and Protobuf modules. It also runs Thrift and protoc generators as part of the CI to verify all IDL files. See the Makefile for example. In particular, the classes for different languages can be compiled using the jaegertracing/protobuf Docker image (see README).

To generate the stubs for your own purposes:

  • clone the repository
  • run make proto-all or make thrift-all
  • the stubs will be generated under .thrift-gen-polyglot/gen-{lang} for Thrift and .proto-gen-polyglot/{lang} for Protobuf

Compatibility

The Jaeger repositories that use these IDL files usually import this repository as a Git submodule, so you can verify which revision of the IDLs is being used by looking at the submodule commit sha, e.g. in GitHub it will show like this [->] idl @ d64c4eb.

Contributing

See CONTRIBUTING.

License

Apache 2.0 License.

Contributors

(top 30 of 37)

yurishkuro

54 commits

renovate-bot

35 commits

pavolloffay

12 commits

black-adder

11 commits

Languages

Go

77.0%

Thrift

14.6%

Makefile

8.4%