grpc-go VS opentracing-javascript

Compare grpc-go vs opentracing-javascript and see what are their differences.

opentracing-javascript

OpenTracing API for Javascript (both Node and browser). ๐Ÿ›‘ This library is DEPRECATED! https://github.com/opentracing/specification/issues/163 (by opentracing)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
grpc-go opentracing-javascript
29 32
19,791 1,090
1.0% -
9.5 1.6
7 days ago over 2 years ago
Go TypeScript
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

grpc-go

Posts with mentions or reviews of grpc-go. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-09.
  • Reverse Engineering Protobuf Definitions from Compiled Binaries
    5 projects | news.ycombinator.com | 9 Mar 2024
  • gRPC Name Resolution & Load Balancing on Kubernetes: Everything you need to know (and probably a bit more)
    5 projects | dev.to | 6 Feb 2024
    Weโ€™re hoping to make this rate at least optional via this pull request but as the time of writing this blog, itโ€™s nothing we can do to circle our way around it.
  • Full Stack Forays with Go and gRPC
    5 projects | dev.to | 5 Jun 2023
    First, I started with gRPCโ€™s recommended starter repository for learning gRPC, their **helloworld **example, which is a part of the official gRPC repository.
  • Tools besides Go for a newbie
    36 projects | /r/golang | 26 Mar 2023
    IDE: use whatever make you productive. I personally use vscode. VCS: git, as golang communities use github heavily as base for many libraries. AFAIK Linter: use staticcheck for linting as it looks like mostly used linting tool in go, supported by many also. In Vscode it will be recommended once you install go plugin. Libraries/Framework: actually the standard libraries already included many things you need, decent enough for your day-to-day development cycles(e.g. `net/http`). But here are things for extra: - Struct fields validator: validator - Http server lib: chi router , httprouter , fasthttp (for non standard http implementations, but fast) - Web Framework: echo , gin , fiber , beego , etc - Http client lib: most already covered by stdlib(net/http), so you rarely need extra lib for this, but if you really need some are: resty - CLI: cobra - Config: godotenv , viper - DB Drivers: sqlx , postgre , sqlite , mysql - nosql: redis , mongodb , elasticsearch - ORM: gorm , entgo , sqlc(codegen) - JS Transpiler: gopherjs - GUI: fyne - grpc: grpc - logging: zerolog - test: testify , gomock , dockertest - and many others you can find here
  • Curl 8.0.1 because I jinked it
    5 projects | news.ycombinator.com | 21 Mar 2023
    If you read the first comment, youโ€™ll see the API was documented as being experimental.

    https://github.com/grpc/grpc-go/issues/3798#issuecomment-670...

  • When is go not a good choice?
    7 projects | /r/golang | 3 Mar 2023
    The lack of this analysis still results in bugs and CVEs. See how many races are found and fixed in gRPC releases: https://github.com/grpc/grpc-go/releases (search "race"). It's a shame Google does not publish these as CVEs, because many of them qualify.
  • Rust for backend. Is it recommended?
    4 projects | /r/rust | 28 Feb 2023
    I like to point people at this release to show that not even Google -- in its own language on its own library for its own RPC protocol -- can write thread-safe Go, so what chance does anyone else have. Maybe we have to stop thinking of Go as a language for mission critical parallel computing and think of it more like a Python 4 made for low-risk prototyping. Mature libraries help for that prototyping, you know how to put them together and get something working, that something just won't be scaleable, efficient, or thread-safe.
  • Partially-Implemented Interfaces in Go
    1 project | /r/golang | 24 Feb 2023
    I first learned about this technique when gRPC generated code started using it. See the short readme and the long issue discussion. I think a lot more of the rationale from the discussion should have made it into the readme, since this is the only time most Go developers will ever see this technique used, especially since it can't be retrofitted to existing interfaces without breaking existing implementations.
  • goRPC or gRPC?
    5 projects | /r/golang | 12 Feb 2023
    I don't have any experience with goRPC (I'm assuming you're referring to https://github.com/valyala/gorpc), but just to note that that repo hasn't been updated in 7 years and has open issues that are that old, too. https://github.com/grpc/grpc-go has 17.5k stars and is actively maintained. That doesn't say anything about their relative performance - goRPC might be faster - but you probably won't have a fun time if you run into issues.
  • Golang is evil on shitty networks
    21 projects | news.ycombinator.com | 29 Dec 2022
    Found the root cause from https://github.com/grpc/grpc-go/commit/383b1143 (original issue: https://github.com/grpc/grpc-go/issues/75):

        // Note that ServeHTTP uses Go's HTTP/2 server implementation which is

opentracing-javascript

Posts with mentions or reviews of opentracing-javascript. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-10-17.
  • Kotlin Spring WebFlux, R2DBC and Redisson microservice in k8s ๐Ÿ‘‹โœจ๐Ÿ’ซ
    12 projects | dev.to | 17 Oct 2022
    Spring Spring web framework Spring WebFlux Reactive REST Services Spring Data R2DBC a specification to integrate SQL databases using reactive drivers Redisson Redis Java Client Zipkin open source, end-to-end distributed tracing Spring Cloud Sleuth auto-configuration for distributed tracing Prometheus monitoring and alerting Grafana for to compose observability dashboards with everything from Prometheus Kubernetes automating deployment, scaling, and management of containerized applications Docker and docker-compose Helm The package manager for Kubernetes Flywaydb for migrations
  • Go and ElasticSearch full-text search microservice in k8s๐Ÿ‘‹โœจ๐Ÿ’ซ
    13 projects | dev.to | 16 Aug 2022
    Elasticsearch client for Go RabbitMQ Go RabbitMQ Client Library Jaeger open source, end-to-end distributed tracing Prometheus monitoring and alerting Grafana for to compose observability dashboards with everything from Prometheus Echo web framework Kibana is user interface that lets you visualize your Elasticsearch Docker and docker-compose Kubernetes K8s Helm The package manager for Kubernetes
  • Go EventSourcing and CQRS with PostgreSQL, Kafka, MongoDB and ElasticSearch ๐Ÿ‘‹โœจ๐Ÿ’ซ
    16 projects | dev.to | 18 Jul 2022
    PostgeSQL as event store database Kafka as messages broker gRPC Go implementation of gRPC Jaeger open source, end-to-end distributed tracing Prometheus monitoring and alerting Grafana for to compose observability dashboards with everything from Prometheus MongoDB MongoDB database Elasticsearch Elasticsearch client for Go. Echo web framework Kibana Kibana is data visualization dashboard software for Elasticsearch Migrate for migrations
  • OpenTelemetry vs OpenTracing - choosing one for instrumentation
    3 projects | dev.to | 28 Apr 2022
    OpenTracing was an open-source project aimed at providing vendor-neutral APIs and instrumentation for distributed tracing. In distributed cloud-native applications, it is difficult for engineering teams to see how requests are performing across services. And thatโ€™s where distributed tracing comes into the picture.
  • OpenTelemetry and Jaeger | Key concepts, features, and differences
    3 projects | dev.to | 9 Apr 2022
    OpenTracing is now archived, and it is suggested to migrate to OpenTelemetry.
  • Microservice communication Diagram
    1 project | /r/microservices | 27 Mar 2022
  • Go EventSourcing and CQRS microservice using EventStoreDB ๐Ÿ‘‹โšก๏ธ๐Ÿ’ซ
    12 projects | dev.to | 27 Feb 2022
    In this article let's try to create closer to real world Event Sourcing CQRS microservice using: ๐Ÿš€๐Ÿ‘จโ€๐Ÿ’ป๐Ÿ™Œ EventStoreDB The database built for Event Sourcing gRPC Go implementation of gRPC MongoDB Web and API based SMTP testing Elasticsearch Elasticsearch client for Go. Jaeger open source, end-to-end distributed tracing Prometheus monitoring and alerting Grafana for to compose observability dashboards with everything from Prometheus swag Swagger for Go Echo web framework Kibana Kibana is user interface that lets you visualize your Elasticsearch
  • Do Not Log
    1 project | news.ycombinator.com | 5 Jan 2022
    I agree; but I think it'll take years, if ever, to change this culture.

    Logging is a byproduct of a past time; everything is a file, stdout is a file, lets persist that file, now we have multiple replicas, lets collect the file into a multi-terabyte searchable database.

    The biggest downside: Its WILDLY expensive. Large orgs often have an entire team dedicated to maintaining logging (ELK) infrastructure. This price-tag inevitably leads to bikeshedding on backend teams about how to "reduce the amount we're logging" or "cleaning up the logs" or "structuring them to be more useful".

    Outside of development, they are so rarely useful. Yet inevitably someone will say: "you're just not structuring your logs correctly." Maybe that's true; similarly, I don't find vim to be a highly productive editing experience. Maybe I just don't have the thousands of extensions it would take to make it so. Or maybe You're stuck in the past and ignoring two decades of tooling improvement. Both can be true.

    I'm phrasing this as a false dichotomy, because in many teams: it is. Logging is easy; its built-in to most languages; so devs log. The information we need is in the system; its a needle in a haystack, but the needle is there. We log when a request comes in, when it hits pertinent functions, when its finished, how its finished, the manager says: "just look at the logs". Instead of "what better tooling can we make an investment in so future investigations of this nature don't take a full day."

    For starters: Tracing. Tracing systems should be built-in to EVERY LANGUAGE, just like console.log. We have a standard [1] sponsored by the Linux Foundation and supported by every major trace ingestion system. This is not a problem of camps and proprietary systems; its a problem of culture. I should be able to call a nodejs stdlib function at startup, specify where I want traces to go, sampling rate, etc, and immediately get every single function call instrumented. Its literally just highly-structured-by-default logging! Dump the spans to stdout by default! Our log ingestion systems can read each line, determine if its a span, if so route to trace ingestion, otherwise route to log ingestion.

    This is a critical step because it asserts that tracing is actually a very powerful tool that everyone needs to learn, like logging. Everyone knows about logging. Why? console.log. Its there, it gets used. Tracing right now is relegated to a subculture of "advanced diagnostics"; you gotta adopt a tracing provider, bring in dependencies, learn each implementation of OpenTracing, authenticate to send traces over HTTP... as a community, we should normalize just "dump traces like you dump logs, to stdout", have a formatter to make them nice to use in development, and now all that instrumentation work that any dev is capable of utilizing (just like console.log) "just works" in production.

    [1] https://opentracing.io/

  • I share my authentication server.
    18 projects | /r/golang | 20 Dec 2021
    Service mesh - ssup2ket services run on service mesh for detailed traffic control and easy monitoring. Service mesh is applied through Istio. Istio uses OpenTracing for easy request tracing between multiple services.
  • logging best practices
    1 project | /r/devops | 7 Dec 2021

What are some alternatives?

When comparing grpc-go and opentracing-javascript you can also consider the following projects:

rpcx - Best microservices framework in Go, like alibaba Dubbo, but with more features, Scale easily. Try it. Test it. If you feel it's better, use it! ๐‰๐š๐ฏ๐šๆœ‰๐๐ฎ๐›๐›๐จ, ๐†๐จ๐ฅ๐š๐ง๐ ๆœ‰๐ซ๐ฉ๐œ๐ฑ! build for cloud!

kafka-go - Kafka library in Go

validator - :100:Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving

opentelemetry-specification - Specifications for OpenTelemetry

go-zero - A cloud-native Go microservices framework with cli tool for productivity.

prometheus - The Prometheus monitoring system and time series database.

go-micro - A Go microservices framework

signoz - SigNoz is an open-source observability platform native to OpenTelemetry with logs, traces and metrics in a single application. An open-source alternative to DataDog, NewRelic, etc. ๐Ÿ”ฅ ๐Ÿ–ฅ. ๐Ÿ‘‰ Open source Application Performance Monitoring (APM) & Observability tool

Echo - High performance, minimalist Go web framework

opentelemetry-js - OpenTelemetry JavaScript Client

KrakenD - Ultra performant API Gateway with middlewares. A project hosted at The Linux Foundation

apm-agent-nodejs - Elastic APM Node.js Agent