0.18 Upgrade Guide

An upgrade guide that addresses breaking changes in 0.18.0

Vector’s 0.18.0 release includes breaking changes:

  1. batch.max_size no longer valid for sinks
  2. request.in_flight_limit no longer valid for sources and sinks
  3. http_client_responses_total now labels status with only numeric code
  4. Field name change for aggregated summaries in metric_to_log transform
  5. Removal of deprecated configuration fields for the Datadog metrics sink: host and namespace

We cover them below to help you upgrade quickly:

Upgrade guide

batch.max_size no longer valid for sinks

We’ve finally removed the batch.max_size parameter from sinks that support batching. In the past, this field allowed settings the maximum batch size in a general way, being interpreted by the sink to mean either bytes or events. As we add more and more sinks, some which support the notion of batches being limited by both bytes and events, we’ve removed max_size as a way to ensure every configuration is clear as to what is being limited rather than forcing users to dig into the documentation to understand how the sink will interpret max_size.

If you’re currently setting this, you will need to switch to either batch.max_bytes or batch.max_events. If you’re trying to limit the size of the batch, in terms of bytes, you should use batch.max_bytes. Otherwise, if you’re trying to limit the size of the batch in terms of events, you should use batch.max_events.

request.in_flight_limit no longer valid for sources and sinks

Similarly to batch.max_size, we’ve had support for adjusting the concurrency of sources and sinks via request.concurrency for some time now. This is the preferred field to set, and is referenced in all of our documentation.

request.concurrency and request.in_flight_limit were both treated the same internally, so simply renaming any instances of request.in_flight_limit in your configurations to request.concurrency is enough to address this change.

http_client_responses_total now labels status with only numeric code

The http_client_responses_total internal metric has a status label indicating the HTTP status code of the response. Previously, this label included the canonical reason, for example the OK in 200 OK; however, this was an oversight. It was meant to only include the numeric value, 200. With this release, the status label for this metric only includes the code and not the canonical reason.

Having only the numeric value makes it easier to group status codes (for example all 2xx level status codes) in downstream metrics systems.

Field name change for aggregated summaries in metric_to_log transform

We’ve updated the rendered fields for “aggregated summaries” when emitted by the metric_to_log transform to better align with the actual data itself. Instead of upper_limit, the field which holds the quantile is now called q, which is a common shorthand for “quantile”.

upper_limit is a holdover from the initial implementation of metrics support in Vector and applies to aggregated histograms, but not to aggregated summaries.

Removal of deprecated configuration fields for the Datadog metrics sink: host and namespace

As part of our continued efforts to keep the configuration and documentation for Vector as clean as possible, we’re removing two deprecated configuration fields from the Datadog Metrics sink: host and namespace.

It’s finally time to remove the cruft! You can migrate your configuration simply by switching to endpoint and default_namespace instead.