Open telemetry 101
unpublished draft
Asp.Net CoreOpen TelemetryJeager
Overiew#
Attention!!!
At the time writing this, most of .Net Instruments are just RC version
Key areas#
- Spans: Uniquely identify a request with a start and end time, that may also have parent.
In .Net world usually using Activity type to represent a Span, which mean the terms are inter-changeable
- Events: Simple text based element that's added to a trace to denote that something happen in some specific point in time (example: a cache missing)
- Attributes: Collection of name-value pairs that we can record as a part of a span (example: Http status code)
In .Net world, they called Tags, cause Attributes refered to something difference already
- Baggages: Collection of name-value pairs, but travel across the process boundaries whereas
Attributes
do not (example: a userId that should travel all the way through the system)
Local dev setup#
Get jeager running on local
docker run -d --name jaeger-dev -p 5775:5775/udp -p 6831:6831/udp -p 6832:6832/udp -p 5778:5778 -p 16686:16686 -p 14268:14268 -p 14250:14250 -p 9411:9411 jaegertracing/all-in-one:1.28
- Config the service to export data to
localhost:6831
. - Run the app a few time to generate traffic.
- Go to
localhost:16686
for UI serving.
Further investigation document#
Deep Dive into Open Telemetry for .NET should be a good start!