📈 "metrics" can either mean a generic synonym for telemetry data, or "statsd-style integers with tags appended for grouping". the first is uselessly broad in this context.
📈 "logs" usually means unstructured strings written out to disk. (cont'd)
📈 and "tracing" generally means distributed tracing.
ok. definitions in hand now.
fuck logs. fuck disks for that matter, as anything more than a backoff+retry cache.
structure your fucking data like a fucking adult. and don't flush to disk except as a temp replay cache.
this is ACTUALLY UN POSSIBLE with either metrics OR logs. this is a quantum leap in o11y functionality -- seems worth a nod.
and what about exception trackers, e.g. @getsentry?? where do they fit in to these 3 pillars? (they don't, because it's not a sensible frame)
there's one storage format (metric), one use case (tracing), and one amorphous garbage heap (logs).
* health of the system (metrics, aggregation, time series)
* health of the event (structured log events, sampling, instrumentation)
* bugs in my code (exceptions, stack traces)
this strikes me as the most reasonable and realistic accounting of modern tools & practices.