Pinned Tweet
Just published a blog post I've been working on for a little while: "Async Rust can be a pleasure to work with (without Send + Sync + 'static)"
TL;DR: async @rustlang is actually pleasant to use with structured concurrency and thread-per-core runtimes
emschwartz.me/async-rust-can…
I just posted a new blog post: Unnecessary Optimization in Rust: Hamming Distances, SIMD, and Auto-Vectorization
emschwartz.me/unnecessary-op…
Thanks @tembo_io for benchmarking @paradedb and Postgres full text search. I happened to be writing about BM25 when I found it so I included it in the second post tembo.io/blog/paradedb-searc…
I just published two blog posts digging into the BM25 full text search algorithm:
Understanding the BM25 full text search algorithm: emschwartz.me/understanding-…
Comparing full text search algorithms: BM25, TF-IDF, and Postgres emschwartz.me/comparing-full…
I just published two blog posts digging into the BM25 full text search algorithm:
Understanding the BM25 full text search algorithm: emschwartz.me/understanding-…
Comparing full text search algorithms: BM25, TF-IDF, and Postgres emschwartz.me/comparing-full…
Here's a new blog post about why binary vector embeddings are so cool.
TL;DR: they retain 95% retrieval accuracy with 32x compression and a ~25x speedup for lookups 🤯
Thanks to the folks at @mixedbreadai for their work on this topic!
emschwartz.me/binary-vector-…
Wrote another Rust blog post: Understanding Memory Ordering in Rust
I'm reading @m_ou_se's Rust Atomics and Locks book and didn't grok memory ordering the first time through, so I tried to understand it better by re-explaining it
emschwartz.me/understanding-…
I had a lot of fun hacking on @TigerBeetleDB yesterday. It seems powerful and it's a neat take on a database (increase the efficiency and simplicity by using a very domain-specific model for financial accounting). I do think the DX can be improved w/ codegen analogous to gRPC
Ladies and gentlemen, the Oscar goes to... 🥁🥁🥁
1st - TigerBeetle Schema Wizard by @_emschwartz
2nd - TigerSwarm by @errebino
3rd - Teaching the beetle to fly 💸by @cairinbruce
A special thank you to everyone who took part in our first hackathon at the #ILPsummit23!
Evan Schwartz retweeted
Prometheus queries got you scratching your head?🤔 @_emschwartz's blog post breaks down the complexities. @PrometheusIO
fiberplane.com/blog/why-are-…
Evan Schwartz retweeted
Gaining visibility and performance insight into a system can be challenging.
💫 The newly released autometrics-rs 0.5 supercharges your use of @PrometheusIO.
Learn how Autometrics does that and what Prometheus exemplars have to do with it.
fiberplane.com/blog/autometr…
I'm quite excited about this feature
Autometrics now includes a `build_info` metric with the version & commit and then writes queries that can help you correlate problems with which version may have introduced them. The PromQL tricks that make it work are also quite fun
💫 New Autometrics feature - #autometrics-rs v0.4 enables you to easily identify the commit or version of your code that introduced errors or added latency.
#rustlang #observability
fiberplane.com/blog/autometr…
I wrote up some of the thinking that underpins the @AutometricsDev project in another blog post. I'd love to hear what observability & devops folks think about this!
fiberplane.com/blog/the-case…
Evan Schwartz retweeted
autometrics-rs 0.3: Defining Service-Level Objectives (SLOs) in Rust Source Code
by @_emschwartz
lobste.rs/s/4luzak #rust
fiberplane.com/blog/autometr…
This was a fun experience stretching the limits of what Prometheus labels + queries can be used for. Now every @AutometricsDev-instrumented project can use the same alert rules file
Thanks to @sinkingpoint for the inspiration on (ab)using labels for slightly unusual purposes 😊
Check out our latest blog post on crafting a great developer experience with SLOs, generic alerting rules, and complex PromQL queries.📈🚨 #observability #prometheus #autometrics
fiberplane.com/blog/an-adven…
Evan Schwartz retweeted
New to @rustlang🦀? Learn about getting past ‘ampersand-driven development’ in this piece by @_emschwartz.
Evan shares a little mental model for understanding the difference between &, &mut, owned values, Rcs, and Arcs. #rustlang
fiberplane.com/blog/getting-…
Does anyone know why @OpenTelemetry and @OpenMetricsIO standardized metrics in _slightly_ different ways?
- _count vs _total suffixes
- seconds vs milliseconds
These do not seem like meaningful differences but they make it impossible to support both formats at the same time
Autometrics v0.2 is out now with the following changes:
- You can apply `#[autometrics]` to a whole `impl` block (in addition to individual functions)
- Supports the `metrics` & `prometheus` crates for tracking metrics
- Tracking concurrent requests is now optional
Just open-sourced a @rustlang macro that makes it easy to track metrics for any function.
The fun parts:
- writes Prometheus queries for you
- inserts links to graphs of your production metrics into each function's doc comments
Feedback welcome!
github.com/fiberplane/autome…
Just open-sourced a @rustlang macro that makes it easy to track metrics for any function.
The fun parts:
- writes Prometheus queries for you
- inserts links to graphs of your production metrics into each function's doc comments
Feedback welcome!
github.com/fiberplane/autome…
Which programming language would you like to have an autometrics library in next?
39%JavaScript / TypeScript
26%Python
28%Go
7%Other (reply 2 say which)
46 votes • Final results







