Change the trace API to directly depend on the Context implementation. (#154)

* Change the trace API to directly depend on the Context implementation.

Other changes in this PR:
Enable maven tests for core (common and trace).
Make trace tests in core to compile with java6.

Reasons to change to directly use the io.grpc.Context API:

We would need to have a different API that allows users to pass the generic context between threads and via Executors (similar with io.grpc.Context).
io.grpc.Context is an API the Storage is decoupled and can be backed by any mechanism not necessary thread-local.
Support for Deadline and Cancellation is a nice to have.
Other products may already support propagation of the io.grpc.Context.
It would have been very hard to make binaries work correctly when they have libraries that are using io.grpc.Context and libraries that are using something different.
19 files changed
tree: ed154968e0a9c06092985d8e821201021fa3374f
  1. all/
  2. benchmarks/
  3. core/
  4. core_impl/
  5. examples/
  6. gradle/
  7. shared/
  8. .bazelrc
  9. .gitignore
  10. .gitmodules
  11. .travis.yml
  12. BUILD
  13. build.gradle
  14. checkstyle.xml
  15. CONTRIBUTING.md
  16. findbugs-exclude.xml
  17. gradlew
  18. gradlew.bat
  19. LICENSE
  20. pom.xml
  21. README.md
  22. settings.gradle
  23. WORKSPACE
README.md

Census - A stats collection framework

Build Status

Census provides a framework to define and collect stats against metrics and to break those stats down across user-defined dimensions.