Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tracing: Support dynamically loading tracing libraries. #386

Merged
merged 9 commits into from
Jan 23, 2018
Merged
19 changes: 15 additions & 4 deletions api/trace.proto
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,15 @@ import "validate/validate.proto";
message Tracing {
message Http {
// The name of the HTTP trace driver to instantiate. The name must match a
// supported HTTP trace driver. *envoy.lightstep* and *envoy.zipkin* are
// built-in trace drivers.
// supported HTTP trace driver. *envoy.lightstep*, *envoy.zipkin*, and
// *envoy.dynamic* are built-in trace drivers.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

envoy.dynamic.ot?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

string name = 1 [(validate.rules).string.min_bytes = 1];

// Trace driver specific configuration which depends on the driver being
// instantiated. See the :ref:`LightstepConfig
// <envoy_api_msg_LightstepConfig>` and :ref:`ZipkinConfig
// <envoy_api_msg_ZipkinConfig>` trace drivers for examples.
// <envoy_api_msg_LightstepConfig>`, :ref:`ZipkinConfig
// <envoy_api_msg_ZipkinConfig>`, and :ref:`DynamicOtConfig
// <envoy_api_msg_DynamicOtConfig>` trace drivers for examples.
google.protobuf.Struct config = 2;
}
// Provides configuration for the HTTP tracer.
Expand Down Expand Up @@ -52,3 +53,13 @@ message ZipkinConfig {
// /api/v1/spans, which is the default value.
string collector_endpoint = 2 [(validate.rules).string.min_bytes = 1];
}

message DynamicOtConfig {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Can you add a small message level description?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added.

// Dynamic library implementing the `OpenTracing API
// <https://github.com/opentracing/opentracing-cpp>`_.
string library = 1 [(validate.rules).string.min_bytes = 1];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be library_path ? @wora ? Not sure what the standard is here.


// The configuration to use when creating a tracer from the given dynamic
// library.
google.protobuf.Struct config = 2;
}