OpenTelemetry Tracing in < 200 lines of code

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • sentry-javascript

    Official Sentry SDKs for JavaScript

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • opentelemetry-proto

    OpenTelemetry protocol (OTLP) specification and Protobuf definitions

    The OpenTelemetry spec is a mess. There's so much … abstract blah blah blah? … and very little actual details.

    If I actually go to the part of the spec that I think gets down to "here is how to concretely write OpenTelemetry stuff [1], that seems to have the various attributes camelCased, for example, whereas the article has named them "spanID" and "traceID".

    AFAICT the "spec" also just links you to the implementation. "Just" read this protobuf definition, translate that to JSON in your mind's eye. I "POST" this to a hard-coded path tacked onto a URL… but do I post individual traces/logs? Can I batch them? I'm sure there's a gRPC thing I could start guessing from…

    But it seems like the JSON stuff is a second class citizen from the gRPC interface. Unless that's just as bad, too…

    Actually getting set up in Python isn't too terrible, though there are a few classes that you're like "what's the point of this?" and most of them are apparently just undoc'd. (E.g., [2], ^F TraceProvider, get nothing.)

    It is a bit depressing how this seems to be becoming The Chosen Spec.

    I also sort of have 64-bit integers for span IDs (TFA never mentions it, but AFAICT this is required by spec). I'd much rather have "/span/ids/are/a/tree" span IDs, as this integrates much better with any logging system: I can easily ask my log viewer to filter to a specific span (span_id == "/spans/a/b/c") or to a subtree (span_id regex-matches /^\/spans\/a\/.*/)

    [1]: https://opentelemetry.io/docs/specs/otlp/#otlphttp

    [2]: https://opentelemetry-python.readthedocs.io/en/latest/api/tr...

  • self-hosted

    Sentry, feature-complete and packaged up for low-volume deployments and proofs-of-concept

    > I maintain that any platform that isn’t using some sort of tracing system is practically negligent in their engineering duty.

    For some, it's difficult because many of the self-hostable out there are rather complex and have high requirements, like https://github.com/getsentry/self-hosted/blob/master/docker-...

    Personally I found Apache Skywalking to be something that you can setup without too many issues https://skywalking.apache.org/ but it's not exactly ideal either.

    I wonder what other good options are out there, something that you can have up and running on a 5$ VPS within an hour or two, to not cause friction.

    Of course, when SaaS is an option, many will just go for that.

  • skywalking

    APM, Application Performance Monitoring System

    > I maintain that any platform that isn’t using some sort of tracing system is practically negligent in their engineering duty.

    For some, it's difficult because many of the self-hostable out there are rather complex and have high requirements, like https://github.com/getsentry/self-hosted/blob/master/docker-...

    Personally I found Apache Skywalking to be something that you can setup without too many issues https://skywalking.apache.org/ but it's not exactly ideal either.

    I wonder what other good options are out there, something that you can have up and running on a 5$ VPS within an hour or two, to not cause friction.

    Of course, when SaaS is an option, many will just go for that.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Ask HN: Founders who offer free/OS and paid SaaS, how do you manage your code?

    17 projects | news.ycombinator.com | 13 May 2024
  • Fedify 1.3.0: OpenTelemetry support & enhanced message queue

    4 projects | dev.to | 29 Nov 2024
  • Volta: JavaScript Toolchains as Code

    1 project | news.ycombinator.com | 6 Nov 2024
  • Build Your Own nodemon in Few Lines of Code

    2 projects | dev.to | 19 Oct 2024
  • How to add Sentry to Next.js the right way!

    4 projects | dev.to | 16 Oct 2024

Did you konow that TypeScript is
the 2nd most popular programming language
based on number of metions?