|
|
|
|
|
by tnolet
732 days ago
|
|
A recent example of OTel confusion. I could for the life of me not get the Python integration send traces to a collector. Same URL, same setup same API key as for Nodejs and Go. Turns out the Python SDK expect a URL encoded header, e.g. “Bearer%20somekey” whereas all other SDKs just accept a string with a whitespace. The whole split between HTTP, protobuf over HTTP and GRPC is also massively confusing. |
|
We had to use wireshark to identify a super nasty bug in the “JavaScript” (but actually typescript despite being called opentelemetryjs) implementation.
And OTEL is largely unsuitable for short lived processes like CLIs, CI/CD. And I would wager the same holds for FaaS (Lambda).
In the end I prefer the network topology of StatsD, which is what we were migrating from. Let the collector do ALL of the bookkeeping instead of faffing about. OTEL is actively hostile to process-per-thread programming languages. If I had it to do over again I’d look at the StatsD->Prometheus integrations, and the StatsD extensions that support tagging.