Getting Started
The examples on the left provide instructions for getting started with the OddDotNet OpenTelemetry test harness. Each example will (eventually!) include a video describing the project, along with code snippets and written descriptions.
Prerequisites
OddDotNet Container
All of the examples require the OddDotNet container, with an exposed port for gRPC (and eventually HTTP).
docker run -p 4317:4317 ghcr.io/odddotnet/odddotnet:latest
This will start the container up and expose port 4317 on your host machine. You will omit this step if you are managing the container in code instead, such as with a test that uses Testcontainers to spin up dependencies.
Protobuf
In addition to the container, you will also need a client for accessing the various
query services (currently only SpanQueryService
exists, more to come later).
Pre-built Client
Currently only C# has a pre-built client. It can be pulled in as a NuGet package:
dotnet add package OddDotNet.Client --version 0.0.4
The source code can be found at OddDotCSharp.
The pre-built C# client also includes a builder for easily constructing queries. See any of C# quick starts for instructions.
From Source
If you’re using a language that does not have a pre-built client, the messages and clients can be generated using
the language-specific protobuf compiler. Instructions can be found here.
The .proto
files themselves are located at OddDotProto.
Most languages also have libraries to automatically build
.proto
files and include them in your project, eg. C#/.NET has the Grpc.Tools
and
Grpc.AspNetCore
NuGet packages to build your proto files automatically.
TIP! OddDotNet and OddDotCSharp make extensive use of git submodules
to automatically include
the .proto
files in the project. Check out the source code to see how this is set up.
NOTE: Support for more languages is on the roadmap. The “From Source” approach will work just fine, but it is more convenient to have a pre-built client if possible. Java and Go are the likely next candidates.