Skip to content

Commit

Permalink
Added info on the protobuf usage and overview diagram
Browse files Browse the repository at this point in the history
  • Loading branch information
martinjt committed Aug 4, 2023
1 parent 598be05 commit 61cc4d4
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 3 deletions.
18 changes: 15 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,22 @@ The overall goal is to understand how hard Tail-Based sampling is, and try out s
* [Redis Pub/Sub](https://redis.io/docs/manual/pubsub/)
* [Redis Streams](https://redis.io/docs/data-types/streams/)

## Generating OpenTelemetry Protobuf
## Anatomy of a tracing proxy

Run the following command in the root
A tracing proxy has a few separate components that make it work, and this is what the project is aiming to build out so that we can see the challenges presented by each component. It looks a little like this.

![Overview of the sampling proxy](/docs/images/sampling-proxy-overview.jpg)

## Protobuf usage

The Proxy uses the opentelemetry-protobuf definitons as it's core. This is brought in through a submodule, and they're autogenerated for the API contract, and the export contract.

The tests use a statically generated and committed protobuf. This is so that the inbound requests to the proxy will always use a defined version, rather than uses the same source as the proxy itself. This way, we can ensure that even if the underlying protobuf definitions fail, the tests are sending the older versions that clients would use.

## Generating OpenTelemetry Protobuf For the tests

Run the following command in the root to generate new protobuf definitons for the tests.

```shell
protogen --proto_path=opentelemetry-proto/ --csharp_out=src/Otel.Proxy/ **/*.proto
protogen --proto_path=opentelemetry-proto/ --csharp_out=tests/Otel.Proxy.Tests/ **/*.proto
```
Binary file added docs/images/sampling-proxy-overview.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 61cc4d4

Please sign in to comment.