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

trace: update tracing-subscriber to 0.2.0-alpha.4 #418

Merged
merged 1 commit into from
Jan 31, 2020

Conversation

hawkw
Copy link
Contributor

@hawkw hawkw commented Jan 30, 2020

This commit updates the proxy's tracing-subscriber dependency from
0.1.4 to 0.2.0-alpha.4. This alpha includes tokio-rs/tracing#514, which
fixes a pair of issues which prevent spans from being considered closed.
One of these issues exists in 0.1.x as well.

When spans are not considered closed, storage allocated for those spans'
per-span data is not reused. Therefore, this issue results in a memory
leak.

Note that some span storage will still not appear to be
deallocated after this change, but that storage will be reused when
spans are allowed to close correctly.

In addition, I've updated the proxy's trace module to remove the
custom formatter. This was used only to add Linkerd's custom logging
contexts to tracing-subscriber logs, and as we no longer use the
logging contexts, we can use tracing-subscriber's default formatter.
Now, we only override the timestamp format.

This may fix linkerd/linkerd2#3998 (pending verification).

Signed-off-by: Eliza Weisman [email protected]

This commit updates the proxy's `tracing-subscriber` dependency from
0.1.4 to 0.2.0-alpha.4. This alpha includes tokio-rs/tracing#514, which
fixes a pair of issues which prevent spans from being considered closed.
One of these issues exists in 0.1.x as well.

When spans are not considered closed, storage allocated for those spans'
per-span data is not reused. Therefore, this issue results in a memory
leak.

Note that some span storage will still not appear to be
_deallocated_ after this change, but that storage will be reused when
spans are allowed to close correctly.

In addition, I've updated the proxy's `trace` module to remove the
custom formatter. This was used only to add Linkerd's custom logging
contexts to `tracing-subscriber` logs, and as we no longer use the
logging contexts, we can use `tracing-subscriber`'s default formatter.
Now, we only override the timestamp format.

Signed-off-by: Eliza Weisman <[email protected]>
@hawkw hawkw requested review from olix0r and adleong January 30, 2020 20:50
@hawkw hawkw self-assigned this Jan 30, 2020
@olix0r olix0r requested a review from a team January 30, 2020 23:06
Copy link
Contributor

@kleimkuhler kleimkuhler left a comment

Choose a reason for hiding this comment

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

👍

@olix0r olix0r merged commit 07667b8 into master Jan 31, 2020
@olix0r olix0r deleted the eliza/update-subscriber branch January 31, 2020 00:06
olix0r added a commit to linkerd/linkerd2 that referenced this pull request Feb 4, 2020
This release fixes a bug in the proxy's logging subsystem that could
cause the proxy to consume memory until the process is OOMKilled,
especially when the proxy was configured to log diagnostic information.

The proxy also now properly emits `grpc-status` headers when signaling
proxy errors to gRPC clients.

This release upgrades the proxy's Rust version, the `http` crate
dependency to address RUSTSEC-2019-0033 and RUSTSEC-2019-0034, and the
`prost` crate dependency has been patched to address RUSTSEC-2020-02.

---

* internal: Introduce a locking middleware (linkerd/linkerd2-proxy#408)
* Update to Rust 1.40 with new Cargo.lock format (linkerd/linkerd2-proxy#410)
* Update http to v0.1.21 (linkerd/linkerd2-proxy#412)
* internal: Split retry, http-classify, and http-metrics (linkerd/linkerd2-proxy#409)
* Actually update http to v0.1.21 (linkerd/linkerd2-proxy#413)
* patch `prost` 0.5 to pick up security fix (linkerd/linkerd2-proxy#414)
* metrics: Make Counter & Gauge atomic (linkerd/linkerd2-proxy#415)
* Set grpc-status headers on dispatch errors (linkerd/linkerd2-proxy#416)
* trace: update `tracing-subscriber` to 0.2.0-alpha.4 (linkerd/linkerd2-proxy#418)
* discover: Warn on discovery error (linkerd/linkerd2-proxy#422)
* router: Avoid large up-front allocations (linkerd/linkerd2-proxy#421)
* errors: Set correct HTTP version on responses (linkerd/linkerd2-proxy#424)
* app: initialize tracing prior to parsing env vars (linkerd/linkerd2-proxy#425)
* trace: update tracing-subscriber to 0.2.0-alpha.6 (linkerd/linkerd2-proxy#423)
adleong pushed a commit to linkerd/linkerd2 that referenced this pull request Feb 4, 2020
This release fixes a bug in the proxy's logging subsystem that could
cause the proxy to consume memory until the process is OOMKilled,
especially when the proxy was configured to log diagnostic information.

The proxy also now properly emits `grpc-status` headers when signaling
proxy errors to gRPC clients.

This release upgrades the proxy's Rust version, the `http` crate
dependency to address RUSTSEC-2019-0033 and RUSTSEC-2019-0034, and the
`prost` crate dependency has been patched to address RUSTSEC-2020-02.

---

* internal: Introduce a locking middleware (linkerd/linkerd2-proxy#408)
* Update to Rust 1.40 with new Cargo.lock format (linkerd/linkerd2-proxy#410)
* Update http to v0.1.21 (linkerd/linkerd2-proxy#412)
* internal: Split retry, http-classify, and http-metrics (linkerd/linkerd2-proxy#409)
* Actually update http to v0.1.21 (linkerd/linkerd2-proxy#413)
* patch `prost` 0.5 to pick up security fix (linkerd/linkerd2-proxy#414)
* metrics: Make Counter & Gauge atomic (linkerd/linkerd2-proxy#415)
* Set grpc-status headers on dispatch errors (linkerd/linkerd2-proxy#416)
* trace: update `tracing-subscriber` to 0.2.0-alpha.4 (linkerd/linkerd2-proxy#418)
* discover: Warn on discovery error (linkerd/linkerd2-proxy#422)
* router: Avoid large up-front allocations (linkerd/linkerd2-proxy#421)
* errors: Set correct HTTP version on responses (linkerd/linkerd2-proxy#424)
* app: initialize tracing prior to parsing env vars (linkerd/linkerd2-proxy#425)
* trace: update tracing-subscriber to 0.2.0-alpha.6 (linkerd/linkerd2-proxy#423)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

proxy RSS grows with traffic
3 participants