opentracing / specification

A place to document (and discuss) the OpenTracing specification. 🛑 This project is DEPRECATED! https://github.com/opentracing/specification/issues/163
http://opentracing.io/spec
Apache License 2.0
1.17k stars 182 forks source link

Example application #56

Open pavolloffay opened 7 years ago

pavolloffay commented 7 years ago

I think it would be great to have a demo app in contrib org. I have divided app goals from app requirements.

App goals:

App requirements:

  1. distributed polyglot app
  2. HTTP and RPC communication
  3. instrumentation
    • explicit
    • framework integration
    • agent
  4. database instrumentation
  5. simple way to change tracing backed

The app could be deployed with docker-compose. Add more requirements/goals please.

wu-sheng commented 7 years ago

+1 on this, good idea. But if we do this, we need a distributed application, client -> server -> db, at least. in order to demonstrate a cross-process propagation. And if considering multi language platforms, we need more applications.

This is a big project. 🥇 😊

yurishkuro commented 7 years ago

We already have one, I am happy to migrate it to opentracing: https://github.com/uber/jaeger/tree/master/examples/hotrod. It has 4 micro-services, a front end, and 2 simulated databases.

But it is all in Go. I know that @adriancole uses services in multiple languages when giving talks on Zipkin, which is great but a lot more tedious to setup for someone who wants to play with the demo app. Our demo can be run with a single command go run ./main.go all.

jpkrohling commented 7 years ago

I think it would be beneficial to have use-case based examples. For instance, a hello-world of sorts, for those who just want to understand how the basic blocks fit together, to run after reading the intro docs. A simple Java Servlet with the framework integration from -contrib would be sufficient.

Then a second one, similar to what @yurishkuro mentioned, with a microservices use-case, more advanced but not that complex.

And finally a "show case" example, where people can use as reference for specific (advanced?) use cases, like what @pavolloffay suggested.

pritianka-zz commented 7 years ago

Hey Guys - starting somewhat simpler, @tedsuo and I are working on a turnkey tracing project for Go, Python, Java where we create a sample app with frameworks in it instrumented for OT and hooked to a tracer. The goal is to quick start a developer looking to understand tracing for his or her environment. We'll create docs around the project and make it super easy to consume. Then we will evangelize it.

If you are interested, we can have a quick chat April first week to share our vision and progress to date. Let me know!

ibuziuk commented 6 years ago

The following microservice polyglot (java, node, vue.js, go) app example with zipkin for traces aggregation deployable via compose & k8s might provide some inspiration (MIT license) - https://github.com/elgris/microservice-app-example