-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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: apply tracer provider configuration defined as part of http_connection_manager
filter
#10405
tracing: apply tracer provider configuration defined as part of http_connection_manager
filter
#10405
Changes from 7 commits
0561ccc
6ba1f98
0e36c6c
b910b95
7ca80c7
41013a4
073b24e
0801eba
880824d
f079135
49e0ec4
66b1118
fbc2921
6bb0bdb
fc6591d
2107e1f
834740f
16722dc
220f429
67668e4
b5348f9
6642087
ed40fac
e88c14f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -162,8 +162,18 @@ message HttpConnectionManager { | |
|
||
// Configuration for an external tracing provider. | ||
// If not specified, Envoy will fall back to using tracing provider configuration | ||
// from the bootstrap config. | ||
// [#not-implemented-hide:] | ||
// from the bootstrap config (for short-term backwards compatibility). | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I would make the new docs read as it should be now vs. referring back to the previous behavior. That can be covered in deprecated.rst. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. fixed |
||
// | ||
// The advantage of using this field over relying on the bootstrap config is that now | ||
// tracing provider configuration can be completely dynamic and get delivered over xDS. | ||
// | ||
// .. attention:: | ||
// Please be aware that *envoy.tracers.opencensus* provider can only be configured once | ||
// in Envoy lifetime. | ||
// Any attempts to reconfigure it or to use different configurations for different HCM filters | ||
// will be rejected. | ||
// Such a constraint is inherent to OpenCensus itself. It cannot be overcome without changes | ||
// on OpenCensus side. | ||
trace.v2.Tracing.Http provider = 9; | ||
} | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -22,11 +22,22 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE; | |
// [#protodoc-title: Tracing] | ||
// Tracing :ref:`architecture overview <arch_overview_tracing>`. | ||
|
||
// The tracing configuration specifies global | ||
// settings for the HTTP tracer used by Envoy. The configuration is defined by | ||
// the :ref:`Bootstrap <envoy_api_msg_config.bootstrap.v2.Bootstrap>` :ref:`tracing | ||
// <envoy_api_field_config.bootstrap.v2.Bootstrap.tracing>` field. Envoy may support other tracers | ||
// in the future, but right now the HTTP tracer is the only one supported. | ||
// The tracing configuration specifies settings for an HTTP tracer provider used by Envoy. | ||
// | ||
// The configuration should preferably be defined as part of | ||
// the :ref:`HttpConnectionManager.Tracing <envoy_api_msg_config.filter.network.http_connection_manager.v2.HttpConnectionManager.Tracing>` | ||
// :ref:`provider <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.Tracing.provider>` | ||
// field. | ||
// | ||
// Alternatively, for the sake of short-term backwards compatibility, it is also possible to define | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same comment here. Please make the new docs refer to the expected new config, and talk about deprecation in deprecated.rst There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. fixed |
||
// tracing configuration as part of the :ref:`Bootstrap.tracing <envoy_api_msg_config.bootstrap.v2.Bootstrap>` | ||
// field. | ||
// | ||
// [#comment:TODO(yskopets): Restore the link to the Bootstrap.tracing field after the switch to | ||
// v3/v4alpha api cycle: :ref:`tracing <envoy_api_field_config.bootstrap.v2.Bootstrap.tracing>`] | ||
// | ||
// Envoy may support other tracers in the future, but right now the HTTP tracer is the only one | ||
// supported. | ||
message Tracing { | ||
message Http { | ||
// The name of the HTTP trace driver to instantiate. The name must match a | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -23,11 +23,22 @@ option (udpa.annotations.file_status).package_version_status = NEXT_MAJOR_VERSIO | |
// [#protodoc-title: Tracing] | ||
// Tracing :ref:`architecture overview <arch_overview_tracing>`. | ||
|
||
// The tracing configuration specifies global | ||
// settings for the HTTP tracer used by Envoy. The configuration is defined by | ||
// the :ref:`Bootstrap <envoy_api_msg_config.bootstrap.v3.Bootstrap>` :ref:`tracing | ||
// <envoy_api_field_config.bootstrap.v3.Bootstrap.tracing>` field. Envoy may support other tracers | ||
// in the future, but right now the HTTP tracer is the only one supported. | ||
// The tracing configuration specifies settings for an HTTP tracer provider used by Envoy. | ||
// | ||
// The configuration should preferably be defined as part of | ||
// the :ref:`HttpConnectionManager.Tracing <envoy_api_msg_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing>` | ||
// :ref:`provider <envoy_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.Tracing.provider>` | ||
// field. | ||
// | ||
// Alternatively, for the sake of short-term backwards compatibility, it is also possible to define | ||
// tracing configuration as part of the :ref:`Bootstrap.tracing <envoy_api_msg_config.bootstrap.v3.Bootstrap>` | ||
// field. | ||
// | ||
// [#comment:TODO(yskopets): Restore the link to the Bootstrap.tracing field after the switch to | ||
// v3/v4alpha api cycle: :ref:`tracing <envoy_api_field_config.bootstrap.v3.Bootstrap.tracing>`] | ||
// | ||
// Envoy may support other tracers in the future, but right now the HTTP tracer is the only one | ||
// supported. | ||
message Tracing { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is this message actually used anymore or just the inner HTTP message? Should this message actually be tagged for deletion with the inner message moved somehow? I don't think the tool supports this but we might want to file an issue here? cc @htuch There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
I don't see a support for marking the entire message type as I've added an "attention" message to @htuch Should I open an issue or you can phrase it better what needs to be done ? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please open an issue to track this. We will need some tooling work I think to make sure this message gets deleted/moved/etc. I'm not sure the best way of handling. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. opened #10740 |
||
option (udpa.annotations.versioning).previous_message_type = "envoy.config.trace.v2.Tracing"; | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -60,6 +60,13 @@ | |
typed_config: {} | ||
tracing: | ||
operation_name: INGRESS | ||
# Notice that tracing provider configuration is now part of "envoy.filters.network.http_connection_manager" config. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. nit: I think this comment can be skipped, same elsewhere. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. fixed |
||
provider: | ||
name: envoy.tracers.lightstep | ||
typed_config: | ||
"@type": type.googleapis.com/envoy.config.trace.v2.LightstepConfig | ||
access_token_file: "/etc/envoy/lightstep_access_token" | ||
collector_cluster: lightstep_saas | ||
common_http_protocol_options: | ||
idle_timeout: 840s | ||
access_log: | ||
|
@@ -177,13 +184,6 @@ stats_sinks: | |
typed_config: | ||
"@type": type.googleapis.com/envoy.config.metrics.v2.StatsdSink | ||
tcp_cluster_name: statsd | ||
tracing: | ||
http: | ||
name: envoy.tracers.lightstep | ||
typed_config: | ||
"@type": type.googleapis.com/envoy.config.trace.v2.LightstepConfig | ||
access_token_file: "/etc/envoy/lightstep_access_token" | ||
collector_cluster: lightstep_saas | ||
layered_runtime: | ||
layers: | ||
- name: root | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -94,6 +94,9 @@ Deprecated items below are listed in chronological order. | |
has been deprecated in favor of `header_compressor_used`. | ||
* Support for the undocumented HTTP/1.1 `:no-chunks` pseudo-header has been removed. If an extension | ||
was using this it can achieve the same behavior via the new `http1StreamEncoderOptions()` API. | ||
* Tracing provider configuration as part of :ref:`bootstrap config <envoy_api_field_config.bootstrap.v2.Bootstrap.tracing>` | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please move to 1.15.0. Also I think this changes needs a release note. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. fixed |
||
has been deprecated in favor of configuration as part of :ref:`HTTP connection manager | ||
<envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.Tracing.provider>`. | ||
|
||
1.13.0 (January 20, 2020) | ||
========================= | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
v2 is frozen so this need to move to v3. Please merge master.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can I at least update the doc ?
Otherwise, the doc will be confusing. Currently, it says:
It's not possible to understand from it that a configuration inside HCM is enough.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes the doc fix is fine, thanks.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed