* add jaeger support, link hot container & req span * adds jaeger support now with FN_JAEGER_URL, there's a simple tutorial in the operating/metrics.md file now and it's pretty easy to get up and running. * links a hot request span to a hot container span. when we change this to sample at a lower ratio we'll need to finagle the hot container span to always sample or something, otherwise we'll hide that info. at least, since we're sampling at 100% for now if this is flipped on, can see freeze/unfreeze etc. if they hit. this is useful for debugging. note that zipkin's exporter does not follow the link at all, hence jaeger... and they're backed by the Cloud Empire now (CNCF) so we'll probably use it anyway. * vendor: add thrift for jaeger
1.7 KiB
Rust Thrift library
Overview
This crate implements the components required to build a working Thrift server and client. It is divided into the following modules:
- errors
- protocol
- transport
- server
- autogen
The modules are layered as shown. The generated layer is code generated by the
Thrift compiler's Rust plugin. It uses the components defined in this crate to
serialize and deserialize types and implement RPC. Users interact with these
types and services by writing their own code on top.
+-----------+
| app dev |
+-----------+
| generated | <-> errors/results
+-----------+
| protocol |
+-----------+
| transport |
+-----------+
Using this crate
Add thrift = "x.y.z" to your Cargo.toml, where x.y.z is the version of the
Thrift compiler you're using.
API Documentation
Full Rustdoc
Contributing
Bug reports and PRs are always welcome! Please see the Thrift website for more details.
Thrift Rust support requires code in several directories:
compiler/cpp/src/thrift/generate/t_rs_generator.cc: binding code generatorlib/rs: runtime librarylib/rs/test: supplemental teststutorial/rs: tutorial client and servertest/rs: cross-language test client and server
All library code, test code and auto-generated code compiles and passes clippy without warnings. All new code must do the same! When making changes ensure that:
rustcdoes does output any warningsclippywith default settings does not output any warnings (includes auto-generated code)cargo testis successfulmake precrossandmake checkare successfultutorial/bin/tutorial_clientandtutorial/bin/tutorial_servercommunicate