They found best practices like: wrap each unit of work; report errors in a standard field; use span names that are specific enough to tell you what’s happening but general enough for useful grouping.
Then they tuned the span creations so that there wasn’t a bunch of duplicate-looking ones. Instead of repetitive spans, add more attributes.
“Add every identifier you have in your system” to help find problems.
For reassurance, they sent the events to their existing Elasticsearch as well as to @honeycombio .
But nobody looked at them there, so they turned it off later.
This part is cool: they turned the spans into formatted stdout lines for local dev.
And they emitted some of their span attributes to statsd for metrics, for the constantly-updating dashboards.
This gave them dashboards about what the service was doing.
If you look at the “three pillars” of observability from the top,
it’s all the same events.
Thinking trace-first proved useful.
Putting all this thought into a new way of doing things was meh —like, it was better, but not revolutionary.
(darn)
• • •
Missing some Tweet in this thread? You can try to
force a refresh
I laugh at people who talk about “exactly-once delivery”
The specs that claim it have been proven wrong.
But we have methods (like idempotency) to do things well. @mjpt777#YowLondon
Make handover/resumption protocols.
“This is what I thought I sent to you last, did you get it?”
“Here’s what I got from you last, let’s work it out from there”
If we go from Idea to Behavior change to new Idea…
how quickly we can do that depends on the structure. @kentbeck
If we go Idea to Behavior to Idea to Behavior
as fast as we can,
it’s gonna get slower and slower and then the developers will get frustrated and leave and the new developers will be even slower…
So sometimes, we make a structure change before the behavior change. @KentBeck
SREs in the audience? (Dozens of hands)
Experienced SREs? (Like 2.5 hands)
We @RedHat used to ship products. Build a thing, package it, send to customers. Then it was their problem. Customer hires a consultant or figures it out.
Now we mostly ship services. Now it’s our headache, reliability and uptime etc. It’s different
The team deserves someone
who wants to manage people.
who is not bitter about meetings
who is interested in sociotechnical systems and nurturing careers
whose technical skills are strong enough to evaluate their work.