Change Rate Anomaly in Service Mesh

Overview Classic Service Mesh architecture uses sidecar proxies and load balancers, like Envoy, HAProxy or other, maybe proprietary solution. Load Balancer performs routing for different services or micro services and can track some obvious metrics - latencies, errors, availability. One popular approach for anomaly detection - compare service metrics with its historical values. But there … Continue reading Change Rate Anomaly in Service Mesh

Codegen test coverage

One of GoLang optimization that I named "cmd/compile: avoid mapaccess at m[k]=append(m[k].."  (Issue 24364 and CL 100838) removes excessive runtime.mapaccess call. I provided usual tests and benchmarks that guarantee that the map still works as expected and performance has been improved. And I had to generate ASM code manually to make sure that CALL runtime.mapaccess is … Continue reading Codegen test coverage

go vet: Printf family check

What? I use golang with VSCode IDE. One of the features that I enabled is on-fly static code analysis. It uses standard golang feature Command Vet This article is about interesting Printf family check behaviour. If write a code go vet reports "Missing argument for Errorf("%v"): format reads arg2, have on". go vet … Continue reading go vet: Printf family check

How to implement Field Does Not Exist at Lucene?

Apache Lucene is a core for many search engines and naturally supports queries like Field Exists for static fields. For example, Lucene query "field_name:*" will return all documents that have field_name, any value. But there is no way to query: "-field_name:*" and hence there is no natural support for Field Does Not Exist. If application's search engine … Continue reading How to implement Field Does Not Exist at Lucene?