Skip to content

Aperture v0.9.0

Compare
Choose a tag to compare
@hdkshingala hdkshingala released this 07 Nov 13:46
009ea43

Changelog

List of aperture PRs merged since 0.8.0 release. For the full list of changes, see list of changes

flowcontrol: restructure codebase II (#898)

Description of change

Making room for adding more APIs (adapters, previews etc) under
flowcontrol.

Document Prometheus metrics and OLAP Flow events (#878)

Speed up ser/deserialization of CheckResponse in envoy authz (#881)

Now CheckResponse is binary-encoded in protobuf wire format and stored
in DynamicMetadata as base64 string. This speeds up serialization, but
also deserialization (in metrics processor).

No changes in envoyfilter defition were needed as envoy's access logger passes
StringValue from dynamic meatadata as-is (previously, it was JSON-encoding a
StructValue into string)

Note: metrics processor still accepts JSON-encoding, so other SDKs should
continue working without changes.

Results

(Based on looking at pprof data)

  • createExtAuthzResponse went from total 18% to total 2.6% (from about 50% of
    authz.Check to about 10%).
  • GetStruct went from total 6% to total 3% (from about 75% of
    metricsprocessor.ConsumeLogs to about 40%)
  • total ~20% improvement
  • now agent's overhead is either comparable or slightly higher than istio
    proxy's (before, it was noticably higher). (Note: istio proxy might also had
    sped up as a result of this change due to not needing to serialize
    protobuf.Struct in access logs, although I haven't measured this precisely)

Use envoy authz in java sdk (#816)

buf dependencies were updated resulting in changes in many generated files.

Restructure flowcontrol directories (#884)

Description of change

Restructure directories

Invalid signals telemetry (#876)

Description of change

  • valid label on signal_reading metric for indicating whether the
    reading was valid.
  • Rename label attribute_found on FluxMeter metric to valid to be
    consistent with Signal metrics.
  • A new panel in Signals dashboard: "Signal Validity (Frequency)"

panichandler: process panic handlers in the same go routine (#875)