Aperture v0.9.0
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 onsignal_reading
metric for indicating whether the
reading was valid.- Rename label
attribute_found
on FluxMeter metric tovalid
to be
consistent with Signal metrics. - A new panel in Signals dashboard: "Signal Validity (Frequency)"