github cloudfoundry/diego-release v2.42.0
Diego v2.42.0

latest releases: v2.65.0, v2.64.0, v2.63.0...
4 years ago

Resources

Changes from v2.41.0 to v2.42.0

Significant changes

Per-Instance Proxy

App Logging and Metrics

To address the app "noisy neighbor problem", an app log rate limiting feature has been published in this diego-release.

Component Logging and Metrics

BOSH property changes

rep and rep_windows

  • New - diego.executor.max_log_lines_per_second:
    Maximum log lines allowed per second per app instance (default:0)
    Default value of 0 disables rate limiting
    Minimum recommended value, if set: 100

Log Rate Limit Feature Implementation Details

The implementation used by Diego for the app log rate limiting feature is the golang rate limiting library.
The library essentially uses the [Token Bucket Algorithm](https://en.wikipedia.org/wiki/Token_bucket algorithm).

  • If an app exceeds its log rate limit, the rate at which the app's logs are pushed into the logging system will be limited (will slow down) up to the buffer limit.
  • If/when the buffer limit it hit, if the app is still logging, those extra log messages will be dropped (Only logs generated by the app instance that's exceeding the rate limit will be dropped. Other apps colocated on the same cell as the "noisy neighbor" will not be affected).
  • If the noisy neighbor app recovers to a logging rate that's below the rate limit set on the platform before the buffer limit is hit (for instance, after a short burst of extremely high log message generation), all the messages will still be printed out albeit with a slight delay).

Don't miss a new diego-release release

NewReleases is sending notifications on new releases.